فهرست منبع

下载于hash

lyhzzz 3 ماه پیش
والد
کامیت
2f6f7cef05

+ 0 - 53
doc/v1.9.0/fusion-1.9.0.sql

@@ -29,56 +29,3 @@ CREATE TABLE `t_case_path` (
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 
 
-
-
-CREATE TABLE `t_dict` (
-                          `id` int(11) NOT NULL AUTO_INCREMENT,
-                          `dict_name` varchar(255) DEFAULT NULL,
-                          `dict_key` varchar(255) DEFAULT NULL,
-                          `sort` int(11) DEFAULT '1',
-                          `rec_status` varchar(255) DEFAULT 'A',
-                          `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
-                          `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-                          `sys_user_id` varchar(255) DEFAULT NULL,
-                          `parent_id` int(11) DEFAULT NULL,
-                          `use_type` varchar(255) DEFAULT 'ordinary',
-                          PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
-
-
-CREATE TABLE `t_dict_file` (
-                               `id` int(11) NOT NULL AUTO_INCREMENT,
-                               `name` varchar(255) DEFAULT NULL,
-                               `type_key` varchar(255) DEFAULT NULL,
-                               `dict_id` int(11) DEFAULT NULL,
-                               `rec_status` varchar(255) DEFAULT 'A',
-                               `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
-                               `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-                               `sys_user_id` varchar(255) DEFAULT NULL,
-                               `upload_id` int(11) DEFAULT NULL,
-                               `use_type` varchar(255) DEFAULT 'ordinary',
-                               PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
-
-
-
-CREATE TABLE `t_common_upload` (
-                                   `id` int(11) NOT NULL AUTO_INCREMENT,
-                                   `file_name` varchar(255) DEFAULT NULL,
-                                   `file_url` varchar(255) DEFAULT NULL,
-                                   `file_size` varchar(255) DEFAULT NULL,
-                                   `new_file_name` varchar(255) DEFAULT NULL,
-                                   `file_type_str` varchar(255) DEFAULT NULL,
-                                   `file_format` varchar(255) DEFAULT NULL,
-                                   `result_file_format` varchar(255) DEFAULT NULL,
-                                   `rec_status` varchar(255) DEFAULT 'A',
-                                   `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
-                                   `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-                                   `status` int(11) DEFAULT '0',
-                                   `unzip_path` varchar(255) DEFAULT NULL,
-                                   `file_type` int(11) DEFAULT NULL,
-                                   `wgs84` varchar(255) DEFAULT NULL,
-                                   `gcj02` varchar(255) DEFAULT NULL,
-                                   `use_type` varchar(255) DEFAULT 'ordinary',
-                                   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;

+ 5 - 0
doc/v1.9.0/fusion-media-1.9.0.sql

@@ -108,3 +108,8 @@ INSERT INTO `t_dict_file` VALUES (7, 'Machinegun', 'media-library', 1, 'A', '202
 INSERT INTO `t_dict_file` VALUES (8, 'Baseballbat', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:51', 1, 8, 'animation');
 
 SET FOREIGN_KEY_CHECKS = 1;
+
+
+ALTER TABLE `fd_fusion`.`t_dict_file`
+    ADD COLUMN `hash_url` varchar(255) NULL AFTER `use_type`,
+    ADD COLUMN `down_url` varchar(255) NULL AFTER `hash_url`;

+ 18 - 5
src/main/java/com/fdkankan/fusion/controller/DictFileController.java

@@ -79,6 +79,9 @@ public class DictFileController extends BaseController{
         if(dictFile == null){
             throw new BusinessException(ResultCode.FILE_NOT_EXIST);
         }
+        if(StringUtils.isNotBlank(dictFile.getDownUrl())){
+            return ResultData.ok(dictFile.getDownUrl());
+        }
         CommonUpload commonUpload = commonUploadService.getById(dictFile.getUploadId());
         if(commonUpload == null){
             throw new BusinessException(ResultCode.FILE_NOT_EXIST);
@@ -102,11 +105,15 @@ public class DictFileController extends BaseController{
         ShellUtil.zip(dictFileId+".zip",filePath);
         ShellUtil.yunDownload(filePath +"/"+dictFileId +"zip",ossPath);
         FileUtil.del(filePath);
-        return ResultData.ok(queryPath + ossPath);
+
+        String downUrl = queryPath + ossPath;
+        dictFileService.setDownUrl(dictFileId,downUrl,0);
+
+        return ResultData.ok(downUrl);
     }
 
-    @GetMapping("/downMD5")
-    public ResultData downMD5(@RequestParam(required = false) Integer dictFileId) {
+    @GetMapping("/downHash")
+    public ResultData downHash(@RequestParam(required = false) Integer dictFileId) {
         if(dictFileId == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
@@ -114,6 +121,9 @@ public class DictFileController extends BaseController{
         if(dictFile == null){
             throw new BusinessException(ResultCode.FILE_NOT_EXIST);
         }
+        if(StringUtils.isNotBlank(dictFile.getHashUrl())){
+            return ResultData.ok(dictFile.getHashUrl());
+        }
         CommonUpload commonUpload = commonUploadService.getById(dictFile.getUploadId());
         if(commonUpload == null){
             throw new BusinessException(ResultCode.FILE_NOT_EXIST);
@@ -132,7 +142,7 @@ public class DictFileController extends BaseController{
         }
         fileInfo.setSize(Long.valueOf(commonUpload.getFileSize()));
         String filePath = String.format(CacheUtil.basePath+"/" +OssPath.MANAGE_FILE_DOWN_PATH ,dictFileId) ;
-        String ossPath = String.format(OssPath.MANAGE_FILE_DOWN_PATH ,dictFileId) ;
+        String ossPath = String.format(OssPath.MANAGE_FILE_DOWN_PATH ,dictFileId +"/"+ dictFileId + "_hash.txt") ;
 
         File file = new File(filePath +"/"+dictFileId + "_hash.txt");
 
@@ -142,7 +152,10 @@ public class DictFileController extends BaseController{
 
         FileUtil.del(file);
 
-        return ResultData.ok(queryPath + ossPath);
+        String downUrl = queryPath + ossPath;
+        dictFileService.setDownUrl(dictFileId,downUrl,0);
+
+        return ResultData.ok(downUrl);
     }
 }
 

+ 6 - 0
src/main/java/com/fdkankan/fusion/entity/DictFile.java

@@ -52,4 +52,10 @@ public class DictFile implements Serializable {
 
     @TableField("use_type")
     private String useType;
+
+    @TableField("hash_url")
+    private String hashUrl;
+
+    @TableField("down_url")
+    private String downUrl;
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/IDictFileService.java

@@ -21,4 +21,6 @@ public interface IDictFileService extends IService<DictFile> {
     void del(DictFile dictFile);
 
     void updateDictId(Integer dictId, Integer UpDictId);
+
+    void setDownUrl(Integer dictFileId, String downUrl, Integer type);
 }

+ 13 - 0
src/main/java/com/fdkankan/fusion/service/impl/DictFileServiceImpl.java

@@ -73,4 +73,17 @@ public class DictFileServiceImpl extends ServiceImpl<IDictFileMapper, DictFile>
         wrapper.set(DictFile::getDictId,UpDictId);
         this.update(wrapper);
     }
+
+    @Override
+    public void setDownUrl(Integer dictFileId, String downUrl, Integer type) {
+        LambdaUpdateWrapper<DictFile> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(DictFile::getId,dictFileId);
+        if(type == 0){
+            wrapper.set(DictFile::getDownUrl,downUrl);
+        }
+        if(type == 1){
+            wrapper.set(DictFile::getHashUrl,downUrl);
+        }
+        this.update(wrapper);
+    }
 }