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