diff --git a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/request/SysFileInfoRequest.java b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/request/SysFileInfoRequest.java index 9dd187654..a0c1d0a8e 100644 --- a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/request/SysFileInfoRequest.java +++ b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/request/SysFileInfoRequest.java @@ -21,21 +21,26 @@ public class SysFileInfoRequest extends BaseRequest { /** * 主键id */ - @NotNull(message = "id不能为空,请检查id参数", groups = {delete.class, detail.class}) - private Long id; + @NotNull(message = "fileId不能为空", groups = {delete.class, detail.class}) + private Long fileId; /** - * 文件存储位置(1:阿里云,2:腾讯云,3:minio,4:本地) + * 文件编码,解决一个文件多个版本问题,多次上传文件编码不变 + */ + private Long fileCode; + + /** + * 文件存储位置:1-阿里云,2-腾讯云,3-minio,4-本地 */ private Integer fileLocation; /** - * 文件仓库 + * 文件仓库(文件夹) */ private String fileBucket; /** - * 文件名称(上传时候的文件名) + * 文件名称(上传时候的文件全名) */ private String fileOriginName; @@ -50,7 +55,7 @@ public class SysFileInfoRequest extends BaseRequest { private Long fileSizeKb; /** - * 存储到bucket的名称(文件唯一标识id) + * 存储到bucket中的名称,主键id+.后缀 */ private String fileObjectName; diff --git a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/response/SysFileInfoResponse.java b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/response/SysFileInfoResponse.java index caac913d1..8ab128e8a 100644 --- a/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/response/SysFileInfoResponse.java +++ b/kernel-d-file/file-api/src/main/java/cn/stylefeng/roses/kernel/file/pojo/response/SysFileInfoResponse.java @@ -14,10 +14,15 @@ public class SysFileInfoResponse { /** * 主键id */ - private Long id; + private Long fileId; /** - * 文件存储位置(1:阿里云,2:腾讯云,3:minio,4:本地) + * 文件编码,解决一个文件多个版本问题,多次上传文件编码不变 + */ + private Long fileCode; + + /** + * 文件存储位置:1-阿里云,2-腾讯云,3-minio,4-本地 */ private Integer fileLocation; @@ -32,7 +37,7 @@ public class SysFileInfoResponse { private String fileOriginName; /** - * 文件后缀 + * 文件后缀,例如.txt */ private String fileSuffix; @@ -42,7 +47,7 @@ public class SysFileInfoResponse { private Long fileSizeKb; /** - * 存储到bucket的名称(文件唯一标识id) + * 存储到bucket中的名称,主键id+.后缀 */ private String fileObjectName; diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java index 856fb007a..2f91ea4a6 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java @@ -2,14 +2,14 @@ package cn.stylefeng.roses.kernel.file.modular.controller; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.stylefeng.roses.kernel.file.pojo.request.SysFileInfoRequest; -import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.file.exception.FileException; import cn.stylefeng.roses.kernel.file.exception.enums.FileExceptionEnum; import cn.stylefeng.roses.kernel.file.modular.service.SysFileInfoService; +import cn.stylefeng.roses.kernel.file.pojo.request.SysFileInfoRequest; import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import org.springframework.validation.annotation.Validated; @@ -89,7 +89,7 @@ public class SysFileInfoController { } // 文件id不为空,则根据文件id预览 - if (ObjectUtil.isNotEmpty(sysFileInfoRequest.getId())) { + if (ObjectUtil.isNotEmpty(sysFileInfoRequest.getFileId())) { sysFileInfoService.previewByFileId(sysFileInfoRequest, response); } diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java index 0936fdd8a..b5f5ff48a 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java @@ -1,10 +1,10 @@ package cn.stylefeng.roses.kernel.file.modular.entity; +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,47 +24,47 @@ public class SysFileInfo extends BaseEntity { /** * 主键id */ - @TableId(type = IdType.ASSIGN_ID) - private Long id; + @TableId(value = "file_id", type = IdType.ASSIGN_ID) + private Long fileId; /** - * 文件存储位置(1:阿里云,2:腾讯云,3:minio,4:本地) + * 文件编码,解决一个文件多个版本问题,多次上传文件编码不变 + */ + @TableField(value = "file_code") + private Long fileCode; + + /** + * 文件存储位置:1-阿里云,2-腾讯云,3-minio,4-本地 */ @TableField("file_location") private Integer fileLocation; /** - * 文件仓库 + * 文件仓库(文件夹) */ @TableField("file_bucket") private String fileBucket; /** - * 文件名称(上传时候的文件名) + * 文件名称(上传时候的文件全名) */ @TableField("file_origin_name") private String fileOriginName; /** - * 文件后缀 + * 文件后缀,例如.txt */ @TableField("file_suffix") private String fileSuffix; /** - * 文件大小kb + * 文件大小kb为单位 */ @TableField("file_size_kb") private Long fileSizeKb; /** - * 文件大小信息,计算后的 - */ - @TableField("file_size_info") - private String fileSizeInfo; - - /** - * 存储到bucket的名称(文件唯一标识id) + * 存储到bucket中的名称,主键id+.后缀 */ @TableField("file_object_name") private String fileObjectName; @@ -75,4 +75,10 @@ public class SysFileInfo extends BaseEntity { @TableField("file_path") private String filePath; + /** + * 是否删除:Y-被删除,N-未删除 + */ + @TableField("del_flag") + private String delFlag; + } diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java index ac542e637..8e455611e 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java @@ -2,7 +2,6 @@ package cn.stylefeng.roses.kernel.file.modular.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; @@ -22,7 +21,9 @@ import cn.stylefeng.roses.kernel.file.pojo.request.SysFileInfoRequest; import cn.stylefeng.roses.kernel.file.pojo.response.SysFileInfoResponse; import cn.stylefeng.roses.kernel.file.util.DownloadUtil; import cn.stylefeng.roses.kernel.file.util.PicFileTypeUtil; +import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -87,19 +88,15 @@ public class SysFileInfoServiceImpl extends ServiceImpl lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.set(SysFileInfo::getDelFlag, YesOrNotEnum.Y.getCode()); + lambdaUpdateWrapper.eq(SysFileInfo::getFileId, sysFileInfoRequest.getFileId()); + this.update(lambdaUpdateWrapper); } @Override @@ -134,7 +127,7 @@ public class SysFileInfoServiceImpl extends ServiceImpl list(SysFileInfoRequest sysFileInfoRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysFileInfo::getDelFlag, YesOrNotEnum.N.getCode()); return this.list(queryWrapper); } @@ -197,7 +191,7 @@ public class SysFileInfoServiceImpl extends ServiceImpl