mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-10 20:57:14 +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