refactor(system/file): 重构文件管理相关代码,完善文件夹场景

This commit is contained in:
2025-05-15 23:25:35 +08:00
parent bc057da265
commit 37027c774b
15 changed files with 222 additions and 157 deletions

View File

@@ -61,9 +61,8 @@ public class FileController extends BaseController<FileService, FileResp, FileRe
}
@Operation(summary = "创建文件夹", description = "创建文件夹")
@ResponseBody
@PostMapping("/createDir")
@PostMapping("/dir")
public IdResp<Long> createDir(@RequestBody FileReq req) {
return baseService.createDir(req);
return new IdResp<>(baseService.createDir(req));
}
}

View File

@@ -273,8 +273,8 @@ INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (547888897925840927, 5
INSERT INTO `sys_storage`
(`id`, `name`, `code`, `type`, `access_key`, `secret_key`, `endpoint`, `bucket_name`, `domain`, `description`, `is_default`, `sort`, `status`, `create_user`, `create_time`)
VALUES
(1, '开发环境', 'local_dev', 1, NULL, NULL, NULL, 'C:/continew-admin/data/file/', 'http://localhost:8000/file', '本地存储', b'1', 1, 1, 1, NOW()),
(2, '生产环境', 'local_prod', 1, NULL, NULL, NULL, '../data/file/', 'http://api.continew.top/file', '本地存储', b'0', 2, 2, 1, NOW());
(1, '开发环境', 'local_dev', 1, NULL, NULL, NULL, 'C:/continew-admin/data/file/', 'http://localhost:8000/file/', '本地存储', b'1', 1, 1, 1, NOW()),
(2, '生产环境', 'local_prod', 1, NULL, NULL, NULL, '../data/file/', 'http://api.continew.top/file/', '本地存储', b'0', 2, 2, 1, NOW());
-- 初始化客户端数据
INSERT INTO `sys_client`

View File

@@ -260,8 +260,8 @@ CREATE TABLE IF NOT EXISTS `sys_storage` (
`access_key` varchar(255) DEFAULT NULL COMMENT 'Access Key',
`secret_key` varchar(255) DEFAULT NULL COMMENT 'Secret Key',
`endpoint` varchar(255) DEFAULT NULL COMMENT 'Endpoint',
`bucket_name` varchar(255) DEFAULT NULL COMMENT 'Bucket',
`domain` varchar(255) NOT NULL DEFAULT '' COMMENT '域名',
`bucket_name` varchar(255) NOT NULL COMMENT 'Bucket',
`domain` varchar(255) DEFAULT NULL COMMENT '域名',
`description` varchar(200) DEFAULT NULL COMMENT '描述',
`is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认存储',
`sort` int NOT NULL DEFAULT 999 COMMENT '排序',
@@ -279,17 +279,16 @@ CREATE TABLE IF NOT EXISTS `sys_storage` (
CREATE TABLE IF NOT EXISTS `sys_file` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) NOT NULL COMMENT '名称',
`original_name` varchar(255) NOT NULL COMMENT '原始名称',
`size` bigint(20) NOT NULL COMMENT '大小(字节)',
`url` varchar(512) NOT NULL COMMENT 'URL',
`parent_path` varchar(512) DEFAULT '/' COMMENT '上级目录',
`abs_path` varchar(1024) NOT NULL COMMENT '绝对路径',
`extension` varchar(100) DEFAULT NULL COMMENT '扩展名',
`content_type` varchar(255) NOT NULL COMMENT '内容类型',
`path` varchar(512) NOT NULL COMMENT '存储路径',
`extension` varchar(32) DEFAULT NULL COMMENT '扩展名',
`content_type` varchar(255) DEFAULT NULL COMMENT '内容类型',
`type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型0: 目录1其他2图片3文档4视频5音频',
`sha256` varchar(256) NOT NULL COMMENT 'SHA256值',
`sha256` varchar(256) DEFAULT NULL COMMENT 'SHA256值',
`metadata` text DEFAULT NULL COMMENT '元数据',
`thumbnail_name` varchar(255) DEFAULT NULL COMMENT '缩略图名称',
`thumbnail_size` bigint(20) DEFAULT NULL COMMENT '缩略图大小(字节)',
`thumbnail_url` varchar(512) DEFAULT NULL COMMENT '缩略图URL',
`thumbnail_metadata` text DEFAULT NULL COMMENT '缩略图元数据',
`storage_id` bigint(20) NOT NULL COMMENT '存储ID',
`create_user` bigint(20) NOT NULL COMMENT '创建人',
@@ -297,9 +296,8 @@ CREATE TABLE IF NOT EXISTS `sys_file` (
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
INDEX `idx_url`(`url`),
INDEX `idx_sha256`(`sha256`),
INDEX `idx_type`(`type`),
INDEX `idx_sha256`(`sha256`),
INDEX `idx_storage_id`(`storage_id`),
INDEX `idx_create_user`(`create_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表';

View File

@@ -273,8 +273,8 @@ INSERT INTO "sys_role_dept" ("role_id", "dept_id") VALUES (547888897925840927, 5
INSERT INTO "sys_storage"
("id", "name", "code", "type", "access_key", "secret_key", "endpoint", "bucket_name", "domain", "description", "is_default", "sort", "status", "create_user", "create_time")
VALUES
(1, '开发环境', 'local_dev', 1, NULL, NULL, NULL, 'C:/continew-admin/data/file/', 'http://localhost:8000/file', '本地存储', true, 1, 1, 1, NOW()),
(2, '生产环境', 'local_prod', 1, NULL, NULL, NULL, '../data/file/', 'http://api.continew.top/file', '本地存储', false, 2, 2, 1, NOW());
(1, '开发环境', 'local_dev', 1, NULL, NULL, NULL, 'C:/continew-admin/data/file/', 'http://localhost:8000/file/', '本地存储', true, 1, 1, 1, NOW()),
(2, '生产环境', 'local_prod', 1, NULL, NULL, NULL, '../data/file/', 'http://api.continew.top/file/', '本地存储', false, 2, 2, 1, NOW());
-- 初始化客户端数据
INSERT INTO "sys_client"

View File

@@ -428,8 +428,8 @@ CREATE TABLE IF NOT EXISTS "sys_storage" (
"access_key" varchar(255) DEFAULT NULL,
"secret_key" varchar(255) DEFAULT NULL,
"endpoint" varchar(255) DEFAULT NULL,
"bucket_name" varchar(255) DEFAULT NULL,
"domain" varchar(255) NOT NULL DEFAULT '',
"bucket_name" varchar(255) NOT NULL,
"domain" varchar(255) DEFAULT NULL,
"description" varchar(200) DEFAULT NULL,
"is_default" bool NOT NULL DEFAULT false,
"sort" int4 NOT NULL DEFAULT 999,
@@ -465,17 +465,16 @@ COMMENT ON TABLE "sys_storage" IS '存储表';
CREATE TABLE IF NOT EXISTS "sys_file" (
"id" int8 NOT NULL,
"name" varchar(255) NOT NULL,
"original_name" varchar(255) NOT NULL,
"size" int8 NOT NULL,
"url" varchar(512) NOT NULL,
"parent_path" varchar(512) NOT NULL DEFAULT '/',
"abs_path" varchar(512) NOT NULL,
"path" varchar(512) NOT NULL,
"extension" varchar(100) DEFAULT NULL,
"content_type" varchar(255) NOT NULL,
"content_type" varchar(255) DEFAULT NULL,
"type" int2 NOT NULL DEFAULT 1,
"sha256" varchar(256) NOT NULL,
"metadata" text DEFAULT NULL,
"thumbnail_name" varchar(255) DEFAULT NULL,
"thumbnail_size" int8 DEFAULT NULL,
"thumbnail_url" varchar(512) DEFAULT NULL,
"thumbnail_metadata" text DEFAULT NULL,
"storage_id" int8 NOT NULL,
"create_user" int8 NOT NULL,
@@ -484,24 +483,22 @@ CREATE TABLE IF NOT EXISTS "sys_file" (
"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_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");
COMMENT ON COLUMN "sys_file"."id" IS 'ID';
COMMENT ON COLUMN "sys_file"."name" IS '名称';
COMMENT ON COLUMN "sys_file"."original_name" IS '原始名称';
COMMENT ON COLUMN "sys_file"."size" IS '大小(字节)';
COMMENT ON COLUMN "sys_file"."url" IS 'URL';
COMMENT ON COLUMN "sys_file"."parent_path" IS '上级目录';
COMMENT ON COLUMN "sys_file"."abs_path" IS '绝对路径';
COMMENT ON COLUMN "sys_file"."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"."sha256" IS 'SHA256值';
COMMENT ON COLUMN "sys_file"."metadata" IS '元数据';
COMMENT ON COLUMN "sys_file"."thumbnail_name" IS '缩略图名称';
COMMENT ON COLUMN "sys_file"."thumbnail_size" IS '缩略图大小(字节)';
COMMENT ON COLUMN "sys_file"."thumbnail_url" IS '缩略图URL';
COMMENT ON COLUMN "sys_file"."thumbnail_metadata" IS '缩略图元数据';
COMMENT ON COLUMN "sys_file"."storage_id" IS '存储ID';
COMMENT ON COLUMN "sys_file"."create_user" IS '创建人';