diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java index ffb3610b..ee75dc03 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java @@ -6,15 +6,18 @@ import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.servlet.ServletUtils; import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.file.vo.file.FileListReqVO; import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.controller.file.vo.file.FileRespVO; import com.win.module.infra.controller.file.vo.file.FileUploadReqVO; import com.win.module.infra.convert.file.FileConvert; import com.win.module.infra.dal.dataobject.file.FileDO; import com.win.module.infra.service.file.FileService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.api.user.dto.AdminUserRespDTO; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.security.access.prepost.PreAuthorize; @@ -27,6 +30,7 @@ import javax.annotation.security.PermitAll; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import static com.win.framework.common.pojo.CommonResult.success; @@ -40,6 +44,9 @@ public class FileController { @Resource private FileService fileService; + @Resource + private AdminUserApi adminUserApi; + @PostMapping("/upload") @Operation(summary = "上传文件") @OperateLog(logArgs = false) // 上传文件,没有记录操作日志的必要 @@ -89,4 +96,20 @@ public class FileController { return success(FileConvert.INSTANCE.convertPage(pageResult)); } + @GetMapping("/list") + @Operation(summary = "获得文件分页") + @PreAuthorize("@ss.hasPermission('infra:file:query')") + public CommonResult> getFilePage(@Valid FileListReqVO listVO) { + List listResult = fileService.getFileList(listVO); + List fileRespVOList = FileConvert.INSTANCE.convertList(listResult); + for(FileRespVO fileRespVO : fileRespVOList) { + AdminUserRespDTO user = adminUserApi.getUser(Long.parseLong(fileRespVO.getCreator())); + if(user != null) { + fileRespVO.setNickname(user.getNickname()); + fileRespVO.setAvatar(user.getAvatar()); + } + } + return success(fileRespVOList); + } + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileListReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileListReqVO.java new file mode 100644 index 00000000..644c8fc0 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileListReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.infra.controller.file.vo.file; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 文件分页 Request VO") +@Data +@ToString(callSuper = true) +public class FileListReqVO { + + @Schema(description = "表名", example = "infraTrends") + private String tableName; + + @Schema(description = "表数据id", example = "9210") + private Long tableId; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java index 5cdcb33e..c8085ccb 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java @@ -39,4 +39,13 @@ public class FileRespVO { @Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED) private Long tableId; + @Schema(description = "用户id") + private String creator; + + @Schema(description = "用户昵称") + private String nickname; + + @Schema(description = "用户头像") + private String avatar; + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java index f762510f..157da2b3 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java @@ -6,6 +6,8 @@ import com.win.module.infra.dal.dataobject.file.FileDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; +import java.util.List; + @Mapper public interface FileConvert { @@ -15,4 +17,6 @@ public interface FileConvert { PageResult convertPage(PageResult page); + List convertList(List list); + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java index bbeafbe3..92b9c374 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java @@ -3,10 +3,13 @@ package com.win.module.infra.dal.mysql.file; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.win.module.infra.controller.file.vo.file.FileListReqVO; import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.dal.dataobject.file.FileDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 文件操作 Mapper * @@ -23,4 +26,11 @@ public interface FileMapper extends BaseMapperX { .orderByDesc(FileDO::getId)); } + default List selectList(FileListReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(FileDO::getTableName, reqVO.getTableName()) + .eqIfPresent(FileDO::getTableId, reqVO.getTableId()) + .orderByDesc(FileDO::getId)); + } + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java index 40e46105..1340c09c 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java @@ -1,9 +1,12 @@ package com.win.module.infra.service.file; -import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.framework.common.pojo.PageResult; +import com.win.module.infra.controller.file.vo.file.FileListReqVO; +import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.dal.dataobject.file.FileDO; +import java.util.List; + /** * 文件 Service 接口 * @@ -19,6 +22,12 @@ public interface FileService { */ PageResult getFilePage(FilePageReqVO pageReqVO); + /** + * 列表查询 + * @param listReqVO + * @return + */ + List getFileList(FileListReqVO listReqVO); /** * 保存文件,并返回文件的访问路径 * diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java index 798b1e90..7a6f4673 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java @@ -6,6 +6,7 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.io.FileUtils; import com.win.framework.file.core.client.FileClient; import com.win.framework.file.core.utils.FileTypeUtils; +import com.win.module.infra.controller.file.vo.file.FileListReqVO; import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.dal.dataobject.file.FileDO; import com.win.module.infra.dal.dataobject.trends.TrendsDO; @@ -16,6 +17,7 @@ import lombok.SneakyThrows; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.infra.enums.ErrorCodeConstants.FILE_NOT_EXISTS; @@ -42,6 +44,11 @@ public class FileServiceImpl implements FileService { return fileMapper.selectPage(pageReqVO); } + @Override + public List getFileList(FileListReqVO listReqVO) { + return fileMapper.selectList(listReqVO); + } + @Override @SneakyThrows public String createFile(String name, String path, byte[] content, String tableName, Long tableId) { @@ -76,7 +83,7 @@ public class FileServiceImpl implements FileService { trendsDO.setTableName(tableName); trendsDO.setTableId(tableId); trendsDO.setType(TrendsTypeEnum.UPLOAD_ANNEX.getType()); - trendsDO.setContent("上传了附件"); + trendsDO.setContent(name); trendsMapper.insert(trendsDO); return url; } @@ -95,7 +102,7 @@ public class FileServiceImpl implements FileService { trendsDO.setTableName(file.getTableName()); trendsDO.setTableId(file.getTableId()); trendsDO.setType(TrendsTypeEnum.DELETE_ANNEX.getType()); - trendsDO.setContent("删除了附件"); + trendsDO.setContent(file.getName()); trendsMapper.insert(trendsDO); // 删除记录 fileMapper.deleteById(id); diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java index df144ead..b3ac0dac 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java @@ -29,7 +29,6 @@ public class TrendsServiceImpl implements TrendsService { @Override public void createTrends(TrendsCreateReqDTO createReqDTO) { TrendsDO trends = TrendsConvert.INSTANCE.convert(createReqDTO); - trends.setCreator(createReqDTO.getCreator()); trendsMapper.insert(trends); }