From 288b934149a3fe00e91cac76390ab79426349cb9 Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Fri, 20 Sep 2024 19:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现文件管理的新功能,允许通过用户ID查询相关文件。在系统模块中,创建了FileController来处理文件查询请求,并且定义了FileService接口及其实现FileServiceImpl来具体执行文件相关操作。同时,引入了FileRespVO来作为文件响应的VO类。 - 新增FileController类,提供文件查询的REST API。 - 定义FileRespVO类,用作文件信息的响应对象。- 在FileService接口中定义getFileList方法,用于获取文件列表。- 实现FileServiceImpl类,使用LaborContractMapper进行文件数据的检索。 --- .../controller/admin/file/FileController.java | 48 +++++++++++++++++++ .../controller/admin/file/vo/FileRespVO.java | 21 ++++++++ .../system/service/file/FileService.java | 14 ++++++ .../system/service/file/FileServiceImpl.java | 28 +++++++++++ 4 files changed, 111 insertions(+) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/FileController.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/vo/FileRespVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileService.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileServiceImpl.java diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/FileController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/FileController.java new file mode 100644 index 00000000..1642d223 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/FileController.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.system.controller.admin.file; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.controller.admin.file.vo.FileRespVO; +import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; +import cn.iocoder.yudao.module.system.service.file.FileService; +import cn.iocoder.yudao.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 文件管理") +@RestController +@RequestMapping("/system/file") +@Validated +public class FileController { + + @Resource + private FileService fileService; + + @Resource + private AdminUserService userService; + + @GetMapping("/getFileByUserId") + @Operation(summary = "获得指定用户的文件") + @Parameter(name = "userId", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:labor-contract:query')") + public CommonResult> getFileList(@RequestParam("userId") Long userId) { + + AdminUserDO userDO = userService.getUser(userId); + List fileRespVOS = fileService.getFileList(userDO.getMobile()); + fileRespVOS = fileRespVOS.stream().filter(item -> item.getFileType().contains("pdf") || item.getFileType().contains("doc")).collect(Collectors.toList()); + + return success(fileRespVOS); + } +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/vo/FileRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/vo/FileRespVO.java new file mode 100644 index 00000000..1ed92cfe --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/file/vo/FileRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.system.controller.admin.file.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 文件管理 Response VO") +@Data +public class FileRespVO { + + @Schema(description = "文件编号") + private String fileId; + + @Schema(description = "文件 URL") + private String url; + + @Schema(description = "文件名") + private String fileName; + + @Schema(description = "文件类型") + private String fileType; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileService.java new file mode 100644 index 00000000..a87b5b55 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileService.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.system.service.file; + +import cn.iocoder.yudao.module.system.controller.admin.file.vo.FileRespVO; + +import java.util.List; + +/** + * 文件管理 Service 接口 + * + * @author 符溶馨 + */ +public interface FileService { + List getFileList(String mobile); +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileServiceImpl.java new file mode 100644 index 00000000..ab36584b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/file/FileServiceImpl.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.system.service.file; + +import cn.iocoder.yudao.module.system.controller.admin.file.vo.FileRespVO; +import cn.iocoder.yudao.module.system.dal.mysql.laborcontract.LaborContractMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 文件管理 Service 实现类 + * + * @author 符溶馨 + */ +@Service +@Validated +public class FileServiceImpl implements FileService { + + @Resource + private LaborContractMapper laborContractMapper; + + @Override + public List getFileList(String mobile) { + + return laborContractMapper.selectFileByUserId(mobile); + } +}