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); + } +}