mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 10:57:13 +08:00 
			
		
		
		
	refactor: 文件管理数据库字段调整 (#153)
This commit is contained in:
		| @@ -89,7 +89,7 @@ public class FileRecorderImpl implements FileRecorder { | ||||
|         file.setExtension(fileInfo.getExt()); | ||||
|         file.setType(FileTypeEnum.getByExtension(file.getExtension())); | ||||
|         file.setContentType(fileInfo.getContentType()); | ||||
|         file.setMd5(fileInfo.getHashInfo().getSha256()); | ||||
|         file.setSha256(fileInfo.getHashInfo().getSha256()); | ||||
|         file.setMetadata(JSONUtil.toJsonStr(fileInfo.getMetadata())); | ||||
|         file.setThumbnailUrl(fileInfo.getThUrl()); | ||||
|         file.setThumbnailSize(fileInfo.getThSize()); | ||||
|   | ||||
| @@ -86,9 +86,9 @@ public class FileDO extends BaseDO { | ||||
|     private FileTypeEnum type; | ||||
|  | ||||
|     /** | ||||
|      * MD5 值 | ||||
|      * SHA256值 | ||||
|      */ | ||||
|     private String md5; | ||||
|     private String sha256; | ||||
|  | ||||
|     /** | ||||
|      * 元数据 | ||||
|   | ||||
| @@ -87,10 +87,10 @@ public class FileResp extends BaseDetailResp { | ||||
|     private FileTypeEnum type; | ||||
|  | ||||
|     /** | ||||
|      * MD5 值 | ||||
|      * SHA256 值 | ||||
|      */ | ||||
|     @Schema(description = "MD5值", example = "193572f83684128a0d0f993e97100f8a") | ||||
|     private String md5; | ||||
|     @Schema(description = "SHA256值", example = "722f185c48bed892d6fa12e2b8bf1e5f8200d4a70f522fb62112b6caf13cb74e") | ||||
|     private String sha256; | ||||
|  | ||||
|     /** | ||||
|      * 元数据 | ||||
|   | ||||
| @@ -96,7 +96,17 @@ public interface FileService extends BaseService<FileResp, FileResp, FileQuery, | ||||
|             .getDayOfMonth() + StringConstants.SLASH; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 检查文件是否存在 | ||||
|      * @param fileHash | ||||
|      * @return | ||||
|      */ | ||||
|     FileResp check(String fileHash); | ||||
|  | ||||
|     /** | ||||
|      * 创建目录 | ||||
|      * @param req | ||||
|      * @return | ||||
|      */ | ||||
|     IdResp<Long> createDir(FileReq req); | ||||
| } | ||||
| @@ -91,10 +91,8 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes | ||||
|         } | ||||
|         UploadPretreatment uploadPretreatment = fileStorageService.of(file) | ||||
|             .setPlatform(storage.getCode()) | ||||
|             .setHashCalculatorMd5(true) | ||||
|             .setHashCalculatorSha256(true) | ||||
|             .putAttr(ClassUtil.getClassName(StorageDO.class, false), storage) | ||||
|             //                .setPath(StrUtil.removePrefix(path, StringConstants.SLASH)); | ||||
|             .setPath(path); | ||||
|         // 图片文件生成缩略图 | ||||
|         if (FileTypeEnum.IMAGE.getExtensions().contains(FileNameUtil.extName(file.getOriginalFilename()))) { | ||||
| @@ -143,7 +141,7 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes | ||||
|  | ||||
|     @Override | ||||
|     public FileResp check(String fileHash) { | ||||
|         FileDO file = baseMapper.lambdaQuery().eq(FileDO::getMd5, fileHash).one(); | ||||
|         FileDO file = baseMapper.lambdaQuery().eq(FileDO::getSha256, fileHash).one(); | ||||
|         if (file != null) { | ||||
|             return get(file.getId()); | ||||
|         } | ||||
| @@ -169,7 +167,7 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes | ||||
|         fileDo.setExtension("dir"); | ||||
|         fileDo.setContentType(""); | ||||
|         fileDo.setType(FileTypeEnum.DIR); | ||||
|         fileDo.setMd5(""); | ||||
|         fileDo.setSha256(""); | ||||
|         fileDo.setStorageId(storage.getId()); | ||||
|         baseMapper.insert(fileDo); | ||||
|         return new IdResp<>(fileDo.getId()); | ||||
|   | ||||
| @@ -286,7 +286,7 @@ CREATE TABLE IF NOT EXISTS `sys_file` ( | ||||
|     `extension`          varchar(100)  DEFAULT NULL                COMMENT '扩展名', | ||||
|     `content_type`       varchar(64)   NOT NULL                    COMMENT '内容类型', | ||||
|     `type`               tinyint(1)    UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)', | ||||
|     `md5`                varchar(128)  NOT NULL                    COMMENT 'MD5值', | ||||
|     `sha256`             varchar(256)  NOT NULL                    COMMENT 'SHA256值', | ||||
|     `metadata`           text          DEFAULT NULL                COMMENT '元数据', | ||||
|     `thumbnail_size`     bigint(20)    DEFAULT NULL                COMMENT '缩略图大小(字节)', | ||||
|     `thumbnail_url`      varchar(512)  DEFAULT NULL                COMMENT '缩略图URL', | ||||
| @@ -294,15 +294,14 @@ CREATE TABLE IF NOT EXISTS `sys_file` ( | ||||
|     `storage_id`         bigint(20)    NOT NULL                    COMMENT '存储ID', | ||||
|     `create_user`        bigint(20)    NOT NULL                    COMMENT '创建人', | ||||
|     `create_time`        datetime      NOT NULL                    COMMENT '创建时间', | ||||
|     `update_user`        bigint(20)    NOT NULL                    COMMENT '修改人', | ||||
|     `update_time`        datetime      NOT NULL                    COMMENT '修改时间', | ||||
|     `update_user`        bigint(20)    DEFAULT NULL                    COMMENT '修改人', | ||||
|     `update_time`        datetime      DEFAULT NULL                    COMMENT '修改时间', | ||||
|     PRIMARY KEY (`id`), | ||||
|     INDEX `idx_url`(`url`), | ||||
|     INDEX `idx_md5`(`md5`), | ||||
|     INDEX `idx_sha256`(`sha256`), | ||||
|     INDEX `idx_type`(`type`), | ||||
|     INDEX `idx_storage_id`(`storage_id`), | ||||
|     INDEX `idx_create_user`(`create_user`), | ||||
|     INDEX `idx_update_user`(`update_user`) | ||||
|     INDEX `idx_create_user`(`create_user`) | ||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表'; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `sys_client` ( | ||||
|   | ||||
| @@ -472,7 +472,7 @@ CREATE TABLE IF NOT EXISTS "sys_file" ( | ||||
|     "extension"          varchar(100) DEFAULT NULL, | ||||
|     "content_type"       varchar(64)  NOT NULL, | ||||
|     "type"               int2         NOT NULL DEFAULT 1, | ||||
|     "md5"       		 varchar(128) NOT NULL, | ||||
|     "sha256"       		 varchar(256) NOT NULL, | ||||
|     "metadata"           text         DEFAULT NULL, | ||||
|     "thumbnail_size"     int8         DEFAULT NULL, | ||||
|     "thumbnail_url"      varchar(512) DEFAULT NULL, | ||||
| @@ -480,16 +480,15 @@ CREATE TABLE IF NOT EXISTS "sys_file" ( | ||||
|     "storage_id"         int8         NOT NULL, | ||||
|     "create_user"        int8         NOT NULL, | ||||
|     "create_time"        timestamp    NOT NULL, | ||||
|     "update_user"        int8         NOT NULL, | ||||
|     "update_time"        timestamp    NOT NULL, | ||||
|     "update_user"        int8         DEFAULT NULL, | ||||
|     "update_time"        timestamp    DEFAULT NULL, | ||||
|     PRIMARY KEY ("id") | ||||
| ); | ||||
| CREATE INDEX "idx_file_url" ON "sys_file" ("url"); | ||||
| CREATE INDEX "idx_file_type" ON "sys_file" ("type"); | ||||
| CREATE INDEX "idx_file_md5" ON "sys_file" ("md5"); | ||||
| CREATE INDEX "idx_file_sha256" ON "sys_file" ("sha256"); | ||||
| CREATE INDEX "idx_file_storage_id" ON "sys_file" ("storage_id"); | ||||
| CREATE INDEX "idx_file_create_user" ON "sys_file" ("create_user"); | ||||
| CREATE INDEX "idx_file_update_user" ON "sys_file" ("update_user"); | ||||
| COMMENT ON COLUMN "sys_file"."id"                 IS 'ID'; | ||||
| COMMENT ON COLUMN "sys_file"."name"               IS '名称'; | ||||
| COMMENT ON COLUMN "sys_file"."size"               IS '大小(字节)'; | ||||
| @@ -499,7 +498,7 @@ COMMENT ON COLUMN "sys_file"."abs_path"           IS '绝对路径'; | ||||
| COMMENT ON COLUMN "sys_file"."extension"          IS '扩展名'; | ||||
| COMMENT ON COLUMN "sys_file"."content_type"       IS '内容类型'; | ||||
| COMMENT ON COLUMN "sys_file"."type"               IS '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)'; | ||||
| COMMENT ON COLUMN "sys_file"."md5"                IS 'MD5值'; | ||||
| COMMENT ON COLUMN "sys_file"."sha256"             IS 'SHA256值'; | ||||
| COMMENT ON COLUMN "sys_file"."metadata"           IS '元数据'; | ||||
| COMMENT ON COLUMN "sys_file"."thumbnail_size"     IS '缩略图大小(字节)'; | ||||
| COMMENT ON COLUMN "sys_file"."thumbnail_url"      IS '缩略图URL'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 luoqiz
					luoqiz