lyhzzz преди 3 години
родител
ревизия
ea5b7b27af
променени са 19 файла, в които са добавени 414 реда и са изтрити 54 реда
  1. 2 0
      src/main/java/com/fdkankan/fusion/common/FilePath.java
  2. 2 0
      src/main/java/com/fdkankan/fusion/common/ResultCode.java
  3. 9 0
      src/main/java/com/fdkankan/fusion/controller/CaseFusionController.java
  4. 17 18
      src/main/java/com/fdkankan/fusion/controller/CaseVideoController.java
  5. 67 0
      src/main/java/com/fdkankan/fusion/controller/CaseVideoFolderController.java
  6. 4 4
      src/main/java/com/fdkankan/fusion/entity/CaseVideo.java
  7. 73 0
      src/main/java/com/fdkankan/fusion/entity/CaseVideoFolder.java
  8. 15 4
      src/main/java/com/fdkankan/fusion/entity/FusionNum.java
  9. 0 6
      src/main/java/com/fdkankan/fusion/entity/Model.java
  10. 1 1
      src/main/java/com/fdkankan/fusion/generate/AutoGenerate.java
  11. 18 0
      src/main/java/com/fdkankan/fusion/mapper/ICaseVideoFolderMapper.java
  12. 1 1
      src/main/java/com/fdkankan/fusion/request/CaseVideoParam.java
  13. 25 0
      src/main/java/com/fdkankan/fusion/service/ICaseVideoFolderService.java
  14. 8 2
      src/main/java/com/fdkankan/fusion/service/ICaseVideoService.java
  15. 2 0
      src/main/java/com/fdkankan/fusion/service/IFusionNumService.java
  16. 65 0
      src/main/java/com/fdkankan/fusion/service/impl/CaseVideoFolderServiceImpl.java
  17. 84 18
      src/main/java/com/fdkankan/fusion/service/impl/CaseVideoServiceImpl.java
  18. 16 0
      src/main/java/com/fdkankan/fusion/service/impl/FusionNumServiceImpl.java
  19. 5 0
      src/main/resources/mapper/fusion/CaseVideoFolderMapper.xml

+ 2 - 0
src/main/java/com/fdkankan/fusion/common/FilePath.java

