lyhzzz 3 ماه پیش
والد
کامیت
30149c81e7
39فایلهای تغییر یافته به همراه1302 افزوده شده و 11 حذف شده
  1. 13 11
      README.md
  2. 0 0
      doc/init/4dkankan_v4-init.sql
  3. 0 0
      doc/init/fd_fusion_xj-init.sql
  4. 0 0
      doc/v1.8.0/update-1.8.0.sql
  5. 33 0
      doc/v1.9.0/fusion-1.9.0.sql
  6. 110 0
      doc/v1.9.0/fusion-media-1.9.0.sql
  7. 52 0
      src/main/java/com/fdkankan/fusion/controller/CaseAnimationController.java
  8. 50 0
      src/main/java/com/fdkankan/fusion/controller/CasePathController.java
  9. 50 0
      src/main/java/com/fdkankan/fusion/controller/DictController.java
  10. 45 0
      src/main/java/com/fdkankan/fusion/controller/DictFileController.java
  11. 84 0
      src/main/java/com/fdkankan/fusion/entity/CaseAnimation.java
  12. 48 0
      src/main/java/com/fdkankan/fusion/entity/CasePath.java
  13. 75 0
      src/main/java/com/fdkankan/fusion/entity/CommonUpload.java
  14. 52 0
      src/main/java/com/fdkankan/fusion/entity/Dict.java
  15. 55 0
      src/main/java/com/fdkankan/fusion/entity/DictFile.java
  16. 18 0
      src/main/java/com/fdkankan/fusion/mapper/ICaseAnimationMapper.java
  17. 18 0
      src/main/java/com/fdkankan/fusion/mapper/ICasePathMapper.java
  18. 18 0
      src/main/java/com/fdkankan/fusion/mapper/ICommonUploadMapper.java
  19. 22 0
      src/main/java/com/fdkankan/fusion/mapper/IDictFileMapper.java
  20. 18 0
      src/main/java/com/fdkankan/fusion/mapper/IDictMapper.java
  21. 22 0
      src/main/java/com/fdkankan/fusion/request/AddByMediaLibraryParam.java
  22. 17 0
      src/main/java/com/fdkankan/fusion/request/DictFileParam.java
  23. 10 0
      src/main/java/com/fdkankan/fusion/request/DictParam.java
  24. 27 0
      src/main/java/com/fdkankan/fusion/response/DictFileVo.java
  25. 19 0
      src/main/java/com/fdkankan/fusion/service/ICaseAnimationService.java
  26. 17 0
      src/main/java/com/fdkankan/fusion/service/ICasePathService.java
  27. 28 0
      src/main/java/com/fdkankan/fusion/service/ICommonUploadService.java
  28. 24 0
      src/main/java/com/fdkankan/fusion/service/IDictFileService.java
  29. 26 0
      src/main/java/com/fdkankan/fusion/service/IDictService.java
  30. 30 0
      src/main/java/com/fdkankan/fusion/service/impl/CaseAnimationServiceImpl.java
  31. 27 0
      src/main/java/com/fdkankan/fusion/service/impl/CasePathServiceImpl.java
  32. 86 0
      src/main/java/com/fdkankan/fusion/service/impl/CommonUploadServiceImpl.java
  33. 71 0
      src/main/java/com/fdkankan/fusion/service/impl/DictFileServiceImpl.java
  34. 80 0
      src/main/java/com/fdkankan/fusion/service/impl/DictServiceImpl.java
  35. 5 0
      src/main/resources/mapper/fusion/CaseAnimationMapper.xml
  36. 5 0
      src/main/resources/mapper/fusion/CasePathMapper.xml
  37. 5 0
      src/main/resources/mapper/fusion/CommonUploadMapper.xml
  38. 37 0
      src/main/resources/mapper/fusion/DictFileMapper.xml
  39. 5 0
      src/main/resources/mapper/fusion/DictMapper.xml

+ 13 - 11
README.md

@@ -52,16 +52,18 @@ fd_fusion_xj-init.sql
 ~~~~
 
 
-###**xj-1.0.0**
+###**v1.7.0**
 ~~~~
