diff --git a/win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/file/FileApi.java b/win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/file/FileApi.java index 6c15c21f..d6c78ef1 100644 --- a/win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/file/FileApi.java +++ b/win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/file/FileApi.java @@ -11,10 +11,12 @@ public interface FileApi { * 保存文件,并返回文件的访问路径 * * @param content 文件内容 + * @param tableName 表名 + * @param tableId 表数据id * @return 文件路径 */ - default String createFile(byte[] content) { - return createFile(null, null, content); + default String createFile(byte[] content, String tableName, Long tableId) { + return createFile(null, null, content, tableName, tableId); } /** @@ -22,10 +24,12 @@ public interface FileApi { * * @param path 文件路径 * @param content 文件内容 + * @param tableName 表名 + * @param tableId 表数据id * @return 文件路径 */ - default String createFile(String path, byte[] content) { - return createFile(null, path, content); + default String createFile(String path, byte[] content, String tableName, Long tableId) { + return createFile(null, path, content, tableName, tableId); } /** @@ -34,8 +38,10 @@ public interface FileApi { * @param name 文件名称 * @param path 文件路径 * @param content 文件内容 + * @param tableName 表名 + * @param tableId 表数据id * @return 文件路径 */ - String createFile(String name, String path, byte[] content); + String createFile(String name, String path, byte[] content, String tableName, Long tableId); } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/file/FileApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/file/FileApiImpl.java index dcc2ae97..3c9c63e2 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/file/FileApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/file/FileApiImpl.java @@ -19,8 +19,8 @@ public class FileApiImpl implements FileApi { private FileService fileService; @Override - public String createFile(String name, String path, byte[] content) { - return fileService.createFile(name, path, content); + public String createFile(String name, String path, byte[] content, String tableName, Long tableId) { + return fileService.createFile(name, path, content, tableName, tableId); } } 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 d880a445..ffb3610b 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 @@ -46,7 +46,7 @@ public class FileController { public CommonResult uploadFile(FileUploadReqVO uploadReqVO) throws Exception { MultipartFile file = uploadReqVO.getFile(); String path = uploadReqVO.getPath(); - return success(fileService.createFile(file.getOriginalFilename(), path, IoUtil.readBytes(file.getInputStream()))); + return success(fileService.createFile(file.getOriginalFilename(), path, IoUtil.readBytes(file.getInputStream()), uploadReqVO.getTableName(), uploadReqVO.getTableId())); } @DeleteMapping("/delete") diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java index 3c5aa4ee..ecde578c 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java @@ -27,4 +27,10 @@ public class FilePageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + @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 440b0477..5cdcb33e 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 @@ -33,4 +33,10 @@ public class FileRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; + @Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED) + private String tableName; + + @Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long tableId; + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java index 08d736e4..312b60f6 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java @@ -17,4 +17,12 @@ public class FileUploadReqVO { @Schema(description = "文件附件", example = "winyuanma.png") private String path; + @Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表名不能为空") + private String tableName; + + @Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表数据id不能为空") + private Long tableId; + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/file/FileDO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/file/FileDO.java index 83034a01..76f3cd3e 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/file/FileDO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/file/FileDO.java @@ -51,5 +51,12 @@ public class FileDO extends BaseDO { * 文件大小 */ private Integer size; - + /** + * 表名 + */ + private String tableName; + /** + * 表数据id + */ + private Long tableId; } 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 f6cddc5f..40e46105 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 @@ -25,9 +25,11 @@ public interface FileService { * @param name 文件名称 * @param path 文件路径 * @param content 文件内容 + * @param tableName 表名 + * @param tableId 表数据id * @return 文件路径 */ - String createFile(String name, String path, byte[] content); + String createFile(String name, String path, byte[] content, String tableName, Long tableId); /** * 删除文件 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 0d96113a..c469d1b7 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 @@ -38,7 +38,7 @@ public class FileServiceImpl implements FileService { @Override @SneakyThrows - public String createFile(String name, String path, byte[] content) { + public String createFile(String name, String path, byte[] content, String tableName, Long tableId) { // 计算默认的 path 名 String type = FileTypeUtils.getMineType(content, name); if (StrUtil.isEmpty(path)) { @@ -62,6 +62,8 @@ public class FileServiceImpl implements FileService { file.setUrl(url); file.setType(type); file.setSize(content.length); + file.setTableName(tableName); + file.setTableId(tableId); fileMapper.insert(file); return url; } diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java index f36e2e1c..0acd7f2d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java @@ -160,7 +160,7 @@ public class AdminUserServiceImpl implements AdminUserService { public String updateUserAvatar(Long id, InputStream avatarFile) throws Exception { validateUserExists(id); // 存储文件 - String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile)); + String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile), "systemUsers", id); // 更新路径 AdminUserDO sysUserDO = new AdminUserDO(); sysUserDO.setId(id);