@@ -8,5 +8,7 @@ public class FilePath {
     public final static String OBJ_OSS_PATH = "scene_view_data/%s/data/mesh";
     public final static String GLB_OSS_PATH = "fusion/model/glb/%s/mesh.glb";
 
+    public final static String VIDEO_OSS_PATH = "fusion/video/%s";
+
 
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/common/ResultCode.java

@@ -11,6 +11,8 @@ public enum ResultCode {
     SYSTEM_HOT_ICON_NOT_EXIST(7008,"系统默认icon不存在"),
     SYSTEM_HOT_ICON_NOT_DELETE(7009,"系统默认icon不能删除"),
     CASE_USE(7010,"案件或场景中使用模型,不能删除"),
+    FOLDER_NOT_EXIST(7011,"视频文件夹不存在"),
+    CASE_NOT_EXIST(7012,"案件不存在"),
 
     HOT_ICON_NOT_EXIST(7004,"热点icon不存在");
 

+ 9 - 0
src/main/java/com/fdkankan/fusion/controller/CaseFusionController.java

@@ -45,6 +45,15 @@ public class CaseFusionController {
         return ResultData.ok();
     }
 
+    /**
+     * 修改模型相关信息
+     */
+    @PostMapping("/update")
+    public ResultData update(@RequestBody FusionParam param){
+        fusionNumService.updateModel(param);
+        return ResultData.ok();
+    }
+
     @PostMapping("/delete")
     public ResultData delete(@RequestParam(required = false) Integer id){
         if(id == null){

+ 17 - 18
src/main/java/com/fdkankan/fusion/controller/CaseVideoController.java

@@ -13,6 +13,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 
@@ -30,32 +31,30 @@ public class CaseVideoController {
 
     @Autowired
     ICaseVideoService caseVideoService;
-    @Autowired
-    UploadToOssUtil uploadToOssUtil;
 
-    @Value("${upload.query-path}")
-    private String queryPath;
 
-    @PostMapping("/list")
-    public ResultData list(@RequestBody CaseVideoParam param){
-        return ResultData.ok(caseVideoService.getList(param));
+    @GetMapping("/allList")
+    public ResultData allList(@RequestParam(required = false) Integer folderId){
+        return ResultData.ok(caseVideoService.getAllList(folderId));
     }
 
-    @PostMapping("/add")
-    public ResultData add(@RequestBody CaseVideoParam caseVideoParam){
-        caseVideoService.add(caseVideoParam);
+    /**
+     * 批量添加文件至文件夹
+     */
+    @PostMapping("/uploadAddVideo")
+    public ResultData uploadAddVideo(@RequestParam(required = false) MultipartFile[] files,
+                                     @RequestParam(required = false) Integer folderId,
+                                     @RequestParam(required = false) Integer caseId) throws Exception {
+        caseVideoService.uploadAddVideo(files,folderId,caseId);
         return ResultData.ok();
     }
+
+    /**
+     * 删除单个文件
+     */
     @PostMapping("/delete")
     public ResultData delete(@RequestBody CaseVideoParam param)  {
-        CaseVideo caseVideo = caseVideoService.getById(param.getVideoId());
-        caseVideoService.removeById(param.getVideoId());
-        try {
-            String replace = caseVideo.getVideoPath().replace(queryPath, "");
-            uploadToOssUtil.delete(replace);
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+        caseVideoService.delete(param.getVideoId());
         return ResultData.ok();
     }
 

+ 67 - 0
src/main/java/com/fdkankan/fusion/controller/CaseVideoFolderController.java

@@ -0,0 +1,67 @@
+package com.fdkankan.fusion.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.fusion.entity.CaseVideo;
+import com.fdkankan.fusion.entity.CaseVideoFolder;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.request.CaseVideoParam;
+import com.fdkankan.fusion.service.ICaseVideoFolderService;
+import com.fdkankan.fusion.service.ICaseVideoService;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2022-07-29
+ */
+@RestController
+@RequestMapping("/caseVideoFolder")
+public class CaseVideoFolderController {
+
+    @Autowired
+    ICaseVideoFolderService caseVideoFolderService;
+
+
+    @GetMapping("/allList")
+    public ResultData allList(@RequestParam(required = false) Integer caseId){
+        return ResultData.ok(caseVideoFolderService.getAllList(caseId));
+    }
+
+    @PostMapping("/updateNameOrSort")
+    public ResultData updateNameOrSort(@RequestBody CaseVideoFolder param){
+        if(param.getVideoFolderId() == null ||
+                (param.getSort() == null && StringUtils.isEmpty(param.getVideoFolderName()))){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaUpdateWrapper<CaseVideoFolder> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseVideoFolder::getVideoFolderId,param.getVideoFolderId());
+        if(StringUtils.isNotBlank(param.getVideoFolderName())){
+            wrapper.set(CaseVideoFolder::getVideoFolderName,param.getVideoFolderName());
+        }
+        if(param.getSort() !=null){
+            wrapper.set(CaseVideoFolder::getSort,param.getSort());
+        }
+        caseVideoFolderService.update(wrapper);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/delete")
+    public ResultData delete(@RequestBody CaseVideoFolder param){
+        if(param.getVideoFolderId() == null){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        caseVideoFolderService.delete(param.getVideoFolderId());
+        return ResultData.ok();
+    }
+}
+

+ 4 - 4
src/main/java/com/fdkankan/fusion/entity/CaseVideo.java

@@ -25,14 +25,14 @@ public class CaseVideo implements Serializable {
     @TableId(value = "video_id", type = IdType.AUTO)
     private Integer videoId;
 
-    @TableField("case_id")
-    private Integer caseId;
+    @TableField("folder_id")
+    private Integer folderId;
 
     @TableField("video_path")
     private String videoPath;
 
-    @TableField("voide_name")
-    private String voideName;
+    @TableField("video_name")
+    private String videoName;
 
     @TableField("sort")
     private Integer sort;

+ 73 - 0
src/main/java/com/fdkankan/fusion/entity/CaseVideoFolder.java

@@ -0,0 +1,73 @@
+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 2022-08-09
+ */
+@Getter
+@Setter
+@TableName("t_case_video_folder")
+public class CaseVideoFolder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 视频文件夹
+     */
+    @TableId(value = "video_folder_id", type = IdType.AUTO)
+    private Integer videoFolderId;
+
+    /**
+     * 视频文件夹名称
+     */
+    @TableField("video_folder_name")
+    private String videoFolderName;
+
+    /**
+     * 案件id
+     */
+    @TableField("case_id")
+    private Integer caseId;
+    /**
+     * 封面图
+     */
+    @TableField("video_folder_cover")
+    private Integer videoFolderCover;
+    /**
+     * 封面图
+     */
+    @TableField("video_merge_url")
+    private Integer videoMergeUrl;
+
+    /**
+     * 排序
+     */
+    @TableField("sort")
+    private Integer sort;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+
+}

+ 15 - 4
src/main/java/com/fdkankan/fusion/entity/FusionNum.java

@@ -24,8 +24,8 @@ public class FusionNum implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    @TableId(value = "fusion_num_id", type = IdType.AUTO)
+    private Integer fusionNumId;
 
     /**
      * 融合场景id
@@ -46,11 +46,22 @@ public class FusionNum implements Serializable {
     @TableField("hide")
     private Integer hide;
 
+    /**
+     * 位置,比例等属性
+     */
+    @TableField("transform")
+    private String transform;
+    /**
+     * 透明度
+     */
+    @TableField("opacity")
+    private String opacity;
+
     @TableField("create_time")
-    private Date createTime;
+    private String createTime;
 
     @TableField("update_time")
-    private Date updateTime;
+    private String updateTime;
 
 
 }

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

@@ -67,12 +67,6 @@ public class Model implements Serializable {
     @TableField("model_type")
     private String modelType;
 
-    @TableField("transform")
-    private String transform;
-
-    @TableField("opacity")
-    private String opacity;
-
     @TableField("num")
     private String num;
 

+ 1 - 1
src/main/java/com/fdkankan/fusion/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"fusion", getTables(new String[]{
-                "t_case_tag_point",
+                "t_case_video_folder",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

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

@@ -0,0 +1,18 @@
+package com.fdkankan.fusion.mapper;
+
+import com.fdkankan.fusion.entity.CaseVideoFolder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-09
+ */
+@Mapper
+public interface ICaseVideoFolderMapper extends BaseMapper<CaseVideoFolder> {
+
+}

+ 1 - 1
src/main/java/com/fdkankan/fusion/request/CaseVideoParam.java

@@ -5,7 +5,7 @@ import lombok.Data;
 @Data
 public class CaseVideoParam {
     private Integer videoId;
-    private Integer caseId;
+    private Integer folderId;
     private String videoPath;
     private String videoName;
     private Integer sort;

+ 25 - 0
src/main/java/com/fdkankan/fusion/service/ICaseVideoFolderService.java

@@ -0,0 +1,25 @@
+package com.fdkankan.fusion.service;
+
+import com.fdkankan.fusion.entity.CaseVideoFolder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-09
+ */
+public interface ICaseVideoFolderService extends IService<CaseVideoFolder> {
+
+    List<CaseVideoFolder> getAllList(Integer caseId);
+
+    void delete(Integer videoFolderId);
+
+    long getCountByCaseId(Integer caseId);
+
+    CaseVideoFolder getByIdIfNotNew(Integer folderId,Integer caseId);
+}

+ 8 - 2
src/main/java/com/fdkankan/fusion/service/ICaseVideoService.java

@@ -4,7 +4,9 @@ import com.fdkankan.fusion.entity.CaseVideo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.CaseVideoParam;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -17,7 +19,11 @@ import java.util.List;
  */
 public interface ICaseVideoService extends IService<CaseVideo> {
 
-    List<CaseVideo> getList(CaseVideoParam param);
+    List<CaseVideo> getAllList(Integer folderId);
 
-    void add(CaseVideoParam caseVideoParam);
+    void deleteByFolderId(Integer videoFolderId);
+
+    void delete(Integer videoId);
+
+    void uploadAddVideo(MultipartFile[] files, Integer folderId,Integer caseId) throws IOException;
 }

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

@@ -24,4 +24,6 @@ public interface IFusionNumService extends IService<FusionNum> {
     List<SceneVo> getListByCaseId(Integer caseId, String token);
 
     void add(FusionParam param);
+
+    void updateModel(FusionParam param);
 }

+ 65 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseVideoFolderServiceImpl.java

@@ -0,0 +1,65 @@
+package com.fdkankan.fusion.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.fusion.entity.CaseVideo;
+import com.fdkankan.fusion.entity.CaseVideoFolder;
+import com.fdkankan.fusion.mapper.ICaseVideoFolderMapper;
+import com.fdkankan.fusion.service.ICaseVideoFolderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.fusion.service.ICaseVideoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-09
+ */
+@Service
+public class CaseVideoFolderServiceImpl extends ServiceImpl<ICaseVideoFolderMapper, CaseVideoFolder> implements ICaseVideoFolderService {
+
+    @Autowired
+    ICaseVideoService videoService;
+
+    @Override
+    public List<CaseVideoFolder> getAllList(Integer caseId) {
+        LambdaQueryWrapper<CaseVideoFolder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseVideoFolder::getCaseId,caseId);
+        wrapper.orderByAsc(CaseVideoFolder::getSort);
+        wrapper.orderByAsc(CaseVideoFolder::getCreateTime);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public void delete(Integer videoFolderId) {
+        //删除文件夹,一并删除文件下文件
+        videoService.deleteByFolderId(videoFolderId);
+        this.removeById(videoFolderId);
+    }
+
+    @Override
+    public long getCountByCaseId(Integer caseId) {
+        LambdaQueryWrapper<CaseVideoFolder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseVideoFolder::getCaseId,caseId);
+        return this.count(wrapper);
+    }
+
+    @Override
+    public CaseVideoFolder getByIdIfNotNew(Integer folderId,Integer caseId) {
+        if(folderId == null){
+            long count = this.getCountByCaseId(caseId);
+            CaseVideoFolder videoFolder = new CaseVideoFolder();
+            videoFolder.setVideoFolderName("讲解视频" + count + 1);
+            videoFolder.setCaseId(caseId);
+            videoFolder.setSort((int) (count + 1));
+            this.save(videoFolder);
+            return videoFolder;
+        }
+        return this.getById(folderId);
+    }
+}

+ 84 - 18
src/main/java/com/fdkankan/fusion/service/impl/CaseVideoServiceImpl.java

@@ -3,16 +3,29 @@ package com.fdkankan.fusion.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.fusion.common.FilePath;
+import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.entity.CaseEntity;
+import com.fdkankan.fusion.entity.CaseVideoFolder;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.entity.CaseVideo;
 import com.fdkankan.fusion.mapper.ICaseVideoMapper;
 import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.CaseVideoParam;
+import com.fdkankan.fusion.service.ICaseService;
+import com.fdkankan.fusion.service.ICaseVideoFolderService;
 import com.fdkankan.fusion.service.ICaseVideoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,33 +39,86 @@ import java.util.List;
 @Service
 public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVideo> implements ICaseVideoService {
 
+
+    @Autowired
+    UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    ICaseVideoFolderService videoFolderService;
+    @Autowired
+    ICaseService caseService;
+    @Autowired
+    UploadService uploadService;
+
+    @Value("${upload.query-path}")
+    private String queryPath;
+
     @Override
-    public List<CaseVideo> getList(CaseVideoParam param) {
-        if(param.getCaseId() == null){
+    public List<CaseVideo> getAllList(Integer folderId) {
+        if(folderId == null){
             throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
         }
         QueryWrapper<CaseVideo> wrapper = new QueryWrapper<>();
-        wrapper.lambda().eq(CaseVideo::getCaseId,param.getCaseId());
-        if(StringUtils.isNotBlank(param.getOrderBy())){
-            if(param.getSortBy().toLowerCase().equals("desc")){
-                wrapper.orderByDesc(param.getOrderBy());
-            }else {
-                wrapper.orderByAsc(param.getOrderBy());
-            }
-        }
+        wrapper.lambda().eq(CaseVideo::getFolderId,folderId);
+        wrapper.lambda().orderByAsc(CaseVideo::getSort);
+        wrapper.lambda().orderByAsc(CaseVideo::getCreateTime);
         return this.list(wrapper);
     }
 
     @Override
-    public void add(CaseVideoParam param) {
-        if(param.getCaseId() == null || StringUtils.isEmpty(param.getVideoName()) || StringUtils.isEmpty(param.getVideoPath())){
+    public void uploadAddVideo(MultipartFile[] files, Integer folderId,Integer caseId) throws IOException {
+        if(files.length <=0 || caseId == null){
             throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
         }
-        CaseVideo caseVideo = new CaseVideo();
-        caseVideo.setCaseId(param.getCaseId());
-        caseVideo.setVideoPath(param.getVideoPath());
-        caseVideo.setVoideName(param.getVideoName());
-        caseVideo.setSort(param.getSort());
-        this.save(caseVideo);
+        CaseEntity caseEntity = caseService.getById(caseId);
+        if(caseEntity == null){
+            throw new BusinessException(ResultCode.CASE_NOT_EXIST);
+        }
+        CaseVideoFolder videoFolder = videoFolderService.getByIdIfNotNew(folderId,caseId);
+        if(videoFolder == null){
+            throw new BusinessException(ResultCode.FOLDER_NOT_EXIST);
+        }
+        //替换文件夹中文件
+        this.deleteByFolderId(folderId);
+        List<CaseVideo> videoList = new ArrayList<>();
+        Integer sort = 1;
+        for (MultipartFile file : files) {
+            String ossPath = uploadService.uploadFile(file, true, String.format(FilePath.VIDEO_OSS_PATH,videoFolder.getVideoFolderId()));
+            CaseVideo caseVideo = new CaseVideo();
+            caseVideo.setFolderId(videoFolder.getVideoFolderId());
+            caseVideo.setVideoPath(ossPath);
+            caseVideo.setVideoName(file.getName());
+            caseVideo.setSort(sort);
+            videoList.add(caseVideo);
+            sort ++;
+        }
+        this.saveBatch(videoList);
     }
+
+
+    @Override
+    public void deleteByFolderId(Integer videoFolderId) {
+        LambdaQueryWrapper<CaseVideo> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseVideo::getFolderId,videoFolderId);
+        List<CaseVideo> list = this.list(wrapper);
+        if(list.size() <=0){
+            return;
+        }
+        for (CaseVideo caseVideo : list) {
+            this.delete(caseVideo.getVideoId());
+        }
+    }
+
+    @Override
+    public void delete(Integer videoId) {
+        CaseVideo caseVideo = this.getById(videoId);
+        this.removeById(videoId);
+        try {
+            String replace = caseVideo.getVideoPath().replace(queryPath, "");
+            uploadToOssUtil.delete(replace);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
 }

+ 16 - 0
src/main/java/com/fdkankan/fusion/service/impl/FusionNumServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.fusion.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.fusion.entity.CaseFusion;
 import com.fdkankan.fusion.entity.FusionNum;
@@ -66,6 +67,9 @@ public class FusionNumServiceImpl extends ServiceImpl<IFusionNumMapper, FusionNu
         HashMap<Integer, List<String>> typeMap = this.getTypeMap(listByFusionIdList);
         param.setTypeMap(typeMap);
         param.setCaseId(caseId);
+        List<SceneVo> sceneVos = caseService.sceneList(param, token);
+        for (SceneVo sceneVo : sceneVos) {
+        }
         return caseService.sceneList(param,token);
     }
 
@@ -103,4 +107,16 @@ public class FusionNumServiceImpl extends ServiceImpl<IFusionNumMapper, FusionNu
         fusionNum.setFusionId(caseFusion.getFusionId());
         this.save(fusionNum);
     }
+
+    @Override
+    public void updateModel(FusionParam param) {
+        if(param.getFusionNumId() == null || StringUtils.isEmpty(param.getTransform()) || StringUtils.isEmpty(param.getOpacity())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaUpdateWrapper<FusionNum> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(FusionNum::getFusionNumId,param.getFusionNumId())
+                .set(FusionNum::getTransform,param.getTransform())
+                .set(FusionNum::getOpacity,param.getOpacity());
+        this.update(wrapper);
+    }
 }

+ 5 - 0
src/main/resources/mapper/fusion/CaseVideoFolderMapper.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.ICaseVideoFolderMapper">
+
+</mapper>