Browse Source

上传文件增加tableName和tableId

master
刘忱 2 years ago
parent
commit
0b2d8919d3
  1. 16
      win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/file/FileApi.java
  2. 4
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/file/FileApiImpl.java
  3. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java
  4. 6
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java
  5. 6
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java
  6. 8
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java
  7. 9
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/file/FileDO.java
  8. 4
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java
  9. 4
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java
  10. 2
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java

16
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 content 文件内容
* @param tableName 表名
* @param tableId 表数据id
* @return 文件路径 * @return 文件路径
*/ */
default String createFile(byte[] content) { default String createFile(byte[] content, String tableName, Long tableId) {
return createFile(null, null, content); return createFile(null, null, content, tableName, tableId);
} }
/** /**
@ -22,10 +24,12 @@ public interface FileApi {
* *
* @param path 文件路径 * @param path 文件路径
* @param content 文件内容 * @param content 文件内容
* @param tableName 表名
* @param tableId 表数据id
* @return 文件路径 * @return 文件路径
*/ */
default String createFile(String path, byte[] content) { default String createFile(String path, byte[] content, String tableName, Long tableId) {
return createFile(null, path, content); return createFile(null, path, content, tableName, tableId);
} }
/** /**
@ -34,8 +38,10 @@ public interface FileApi {
* @param name 文件名称 * @param name 文件名称
* @param path 文件路径 * @param path 文件路径
* @param content 文件内容 * @param content 文件内容
* @param tableName 表名
* @param tableId 表数据id
* @return 文件路径 * @return 文件路径
*/ */
String createFile(String name, String path, byte[] content); String createFile(String name, String path, byte[] content, String tableName, Long tableId);
} }

4
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; private FileService fileService;
@Override @Override
public String createFile(String name, String path, byte[] content) { public String createFile(String name, String path, byte[] content, String tableName, Long tableId) {
return fileService.createFile(name, path, content); return fileService.createFile(name, path, content, tableName, tableId);
} }
} }

2
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<String> uploadFile(FileUploadReqVO uploadReqVO) throws Exception { public CommonResult<String> uploadFile(FileUploadReqVO uploadReqVO) throws Exception {
MultipartFile file = uploadReqVO.getFile(); MultipartFile file = uploadReqVO.getFile();
String path = uploadReqVO.getPath(); 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") @DeleteMapping("/delete")

6
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) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
@Schema(description = "表名", example = "infraTrends")
private String tableName;
@Schema(description = "表数据id", example = "9210")
private Long tableId;
} }

6
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) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime; private LocalDateTime createTime;
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED)
private String tableName;
@Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED)
private Long tableId;
} }

8
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") @Schema(description = "文件附件", example = "winyuanma.png")
private String path; 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;
} }

9
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 Integer size;
/**
* 表名
*/
private String tableName;
/**
* 表数据id
*/
private Long tableId;
} }

4
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 name 文件名称
* @param path 文件路径 * @param path 文件路径
* @param content 文件内容 * @param content 文件内容
* @param tableName 表名
* @param tableId 表数据id
* @return 文件路径 * @return 文件路径
*/ */
String createFile(String name, String path, byte[] content); String createFile(String name, String path, byte[] content, String tableName, Long tableId);
/** /**
* 删除文件 * 删除文件

4
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 @Override
@SneakyThrows @SneakyThrows
public String createFile(String name, String path, byte[] content) { public String createFile(String name, String path, byte[] content, String tableName, Long tableId) {
// 计算默认的 path 名 // 计算默认的 path 名
String type = FileTypeUtils.getMineType(content, name); String type = FileTypeUtils.getMineType(content, name);
if (StrUtil.isEmpty(path)) { if (StrUtil.isEmpty(path)) {
@ -62,6 +62,8 @@ public class FileServiceImpl implements FileService {
file.setUrl(url); file.setUrl(url);
file.setType(type); file.setType(type);
file.setSize(content.length); file.setSize(content.length);
file.setTableName(tableName);
file.setTableId(tableId);
fileMapper.insert(file); fileMapper.insert(file);
return url; return url;
} }

2
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 { public String updateUserAvatar(Long id, InputStream avatarFile) throws Exception {
validateUserExists(id); validateUserExists(id);
// 存储文件 // 存储文件
String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile)); String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile), "systemUsers", id);
// 更新路径 // 更新路径
AdminUserDO sysUserDO = new AdminUserDO(); AdminUserDO sysUserDO = new AdminUserDO();
sysUserDO.setId(id); sysUserDO.setId(id);

Loading…
Cancel
Save