-1.设置支持上传自定义图片
-2.案件设置地图链接,接口添加参数 mapUrl和latAndLong
-3.添加场景复制,模型复制,场景下载hash,模型下载hash
-4.添加系统设置管理
-5.添加勘验笔录管理
-6.照片制卷管理
-7.修改密码接口修改,去掉code参数,增加oldPassword参数
-8.新增接口,重置密码
-9.固件管理
-10.APP管理
+同步新疆修改
+~~~~
+
+###**v1.8.0**
+~~~~
+同步新疆修改
+~~~~
+
+###**v1.9.0**
+~~~~
+1.同步江门媒体库
+2.同步动画模块
 ~~~~

doc/4dkankan_v4-init.sql → doc/init/4dkankan_v4-init.sql


doc/fd_fusion_xj-init.sql → doc/init/fd_fusion_xj-init.sql


doc/update-1.8.0.sql → doc/v1.8.0/update-1.8.0.sql


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

@@ -0,0 +1,33 @@
+CREATE TABLE `t_case_animation` (
+                                    `id` int NOT NULL AUTO_INCREMENT,
+                                    `case_id` int DEFAULT NULL,
+                                    `title` text COLLATE utf8mb4_general_ci,
+                                    `url` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
+                                    `show_title` int DEFAULT NULL COMMENT '0否,1是',
+                                    `font_size` int DEFAULT NULL,
+                                    `global_visibility` int DEFAULT NULL COMMENT '0否,1是',
+                                    `visibility_range` int DEFAULT NULL,
+                                    `frames` text COLLATE utf8mb4_general_ci,
+                                    `actions` text COLLATE utf8mb4_general_ci,
+                                    `subtitles` text COLLATE utf8mb4_general_ci,
+                                    `paths` text COLLATE utf8mb4_general_ci,
+                                    `mat` text COLLATE utf8mb4_general_ci,
+                                    `tb_status` int DEFAULT '0',
+                                    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                                    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                                    PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+CREATE TABLE `t_case_path` (
+                               `id` int NOT NULL AUTO_INCREMENT,
+                               `case_id` int DEFAULT NULL,
+                               `path` text COLLATE utf8mb4_general_ci,
+                               `tb_status` int DEFAULT '0',
+                               `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                               `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                               PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+
+
+

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

@@ -0,0 +1,110 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : v4-120.25.146.52-fusion-test
+ Source Server Type    : MySQL
+ Source Server Version : 50736
+ Source Host           : 120.25.146.52:13306
+ Source Schema         : fd_fusion
+
+ Target Server Type    : MySQL
+ Target Server Version : 50736
+ File Encoding         : 65001
+
+ Date: 29/04/2025 15:40:33
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for t_common_upload
+-- ----------------------------
+DROP TABLE IF EXISTS `t_common_upload`;
+CREATE TABLE `t_common_upload`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `file_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `file_size` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `new_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `file_type_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `file_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `result_file_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'A',
+  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `status` int(11) NULL DEFAULT 0,
+  `unzip_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `file_type` int(11) NULL DEFAULT NULL,
+  `wgs84` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `gcj02` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'ordinary',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_common_upload
+-- ----------------------------
+INSERT INTO `t_common_upload` VALUES (1, 'Man', 'https://4dkk.4dage.com/fusion/default/model/glb/man.glb', '3303348', 'Man', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (2, 'Hammer2', 'https://4dkk.4dage.com/fusion/default/model/glb/hammer2.glb', '284844', 'Hammer2', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (3, 'Gun', 'https://4dkk.4dage.com/fusion/default/model/glb/gun.glb', '248080', 'Gun', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (4, 'Kid', 'https://4dkk.4dage.com/fusion/default/model/glb/kid.glb', '2636492', 'Kid', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (5, 'Hammer1', 'https://4dkk.4dage.com/fusion/default/model/glb/hammer1.glb', '2113100', 'Hammer1', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (6, 'Knife', 'https://4dkk.4dage.com/fusion/default/model/glb/knife.glb', '1008742', 'Knife', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (7, 'Machinegun', 'https://4dkk.4dage.com/fusion/default/model/glb/machinegun.glb', '111104', 'Machinegun', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+INSERT INTO `t_common_upload` VALUES (8, 'Baseballbat', 'https://4dkk.4dage.com/fusion/default/model/glb/baseballbat.glb', '259276', 'Baseballbat', '模型', 'glb', 'glb', 'A', '2025-03-28 10:00:04', '2025-04-29 15:38:51', 1, NULL, 3, NULL, NULL, 'animation');
+
+-- ----------------------------
+-- Table structure for t_dict
+-- ----------------------------
+DROP TABLE IF EXISTS `t_dict`;
+CREATE TABLE `t_dict`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `dict_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `dict_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `sort` int(11) NULL DEFAULT 1,
+  `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'A',
+  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `sys_user_id` int(11) NULL DEFAULT NULL,
+  `parent_id` int(11) NULL DEFAULT NULL,
+  `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'ordinary',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_dict
+-- ----------------------------
+INSERT INTO `t_dict` VALUES (1, '动画模型', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-03-28 10:00:04', 1, NULL, 'animation');
+
+-- ----------------------------
+-- Table structure for t_dict_file
+-- ----------------------------
+DROP TABLE IF EXISTS `t_dict_file`;
+CREATE TABLE `t_dict_file`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `type_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `dict_id` int(11) NULL DEFAULT NULL,
+  `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'A',
+  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `sys_user_id` int(11) NULL DEFAULT NULL,
+  `upload_id` int(11) NULL DEFAULT NULL,
+  `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'ordinary',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_dict_file
+-- ----------------------------
+INSERT INTO `t_dict_file` VALUES (1, 'Man', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-03-28 10:00:04', 1, 1, 'animation');
+INSERT INTO `t_dict_file` VALUES (2, 'Hammer2', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:48', 1, 2, 'animation');
+INSERT INTO `t_dict_file` VALUES (3, 'Gun', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:48', 1, 3, 'animation');
+INSERT INTO `t_dict_file` VALUES (4, 'Kid', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:49', 1, 4, 'animation');
+INSERT INTO `t_dict_file` VALUES (5, 'Hammer1', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:50', 1, 5, 'animation');
+INSERT INTO `t_dict_file` VALUES (6, 'Knife', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:50', 1, 6, 'animation');
+INSERT INTO `t_dict_file` VALUES (7, 'Machinegun', 'media-library', 1, 'A', '2025-03-28 10:00:04', '2025-04-11 10:29:51', 1, 7, 'animation');
+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;

+ 52 - 0
src/main/java/com/fdkankan/fusion/controller/CaseAnimationController.java

@@ -0,0 +1,52 @@
+package com.fdkankan.fusion.controller;
+
+
+import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.entity.CaseAnimation;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.request.CaseParam;
+import com.fdkankan.fusion.service.ICaseAnimationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-26
+ */
+@RestController
+@RequestMapping("/caseAnimation")
+public class CaseAnimationController {
+
+    @Autowired
+    ICaseAnimationService caseAnimationService;
+
+
+    @GetMapping("/list")
+    public ResultData allList(@RequestParam(required = false) Integer caseId){
+        if(caseId == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        return ResultData.ok(caseAnimationService.getListByCaseId(caseId));
+    }
+
+    @PostMapping("/addOrUpdate")
+    public ResultData addOrUpdate(@RequestBody CaseAnimation caseAnimation){
+        caseAnimationService.saveOrUpdate(caseAnimation);
+        return ResultData.ok(caseAnimation);
+    }
+
+    @PostMapping("/delete")
+    public ResultData delete(@RequestBody CaseAnimation caseAnimation){
+        if(caseAnimation.getId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        caseAnimationService.removeById(caseAnimation.getId());
+        return ResultData.ok();
+    }
+}
+

+ 50 - 0
src/main/java/com/fdkankan/fusion/controller/CasePathController.java

@@ -0,0 +1,50 @@
+package com.fdkankan.fusion.controller;
+
+
+import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.entity.CasePath;
+import com.fdkankan.fusion.entity.CaseScript;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.service.ICasePathService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-10
+ */
+@RestController
+@RequestMapping("/casePath")
+public class CasePathController {
+
+    @Autowired
+    ICasePathService casePathService;
+
+
+    @GetMapping("/info")
+    public ResultData info(@RequestParam(required = false) Integer caseId){
+        if(caseId == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        return ResultData.ok(casePathService.getByCaseId(caseId));
+    }
+
+    @PostMapping("/saveOrUpdate")
+    public ResultData saveOrUpdate(@RequestBody CasePath casePath){
+        casePathService.saveOrUpdate(casePath);
+        return ResultData.ok(casePath);
+    }
+
+    @PostMapping("/del")
+    public ResultData del(@RequestBody CasePath casePath){
+        casePathService.removeById(casePath.getId());
+        return ResultData.ok();
+    }
+
+}
+

+ 50 - 0
src/main/java/com/fdkankan/fusion/controller/DictController.java

@@ -0,0 +1,50 @@
+package com.fdkankan.fusion.controller;
+
+
+import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.entity.Dict;
+import com.fdkankan.fusion.request.DictParam;
+import com.fdkankan.fusion.service.IDictService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@RestController
+@RequestMapping("/dict")
+public class DictController extends BaseController{
+
+    @Autowired
+    IDictService dictService;
+
+    @GetMapping("/getByKey/{dictKey}")
+    public ResultData getByKey(@PathVariable String dictKey){
+        return ResultData.ok(dictService.getByKey(dictKey));
+    }
+
+    @PostMapping("/pageList/{dictKey}")
+    public ResultData pageList(@RequestBody DictParam param, @PathVariable String dictKey){
+        param.setDictKey(dictKey);
+        return ResultData.ok(dictService.pageList(param));
+    }
+
+    @PostMapping("/addOrUpdate/{dictKey}")
+    public ResultData addOrUpdate(@RequestBody Dict dict, @PathVariable String dictKey){
+        dict.setDictKey(dictKey);
+        dictService.addOrUpdate(dict);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/del/{dictKey}")
+    public ResultData del(@RequestBody Dict dict,@PathVariable String dictKey){
+        dictService.del(dict);
+        return ResultData.ok();
+    }
+}
+

+ 45 - 0
src/main/java/com/fdkankan/fusion/controller/DictFileController.java

@@ -0,0 +1,45 @@
+package com.fdkankan.fusion.controller;
+
+
+import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.entity.DictFile;
+import com.fdkankan.fusion.request.DictFileParam;
+import com.fdkankan.fusion.service.IDictFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@RestController
+@RequestMapping("/dictFile")
+public class DictFileController extends BaseController{
+
+    @Autowired
+    IDictFileService dictFileService;
+
+    @PostMapping("/pageList/{typeKey}")
+    public ResultData pageList(@RequestBody DictFileParam param, @PathVariable String typeKey){
+        param.setTypeKey(typeKey);
+        return ResultData.ok(dictFileService.pageList(param));
+    }
+
+    @PostMapping("/addOrUpdate/{typeKey}")
+    public ResultData addOrUpdate(@RequestBody DictFile dictFile, @PathVariable String typeKey){
+        dictFile.setTypeKey(typeKey);
+        dictFileService.addOrUpdate(dictFile);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/del/{typeKey}")
+    public ResultData del(@RequestBody DictFile dictFile,@PathVariable String typeKey){
+        dictFileService.del(dictFile);
+        return ResultData.ok();
+    }
+}
+

+ 84 - 0
src/main/java/com/fdkankan/fusion/entity/CaseAnimation.java

@@ -0,0 +1,84 @@
+package com.fdkankan.fusion.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-26
+ */
+@Getter
+@Setter
+@TableName("t_case_animation")
+public class CaseAnimation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("case_id")
+    private Integer caseId;
+
+    @TableField("title")
+    private String title;
+
+    @TableField("url")
+    private String url;
+
+    /**
+     * 0否,1是
+     */
+    @TableField("show_title")
+    private Boolean showTitle;
+
+    @TableField("font_size")
+    private Integer fontSize;
+
+    /**
+     * 0否,1是
+     */
+    @TableField("global_visibility")
+    private Boolean globalVisibility;
+
+    @TableField("visibility_range")
+    private Integer visibilityRange;
+
+    @TableField("frames")
+    private String frames;
+
+    @TableField("actions")
+    private String actions;
+
+    @TableField("subtitles")
+    private String subtitles;
+
+    @TableField("paths")
+    private String paths;
+
+    @TableField("mat")
+    private String mat;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 48 - 0
src/main/java/com/fdkankan/fusion/entity/CasePath.java

@@ -0,0 +1,48 @@
+package com.fdkankan.fusion.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-10
+ */
+@Getter
+@Setter
+@TableName("t_case_path")
+public class CasePath implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("case_id")
+    private Integer caseId;
+
+    @TableField("path")
+    private String path;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 75 - 0
src/main/java/com/fdkankan/fusion/entity/CommonUpload.java

@@ -0,0 +1,75 @@
+package com.fdkankan.fusion.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Getter
+@Setter
+@TableName("t_common_upload")
+public class CommonUpload implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("file_name")
+    private String fileName;
+
+    @TableField("file_url")
+    private String fileUrl;
+
+    @TableField("file_size")
+    private String fileSize;
+
+    @TableField("new_file_name")
+    private String newFileName;
+
+    @TableField("file_type")
+    private Integer fileType;
+    @TableField("file_type_str")
+    private String fileTypeStr;
+
+    @TableField("file_format")
+    private String fileFormat;
+
+    @TableField("result_file_format")
+    private String resultFileFormat;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("status")
+    private Integer status;
+
+    @TableField("unzip_path")
+    private String unzipPath;
+
+    @TableField("wgs84")
+    private String wgs84;
+
+    @TableField("gcj02")
+    private String gcj02;
+
+    @TableField("use_type")
+    private String useType;
+}

+ 52 - 0
src/main/java/com/fdkankan/fusion/entity/Dict.java

@@ -0,0 +1,52 @@
+package com.fdkankan.fusion.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Getter
+@Setter
+@TableName("t_dict")
+public class Dict implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("dict_name")
+    private String dictName;
+
+    @TableField("dict_key")
+    private String dictKey;
+
+    @TableField("sort")
+    private Integer sort;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("sys_user_id")
+    private Integer sysUserId;
+
+    @TableField("use_type")
+    private String useType;
+}

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

@@ -0,0 +1,55 @@
+package com.fdkankan.fusion.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Getter
+@Setter
+@TableName("t_dict_file")
+public class DictFile implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("name")
+    private String name;
+
+    @TableField("type_key")
+    private String typeKey;
+
+    @TableField("dict_id")
+    private Integer dictId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("sys_user_id")
+    private Integer sysUserId;
+
+    @TableField("upload_id")
+    private Integer uploadId;
+
+    @TableField("use_type")
+    private String useType;
+}

+ 18 - 0
src/main/java/com/fdkankan/fusion/mapper/ICaseAnimationMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.fusion.mapper;
+
+import com.fdkankan.fusion.entity.CaseAnimation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-26
+ */
+@Mapper
+public interface ICaseAnimationMapper extends BaseMapper<CaseAnimation> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/fusion/mapper/ICasePathMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.fusion.mapper;
+
+import com.fdkankan.fusion.entity.CasePath;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-10
+ */
+@Mapper
+public interface ICasePathMapper extends BaseMapper<CasePath> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/fusion/mapper/ICommonUploadMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.fusion.mapper;
+
+import com.fdkankan.fusion.entity.CommonUpload;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Mapper
+public interface ICommonUploadMapper extends BaseMapper<CommonUpload> {
+
+}

+ 22 - 0
src/main/java/com/fdkankan/fusion/mapper/IDictFileMapper.java

@@ -0,0 +1,22 @@
+package com.fdkankan.fusion.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.entity.DictFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.fusion.request.DictFileParam;
+import com.fdkankan.fusion.response.DictFileVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Mapper
+public interface IDictFileMapper extends BaseMapper<DictFile> {
+
+    Page<DictFileVo> pageList(Page<Object> objectPage, DictFileParam param);
+}

+ 18 - 0
src/main/java/com/fdkankan/fusion/mapper/IDictMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.fusion.mapper;
+
+import com.fdkankan.fusion.entity.Dict;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Mapper
+public interface IDictMapper extends BaseMapper<Dict> {
+
+}

+ 22 - 0
src/main/java/com/fdkankan/fusion/request/AddByMediaLibraryParam.java

@@ -0,0 +1,22 @@
+package com.fdkankan.fusion.request;
+
+import lombok.Data;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+@Data
+public class AddByMediaLibraryParam {
+    private Integer caseId;
+    private Integer uploadId;
+    private Integer filesTypeId;
+
+    private Integer filesId;
+
+    private Integer imgType ;
+    private String content;
+    private String filesTitle;
+
+    private List<Integer> uploadIds;
+
+}

+ 17 - 0
src/main/java/com/fdkankan/fusion/request/DictFileParam.java

@@ -0,0 +1,17 @@
+package com.fdkankan.fusion.request;
+
+import com.fdkankan.fusion.common.RequestBase;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DictFileParam extends RequestBase {
+    private String name;
+    private Integer dictId;
+    private String typeKey;
+    private Integer fileType;
+    private List<String> fileFormats;
+    private List<Integer> dictIds;
+    private Long sysUserId;
+}

+ 10 - 0
src/main/java/com/fdkankan/fusion/request/DictParam.java

@@ -0,0 +1,10 @@
+package com.fdkankan.fusion.request;
+
+import com.fdkankan.fusion.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class DictParam extends RequestBase {
+    private String dictName;
+    private String dictKey;
+}

+ 27 - 0
src/main/java/com/fdkankan/fusion/response/DictFileVo.java

@@ -0,0 +1,27 @@
+package com.fdkankan.fusion.response;
+
+import com.fdkankan.fusion.entity.DictFile;
+import lombok.Data;
+
+@Data
+public class DictFileVo extends DictFile {
+
+    private String fileName;
+
+    private String fileUrl;
+
+    private String fileSize;
+
+    private String newFileName;
+
+    private Integer fileType;
+    private String fileTypeStr;
+
+    private String fileFormat;
+
+    private Integer status;
+
+    private String unzipPath;
+
+    private String dictName;
+}

+ 19 - 0
src/main/java/com/fdkankan/fusion/service/ICaseAnimationService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.CaseAnimation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-26
+ */
+public interface ICaseAnimationService extends IService<CaseAnimation> {
+
+    List<CaseAnimation> getListByCaseId(Integer caseId);
+}

+ 17 - 0
src/main/java/com/fdkankan/fusion/service/ICasePathService.java

@@ -0,0 +1,17 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.CasePath;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-10
+ */
+public interface ICasePathService extends IService<CasePath> {
+
+    Object getByCaseId(Integer caseId);
+}

+ 28 - 0
src/main/java/com/fdkankan/fusion/service/ICommonUploadService.java

@@ -0,0 +1,28 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.CommonUpload;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+public interface ICommonUploadService extends IService<CommonUpload> {
+
+    List<CommonUpload> getByStatus(Integer status);
+
+    void updateByPath(String msg, String url);
+    void updateByPath(String msg, String url,String wgs84 ,String gcj02);
+
+    void updateStatus(String localPath,Integer status);
+
+    List<CommonUpload> getIsSystem();
+
+    CommonUpload addSystemFile(String ossKey,Long fileSize,String fileName);
+}

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

@@ -0,0 +1,24 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.DictFile;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.fusion.request.DictFileParam;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+public interface IDictFileService extends IService<DictFile> {
+
+    Object pageList(DictFileParam param);
+
+    void addOrUpdate(DictFile dictFile);
+
+    void del(DictFile dictFile);
+
+    void updateDictId(Integer dictId, Integer UpDictId);
+}

+ 26 - 0
src/main/java/com/fdkankan/fusion/service/IDictService.java

@@ -0,0 +1,26 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.Dict;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.fusion.request.DictParam;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+public interface IDictService extends IService<Dict> {
+
+    List<Dict> getByKey(String dictKey);
+
+    void addOrUpdate(Dict dict);
+
+    void del(Dict dict);
+
+    Object pageList(DictParam param);
+}

+ 30 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseAnimationServiceImpl.java

@@ -0,0 +1,30 @@
+package com.fdkankan.fusion.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.fusion.entity.CaseAnimation;
+import com.fdkankan.fusion.mapper.ICaseAnimationMapper;
+import com.fdkankan.fusion.service.ICaseAnimationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-26
+ */
+@Service
+public class CaseAnimationServiceImpl extends ServiceImpl<ICaseAnimationMapper, CaseAnimation> implements ICaseAnimationService {
+
+    @Override
+    public List<CaseAnimation> getListByCaseId(Integer caseId) {
+        LambdaQueryWrapper<CaseAnimation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseAnimation::getCaseId,caseId);
+        return this.list(wrapper);
+
+    }
+}

+ 27 - 0
src/main/java/com/fdkankan/fusion/service/impl/CasePathServiceImpl.java

@@ -0,0 +1,27 @@
+package com.fdkankan.fusion.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.fusion.entity.CasePath;
+import com.fdkankan.fusion.mapper.ICasePathMapper;
+import com.fdkankan.fusion.service.ICasePathService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-10
+ */
+@Service
+public class CasePathServiceImpl extends ServiceImpl<ICasePathMapper, CasePath> implements ICasePathService {
+
+    @Override
+    public Object getByCaseId(Integer caseId) {
+        LambdaQueryWrapper<CasePath> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CasePath::getCaseId,caseId);
+        return this.list(wrapper);
+    }
+}

+ 86 - 0
src/main/java/com/fdkankan/fusion/service/impl/CommonUploadServiceImpl.java

@@ -0,0 +1,86 @@
+package com.fdkankan.fusion.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.fusion.entity.CommonUpload;
+import com.fdkankan.fusion.mapper.ICommonUploadMapper;
+import com.fdkankan.fusion.service.ICommonUploadService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Service
+public class CommonUploadServiceImpl extends ServiceImpl<ICommonUploadMapper, CommonUpload> implements ICommonUploadService {
+
+    @Override
+    public List<CommonUpload> getByStatus(Integer status) {
+        LambdaQueryWrapper<CommonUpload> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CommonUpload::getStatus,status);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public void updateByPath(String msg, String url) {
+        LambdaUpdateWrapper<CommonUpload> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CommonUpload::getUnzipPath,msg);
+        wrapper.set(CommonUpload::getStatus,1);
+        wrapper.set(CommonUpload::getFileUrl,url);
+        this.update(wrapper);
+    }
+
+    @Override
+    public void updateStatus(String localPath,Integer status) {
+        LambdaUpdateWrapper<CommonUpload> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CommonUpload::getUnzipPath,localPath);
+        wrapper.set(CommonUpload::getStatus,status);
+        this.update(wrapper);
+    }
+
+    @Override
+    public void updateByPath(String msg, String url,String wgs84 ,String gcj02) {
+        LambdaUpdateWrapper<CommonUpload> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CommonUpload::getUnzipPath,msg);
+        wrapper.set(CommonUpload::getStatus,1);
+        wrapper.set(CommonUpload::getFileUrl,url);
+        wrapper.set(CommonUpload::getWgs84,wgs84);
+        wrapper.set(CommonUpload::getGcj02,gcj02);
+        this.update(wrapper);
+    }
+
+    @Override
+    public List<CommonUpload> getIsSystem() {
+        LambdaQueryWrapper<CommonUpload> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CommonUpload::getUseType,"animation");
+        return this.list(wrapper);
+    }
+
+    @Override
+    public CommonUpload addSystemFile(String ossKey,Long fileSize,String fileName) {
+        CommonUpload commonUpload = new CommonUpload();
+        commonUpload.setFileName(fileName);
+        commonUpload.setFileUrl(ossKey);
+        commonUpload.setFileSize(fileSize+"");
+        commonUpload.setNewFileName(fileName);
+        commonUpload.setFileType(3);
+        commonUpload.setFileTypeStr("模型");
+        commonUpload.setFileFormat("glb");
+        commonUpload.setResultFileFormat("glb");
+        commonUpload.setStatus(1);
+        commonUpload.setUseType("animation");
+        this.save(commonUpload);
+        return commonUpload;
+    }
+}

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

@@ -0,0 +1,71 @@
+package com.fdkankan.fusion.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.common.PageInfo;
+import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.entity.DictFile;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.mapper.IDictFileMapper;
+import com.fdkankan.fusion.request.DictFileParam;
+import com.fdkankan.fusion.response.DictFileVo;
+import com.fdkankan.fusion.service.ICommonUploadService;
+import com.fdkankan.fusion.service.IDictFileService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.fusion.service.IDictService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Service
+public class DictFileServiceImpl extends ServiceImpl<IDictFileMapper, DictFile> implements IDictFileService {
+
+    @Autowired
+    ICommonUploadService commonUploadService;
+    @Autowired
+    IDictService dictService;
+
+
+    @Override
+    public Object pageList(DictFileParam param) {
+        if(StringUtils.isBlank(param.getTypeKey())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        Page<DictFileVo> pageVo = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        return PageInfo.PageInfo(pageVo);
+    }
+
+    @Override
+    public void addOrUpdate(DictFile dictFile) {
+        if(StringUtils.isBlank(dictFile.getTypeKey())
+                || dictFile.getDictId() == null ){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        this.saveOrUpdate(dictFile);
+    }
+
+    @Override
+    public void del(DictFile dictFile) {
+        if(dictFile.getId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        this.removeById(dictFile.getId());
+    }
+
+    @Override
+    public void updateDictId(Integer dictId, Integer UpDictId) {
+        LambdaUpdateWrapper<DictFile> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(DictFile::getDictId,dictId);
+        wrapper.set(DictFile::getDictId,UpDictId);
+        this.update(wrapper);
+    }
+}

+ 80 - 0
src/main/java/com/fdkankan/fusion/service/impl/DictServiceImpl.java

@@ -0,0 +1,80 @@
+package com.fdkankan.fusion.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.common.PageInfo;
+import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.entity.Dict;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.mapper.IDictMapper;
+import com.fdkankan.fusion.request.DictParam;
+import com.fdkankan.fusion.service.IDictFileService;
+import com.fdkankan.fusion.service.IDictService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-06
+ */
+@Service
+public class DictServiceImpl extends ServiceImpl<IDictMapper, Dict> implements IDictService {
+
+    @Autowired
+    IDictFileService dictFileService;
+
+    @Override
+    public List<Dict> getByKey(String dictKey) {
+        if(StringUtils.isBlank(dictKey)){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaQueryWrapper<Dict> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Dict::getDictKey,dictKey);
+        wrapper.orderByAsc(Dict::getSort);
+        wrapper.orderByDesc(Dict::getId);
+        return list(wrapper);
+    }
+
+    @Override
+    public Object pageList(DictParam param) {
+        if(StringUtils.isBlank(param.getDictKey())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaQueryWrapper<Dict> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Dict::getDictKey,param.getDictKey());
+        if(StringUtils.isNotBlank(param.getDictName())){
+            wrapper.like(Dict::getDictName,param.getDictName());
+        }
+        wrapper.orderByAsc(Dict::getSort);
+        wrapper.orderByDesc(Dict::getId);
+        Page<Dict> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public void addOrUpdate(Dict dict) {
+        if(StringUtils.isBlank(dict.getDictName()) || StringUtils.isBlank(dict.getDictKey())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        this.saveOrUpdate(dict);
+    }
+
+    @Override
+    public void del(Dict dict) {
+        if(dict.getId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        dictFileService.updateDictId(dict.getId(),null);
+        this.removeById(dict.getId());
+
+    }
+}

+ 5 - 0
src/main/resources/mapper/fusion/CaseAnimationMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.fusion.mapper.ICaseAnimationMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/fusion/CasePathMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.fusion.mapper.ICasePathMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/fusion/CommonUploadMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.fusion.mapper.ICommonUploadMapper">
+
+</mapper>

+ 37 - 0
src/main/resources/mapper/fusion/DictFileMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.fusion.mapper.IDictFileMapper">
+    <select id="pageList" resultType="com.fdkankan.fusion.response.DictFileVo">
+        SELECT * from t_dict_file df
+        LEFT JOIN t_dict d on df.dict_id = d.id
+        LEFT JOIN t_common_upload cu on df.upload_id = cu.id
+        where df.rec_status = 'A'
+        <if test="param.sysUserId != null">
+            and df.sys_user_id = #{param.sysUserId}
+        </if>
+        <if test="param.name != null and param.name !=''">
+            and df.name like concat('%',#{param.name}, '%')
+        </if>
+        <if test="param.typeKey != null and param.typeKey !=''">
+            and df.type_key = #{param.typeKey}
+        </if>
+        <if test="param.fileType != null">
+            and cu.file_type = #{param.fileType}
+        </if>
+        <if test="param.dictId != null">
+            and df.dict_id = #{param.dictId}
+        </if>
+        <if test="param.fileFormats != null and param.fileFormats.size>0">
+            and cu.file_format in
+            <foreach collection="param.fileFormats" item="fileFormat" open="(" separator="," close=")">
+                #{fileFormat}
+            </foreach>
+        </if>
+        <if test="param.dictIds != null and param.dictIds.size>0">
+            and df.dict_id in
+            <foreach collection="param.dictIds" item="dict" open="(" separator="," close=")">
+                #{dict}
+            </foreach>
+        </if>
+    </select>
+</mapper>

+ 5 - 0
src/main/resources/mapper/fusion/DictMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.fusion.mapper.IDictMapper">
+
+</mapper>