Skip to content

Commit 7817f45

Browse files
committed
refactor: 文件管理数据库字段调整
1 parent 9b79990 commit 7817f45

File tree

7 files changed

+28
-22
lines changed

7 files changed

+28
-22
lines changed

continew-module-system/src/main/java/top/continew/admin/system/config/file/FileRecorderImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public boolean save(FileInfo fileInfo) {
8989
file.setExtension(fileInfo.getExt());
9090
file.setType(FileTypeEnum.getByExtension(file.getExtension()));
9191
file.setContentType(fileInfo.getContentType());
92-
file.setMd5(fileInfo.getHashInfo().getSha256());
92+
file.setSha256(fileInfo.getHashInfo().getSha256());
9393
file.setMetadata(JSONUtil.toJsonStr(fileInfo.getMetadata()));
9494
file.setThumbnailUrl(fileInfo.getThUrl());
9595
file.setThumbnailSize(fileInfo.getThSize());

continew-module-system/src/main/java/top/continew/admin/system/model/entity/FileDO.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ public class FileDO extends BaseDO {
8686
private FileTypeEnum type;
8787

8888
/**
89-
* MD5 值
89+
* SHA256值
9090
*/
91-
private String md5;
91+
private String sha256;
9292

9393
/**
9494
* 元数据

continew-module-system/src/main/java/top/continew/admin/system/model/resp/file/FileResp.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ public class FileResp extends BaseDetailResp {
8787
private FileTypeEnum type;
8888

8989
/**
90-
* MD5
90+
* SHA256
9191
*/
92-
@Schema(description = "MD5值", example = "193572f83684128a0d0f993e97100f8a")
93-
private String md5;
92+
@Schema(description = "SHA256值", example = "722f185c48bed892d6fa12e2b8bf1e5f8200d4a70f522fb62112b6caf13cb74e")
93+
private String sha256;
9494

9595
/**
9696
* 元数据

continew-module-system/src/main/java/top/continew/admin/system/service/FileService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,17 @@ default String getDefaultFilePath() {
9696
.getDayOfMonth() + StringConstants.SLASH;
9797
}
9898

99+
/**
100+
* 检查文件是否存在
101+
* @param fileHash
102+
* @return
103+
*/
99104
FileResp check(String fileHash);
100105

106+
/**
107+
* 创建目录
108+
* @param req
109+
* @return
110+
*/
101111
IdResp<Long> createDir(FileReq req);
102112
}

continew-module-system/src/main/java/top/continew/admin/system/service/impl/FileServiceImpl.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,8 @@ public FileInfo upload(MultipartFile file, String path, String storageCode) {
9191
}
9292
UploadPretreatment uploadPretreatment = fileStorageService.of(file)
9393
.setPlatform(storage.getCode())
94-
.setHashCalculatorMd5(true)
9594
.setHashCalculatorSha256(true)
9695
.putAttr(ClassUtil.getClassName(StorageDO.class, false), storage)
97-
// .setPath(StrUtil.removePrefix(path, StringConstants.SLASH));
9896
.setPath(path);
9997
// 图片文件生成缩略图
10098
if (FileTypeEnum.IMAGE.getExtensions().contains(FileNameUtil.extName(file.getOriginalFilename()))) {
@@ -143,7 +141,7 @@ public FileStatisticsResp statistics() {
143141

144142
@Override
145143
public FileResp check(String fileHash) {
146-
FileDO file = baseMapper.lambdaQuery().eq(FileDO::getMd5, fileHash).one();
144+
FileDO file = baseMapper.lambdaQuery().eq(FileDO::getSha256, fileHash).one();
147145
if (file != null) {
148146
return get(file.getId());
149147
}
@@ -169,7 +167,7 @@ public IdResp<Long> createDir(FileReq req) {
169167
fileDo.setExtension("dir");
170168
fileDo.setContentType("");
171169
fileDo.setType(FileTypeEnum.DIR);
172-
fileDo.setMd5("");
170+
fileDo.setSha256("");
173171
fileDo.setStorageId(storage.getId());
174172
baseMapper.insert(fileDo);
175173
return new IdResp<>(fileDo.getId());

continew-webapi/src/main/resources/db/changelog/mysql/main_table.sql

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,23 +286,22 @@ CREATE TABLE IF NOT EXISTS `sys_file` (
286286
`extension` varchar(100) DEFAULT NULL COMMENT '扩展名',
287287
`content_type` varchar(64) NOT NULL COMMENT '内容类型',
288288
`type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)',
289-
`md5` varchar(128) NOT NULL COMMENT 'MD5值',
289+
`sha256` varchar(256) NOT NULL COMMENT 'SHA256值',
290290
`metadata` text DEFAULT NULL COMMENT '元数据',
291291
`thumbnail_size` bigint(20) DEFAULT NULL COMMENT '缩略图大小(字节)',
292292
`thumbnail_url` varchar(512) DEFAULT NULL COMMENT '缩略图URL',
293293
`thumbnail_metadata` text DEFAULT NULL COMMENT '缩略图元数据',
294294
`storage_id` bigint(20) NOT NULL COMMENT '存储ID',
295295
`create_user` bigint(20) NOT NULL COMMENT '创建人',
296296
`create_time` datetime NOT NULL COMMENT '创建时间',
297-
`update_user` bigint(20) NOT NULL COMMENT '修改人',
298-
`update_time` datetime NOT NULL COMMENT '修改时间',
297+
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
298+
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
299299
PRIMARY KEY (`id`),
300300
INDEX `idx_url`(`url`),
301-
INDEX `idx_md5`(`md5`),
301+
INDEX `idx_sha256`(`sha256`),
302302
INDEX `idx_type`(`type`),
303303
INDEX `idx_storage_id`(`storage_id`),
304-
INDEX `idx_create_user`(`create_user`),
305-
INDEX `idx_update_user`(`update_user`)
304+
INDEX `idx_create_user`(`create_user`)
306305
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表';
307306

308307
CREATE TABLE IF NOT EXISTS `sys_client` (

continew-webapi/src/main/resources/db/changelog/postgresql/main_table.sql

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -472,24 +472,23 @@ CREATE TABLE IF NOT EXISTS "sys_file" (
472472
"extension" varchar(100) DEFAULT NULL,
473473
"content_type" varchar(64) NOT NULL,
474474
"type" int2 NOT NULL DEFAULT 1,
475-
"md5" varchar(128) NOT NULL,
475+
"sha256" varchar(256) NOT NULL,
476476
"metadata" text DEFAULT NULL,
477477
"thumbnail_size" int8 DEFAULT NULL,
478478
"thumbnail_url" varchar(512) DEFAULT NULL,
479479
"thumbnail_metadata" text DEFAULT NULL,
480480
"storage_id" int8 NOT NULL,
481481
"create_user" int8 NOT NULL,
482482
"create_time" timestamp NOT NULL,
483-
"update_user" int8 NOT NULL,
484-
"update_time" timestamp NOT NULL,
483+
"update_user" int8 DEFAULT NULL,
484+
"update_time" timestamp DEFAULT NULL,
485485
PRIMARY KEY ("id")
486486
);
487487
CREATE INDEX "idx_file_url" ON "sys_file" ("url");
488488
CREATE INDEX "idx_file_type" ON "sys_file" ("type");
489-
CREATE INDEX "idx_file_md5" ON "sys_file" ("md5");
489+
CREATE INDEX "idx_file_sha256" ON "sys_file" ("sha256");
490490
CREATE INDEX "idx_file_storage_id" ON "sys_file" ("storage_id");
491491
CREATE INDEX "idx_file_create_user" ON "sys_file" ("create_user");
492-
CREATE INDEX "idx_file_update_user" ON "sys_file" ("update_user");
493492
COMMENT ON COLUMN "sys_file"."id" IS 'ID';
494493
COMMENT ON COLUMN "sys_file"."name" IS '名称';
495494
COMMENT ON COLUMN "sys_file"."size" IS '大小(字节)';
@@ -499,7 +498,7 @@ COMMENT ON COLUMN "sys_file"."abs_path" IS '绝对路径';
499498
COMMENT ON COLUMN "sys_file"."extension" IS '扩展名';
500499
COMMENT ON COLUMN "sys_file"."content_type" IS '内容类型';
501500
COMMENT ON COLUMN "sys_file"."type" IS '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)';
502-
COMMENT ON COLUMN "sys_file"."md5" IS 'MD5值';
501+
COMMENT ON COLUMN "sys_file"."sha256" IS 'SHA256值';
503502
COMMENT ON COLUMN "sys_file"."metadata" IS '元数据';
504503
COMMENT ON COLUMN "sys_file"."thumbnail_size" IS '缩略图大小(字节)';
505504
COMMENT ON COLUMN "sys_file"."thumbnail_url" IS '缩略图URL';

0 commit comments

Comments
 (0)