dengsixing 8 meses atrás
pai
commit
c84440cf74
23 arquivos alterados com 661 adições e 6 exclusões
  1. 149 0
      src/main/java/com/fdkankan/download/entity/CameraDetail.java
  2. 54 0
      src/main/java/com/fdkankan/download/entity/SceneCooperation.java
  3. 4 0
      src/main/java/com/fdkankan/download/entity/ScenePlusExt.java
  4. 54 0
      src/main/java/com/fdkankan/download/entity/SceneResourceCamera.java
  5. 54 0
      src/main/java/com/fdkankan/download/entity/SceneResourceCooperation.java
  6. 3 3
      src/main/java/com/fdkankan/download/generate/AutoGenerate.java
  7. 19 0
      src/main/java/com/fdkankan/download/mapper/ICameraDetailMapper.java
  8. 18 0
      src/main/java/com/fdkankan/download/mapper/ISceneCooperationMapper.java
  9. 18 0
      src/main/java/com/fdkankan/download/mapper/ISceneResourceCameraMapper.java
  10. 18 0
      src/main/java/com/fdkankan/download/mapper/ISceneResourceCooperationMapper.java
  11. 19 0
      src/main/java/com/fdkankan/download/service/ICameraDetailService.java
  12. 16 0
      src/main/java/com/fdkankan/download/service/ISceneCooperationService.java
  13. 20 0
      src/main/java/com/fdkankan/download/service/ISceneResourceCameraService.java
  14. 16 0
      src/main/java/com/fdkankan/download/service/ISceneResourceCooperationService.java
  15. 25 0
      src/main/java/com/fdkankan/download/service/impl/CameraDetailServiceImpl.java
  16. 20 0
      src/main/java/com/fdkankan/download/service/impl/SceneCooperationServiceImpl.java
  17. 1 1
      src/main/java/com/fdkankan/download/service/impl/SceneDownloadHandlerServiceImpl.java
  18. 29 0
      src/main/java/com/fdkankan/download/service/impl/SceneResourceCameraServiceImpl.java
  19. 20 0
      src/main/java/com/fdkankan/download/service/impl/SceneResourceCooperationServiceImpl.java
  20. 89 2
      src/main/java/com/fdkankan/download/service/impl/ScrbServiceImpl.java
  21. 5 0
      src/main/resources/mapper/download/SceneCooperationMapper.xml
  22. 5 0
      src/main/resources/mapper/download/SceneResourceCameraMapper.xml
  23. 5 0
      src/main/resources/mapper/download/SceneResourceCooperationMapper.xml

+ 149 - 0
src/main/java/com/fdkankan/download/entity/CameraDetail.java

@@ -0,0 +1,149 @@
+package com.fdkankan.download.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 相机子表
+ * </p>
+ *
+ * @author
+ * @since 2022-07-04
+ */
+@Getter
+@Setter
+@TableName("t_camera_detail")
+public class CameraDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 余额
+     */
+    @TableField("balance")
+    private String balance;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 0表示客户,1表示员工,2表示赠送,3表示其他,4经销商销售
+     */
+    @TableField("own")
+    private Integer own;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 0表示本国,1表示国外
+     */
+    @TableField("country")
+    private Integer country;
+
+    /**
+     * 经销商
+     */
+    @TableField("agency")
+    private String agency;
+
+    /**
+     * 相机类型,0表示双目,1四维看看pro,2 四维看看lite,9 看见,10 深时 11,深光
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 总容量
+     */
+    @TableField("total_space")
+    private Long totalSpace;
+
+    /**
+     * 已使用容量
+     */
+    @TableField("used_space")
+    private Long usedSpace;
+
+    /**
+     * 相机主表t_camera的id
+     */
+    @TableField("camera_id")
+    private Long cameraId;
+
+    /**
+     * 商品表t_goods的id
+     */
+    @TableField("goods_id")
+    private Long goodsId;
+
+    /**
+     * 企业表t_company的id
+     */
+    @TableField("company_id")
+    private Long companyId;
+
+    /**
+     * 代理商架构管理t_agent_framework的id
+     */
+    @TableField("agent_framework_id")
+    private Long agentFrameworkId;
+
+    /**
+     * 相机协作用户id
+     */
+    @TableField("cooperation_user")
+    private Long cooperationUser;
+
+    /**
+     * 设备地址(追溯管理后台)
+     */
+    @TableField("address")
+    private String address;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private String createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private String updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("user_camera_version")
+    private String userCameraVersion;
+
+    @TableField("app_version")
+    private String appVersion;
+
+    @TableField("last_request_time")
+    private Date lastRequestTime;
+
+    @TableField("unit")
+    private String unit;
+
+}

+ 54 - 0
src/main/java/com/fdkankan/download/entity/SceneCooperation.java

@@ -0,0 +1,54 @@
+package com.fdkankan.download.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-02
+ */
+@Getter
+@Setter
+@TableName("t_scene_cooperation")
+public class SceneCooperation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 协作的用户id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 4 - 0
src/main/java/com/fdkankan/download/entity/ScenePlusExt.java

@@ -161,5 +161,9 @@ public class ScenePlusExt implements Serializable {
     @TableField("yun_file_bucket")
     private String yunFileBucket;
 
+    @TableField("algorithm_time")
+    private Date algorithmTime;
+
+
 
 }

+ 54 - 0
src/main/java/com/fdkankan/download/entity/SceneResourceCamera.java

@@ -0,0 +1,54 @@
+package com.fdkankan.download.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-02
+ */
+@Getter
+@Setter
+@TableName("t_scene_resource_camera")
+public class SceneResourceCamera implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 场景资源id
+     */
+    @TableField("scene_resource_id")
+    private Long sceneResourceId;
+
+    /**
+     * 协作相机的id
+     */
+    @TableField("camera_id")
+    private Long cameraId;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 54 - 0
src/main/java/com/fdkankan/download/entity/SceneResourceCooperation.java

@@ -0,0 +1,54 @@
+package com.fdkankan.download.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-02
+ */
+@Getter
+@Setter
+@TableName("t_scene_resource_cooperation")
+public class SceneResourceCooperation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 场景资源id
+     */
+    @TableField("scene_resource_id")
+    private Long sceneResourceId;
+
+    /**
+     * 协作用户的id
+     */
+    @TableField("scene_cooperation_id")
+    private Long sceneCooperationId;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 3 - 3
src/main/java/com/fdkankan/download/generate/AutoGenerate.java

@@ -17,7 +17,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") + ".";
 
         generate(path,"download", getTables(new String[]{
-                "t_scene_pro"
+                "t_scene_resource_camera"
         }));
 
     }
@@ -28,8 +28,8 @@ public class AutoGenerate {
 
 
     public static void  generate(String path,String moduleName,  List<String> tables){
-        FastAutoGenerator.create("jdbc:mysql://rm-wz90w10465iiwwv098o.mysql.rds.aliyuncs.com/4dkankan_v4",
-            "root","D2719bd0cae1a005")
+        FastAutoGenerator.create("jdbc:mysql://172.31.175.234:3306/4dkankan_v4",
+            "root","Djqk$2024-vr#")
                 .globalConfig(builder -> {
                     builder.author("")               //作者
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)

+ 19 - 0
src/main/java/com/fdkankan/download/mapper/ICameraDetailMapper.java

@@ -0,0 +1,19 @@
+package com.fdkankan.download.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.download.entity.CameraDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 相机子表 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2022-07-04
+ */
+@Mapper
+public interface ICameraDetailMapper extends BaseMapper<CameraDetail> {
+
+}
+

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneCooperationMapper.java

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

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneResourceCameraMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.mapper;
+
+import com.fdkankan.download.entity.SceneResourceCamera;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 场景资源和相机关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@Mapper
+public interface ISceneResourceCameraMapper extends BaseMapper<SceneResourceCamera> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneResourceCooperationMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.mapper;
+
+import com.fdkankan.download.entity.SceneResourceCooperation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 场景资源和协作用户关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@Mapper
+public interface ISceneResourceCooperationMapper extends BaseMapper<SceneResourceCooperation> {
+
+}

+ 19 - 0
src/main/java/com/fdkankan/download/service/ICameraDetailService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.download.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.download.entity.CameraDetail;
+
+/**
+ * <p>
+ * 相机子表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2022-07-04
+ */
+public interface ICameraDetailService extends IService<CameraDetail> {
+
+    CameraDetail getByCameraId(Long cameraId);
+
+
+}

+ 16 - 0
src/main/java/com/fdkankan/download/service/ISceneCooperationService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.download.service;
+
+import com.fdkankan.download.entity.SceneCooperation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+public interface ISceneCooperationService extends IService<SceneCooperation> {
+
+}

+ 20 - 0
src/main/java/com/fdkankan/download/service/ISceneResourceCameraService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.download.service;
+
+import com.fdkankan.download.entity.SceneResourceCamera;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 场景资源和相机关联表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-12-02
+ */
+public interface ISceneResourceCameraService extends IService<SceneResourceCamera> {
+
+    List<SceneResourceCamera> findListByCameraId(Long id);
+
+}

+ 16 - 0
src/main/java/com/fdkankan/download/service/ISceneResourceCooperationService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.download.service;
+
+import com.fdkankan.download.entity.SceneResourceCooperation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 场景资源和协作用户关联表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+public interface ISceneResourceCooperationService extends IService<SceneResourceCooperation> {
+
+}

+ 25 - 0
src/main/java/com/fdkankan/download/service/impl/CameraDetailServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.download.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.download.entity.CameraDetail;
+import com.fdkankan.download.mapper.ICameraDetailMapper;
+import com.fdkankan.download.service.ICameraDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 相机子表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2022-07-04
+ */
+@Service
+public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, CameraDetail> implements ICameraDetailService {
+
+    @Override
+    public CameraDetail getByCameraId(Long cameraId) {
+        return this.getOne(new LambdaQueryWrapper<CameraDetail>().eq(CameraDetail::getCameraId, cameraId));
+    }
+}

+ 20 - 0
src/main/java/com/fdkankan/download/service/impl/SceneCooperationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.download.service.impl;
+
+import com.fdkankan.download.entity.SceneCooperation;
+import com.fdkankan.download.mapper.ISceneCooperationMapper;
+import com.fdkankan.download.service.ISceneCooperationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@Service
+public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMapper, SceneCooperation> implements ISceneCooperationService {
+
+}

+ 1 - 1
src/main/java/com/fdkankan/download/service/impl/SceneDownloadHandlerServiceImpl.java

@@ -259,7 +259,7 @@ public class SceneDownloadHandlerServiceImpl {
 
             //上传压缩包
             String uploadPath = String.format(this.zipOssFormat, num);
-            fYunFileService.uploadFileByCommand(bucket, zipPath, uploadPath);
+            fYunFileService.uploadFile(zipPath, uploadPath);
 
             //更新进度100
             String url = this.publicUrl + uploadPath + "?t=" + Calendar.getInstance().getTimeInMillis();

+ 29 - 0
src/main/java/com/fdkankan/download/service/impl/SceneResourceCameraServiceImpl.java

@@ -0,0 +1,29 @@
+package com.fdkankan.download.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.download.entity.SceneResourceCamera;
+import com.fdkankan.download.mapper.ISceneResourceCameraMapper;
+import com.fdkankan.download.service.ISceneResourceCameraService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 场景资源和相机关联表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-12-02
+ */
+@Service
+public class SceneResourceCameraServiceImpl extends ServiceImpl<ISceneResourceCameraMapper, SceneResourceCamera> implements ISceneResourceCameraService {
+
+    @Override
+    public List<SceneResourceCamera> findListByCameraId(Long id) {
+        return this.list(new LambdaQueryWrapper<SceneResourceCamera>()
+                .eq(SceneResourceCamera::getCameraId, id));
+    }
+
+}

+ 20 - 0
src/main/java/com/fdkankan/download/service/impl/SceneResourceCooperationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.download.service.impl;
+
+import com.fdkankan.download.entity.SceneResourceCooperation;
+import com.fdkankan.download.mapper.ISceneResourceCooperationMapper;
+import com.fdkankan.download.service.ISceneResourceCooperationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 场景资源和协作用户关联表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-12-02
+ */
+@Service
+public class SceneResourceCooperationServiceImpl extends ServiceImpl<ISceneResourceCooperationMapper, SceneResourceCooperation> implements ISceneResourceCooperationService {
+
+}

+ 89 - 2
src/main/java/com/fdkankan/download/service/impl/ScrbServiceImpl.java

@@ -6,6 +6,8 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.ModelKind;
 import com.fdkankan.common.constant.SceneKind;
 import com.fdkankan.common.constant.SceneScheme;
@@ -21,6 +23,7 @@ import com.fdkankan.download.service.*;
 import com.fdkankan.download.util.RsaUtils;
 import com.fdkankan.fyun.config.FYunFileConfig;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.web.response.ResultData;
@@ -31,6 +34,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.nio.charset.StandardCharsets;
 import java.util.*;
 
 @Slf4j
@@ -54,6 +58,14 @@ public class ScrbServiceImpl implements IScrbService {
     private ISceneEditInfoExtService sceneEditInfoExtService;
     @Autowired
     private ISceneEditControlsService sceneEditControlsService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
+    @Autowired
+    private ISceneCooperationService sceneCooperationService;
+    @Autowired
+    private ISceneResourceCameraService sceneResourceCameraService;
+    @Autowired
+    private ISceneResourceCooperationService sceneResourceCooperationService;
     @Resource
     private RedisUtil redisUtil;
     @Resource
@@ -81,9 +93,25 @@ public class ScrbServiceImpl implements IScrbService {
         //删除4k图
         FileUtil.del(skyboxPath);
 
+        //不需要覆盖的文件
+        Set<String> notOverwriteFileKeys = new HashSet<>();
+        notOverwriteFileKeys.add(String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json");
+
         //上传文件
+        List<String> userFileList = fYunFileService.listRemoteFiles(String.format(UploadFilePath.USER_VIEW_PATH, num));
         List<File> files = FileUtil.loopFiles(scenePath + "scene_view_data/");
-        files.stream().forEach(file -> {
+        files.stream().filter(file->{
+            //第二次同步不需要同步user目录
+            if(file.getAbsolutePath().contains(String.format(UploadFilePath.USER_VIEW_PATH, num)) && CollUtil.isNotEmpty(userFileList)){
+                return false;
+            }
+            //指定不覆盖文件
+            String objectName = file.getAbsolutePath().replace(scenePath, "");
+            if(notOverwriteFileKeys.contains(objectName) && fYunFileService.fileExist(objectName)){
+                return false;
+            }
+            return true;
+        }).forEach(file -> {
             if(file.getAbsolutePath().endsWith("scene.json")){
                 String s = FileUtil.readUtf8String(file.getAbsolutePath());
                 JSONObject jsonObject = JSON.parseObject(s);
@@ -95,7 +123,8 @@ public class ScrbServiceImpl implements IScrbService {
                 headers = new HashMap<>();
                 headers.put("Content-Encoding", "gzip");
             }
-            fYunFileService.uploadFile(file.getAbsolutePath(), file.getAbsolutePath().replace(scenePath, ""), headers);
+            String objectName = file.getAbsolutePath().replace(scenePath, "");
+            fYunFileService.uploadFile(file.getAbsolutePath(), objectName, headers);
         });
 
         files = FileUtil.loopFiles(scenePath + "scene_result_data/");
@@ -130,10 +159,14 @@ public class ScrbServiceImpl implements IScrbService {
             Object data = resultData.getData();
             Long cameraId = ((JSONObject)data).getLong("id");
 
+            CameraDetail cameraDetail = cameraDetailService.getOne(new LambdaQueryWrapper<CameraDetail>().eq(CameraDetail::getCameraId, cameraId));
+
             String scenePlusStr = FileUtil.readUtf8String(scenePath + "scenePlus.txt");
             scenePlus = JSON.parseObject(scenePlusStr, ScenePlus.class);
             scenePlus.setId(null);
             scenePlus.setCameraId(cameraId);
+            scenePlus.setUserId(cameraDetail.getUserId());
+            scenePlus.setPayStatus(CommonStatus.YES.code().intValue());
             scenePlusService.save(scenePlus);
 
             String scenePlusExtStr = FileUtil.readUtf8String(scenePath + "scenePlusExt.txt");
@@ -145,6 +178,7 @@ public class ScrbServiceImpl implements IScrbService {
             scenePlusExt.setYunFileBucket(null);
             scenePlusExt.getVideos().replaceAll("https://4dkk.4dage.com/", "");
             scenePlusExt.setWebSite(scenePlusExt.getWebSite().replace("https://test.4dkankan.com", mainUrl).replace("https://www.4dkankan.com", mainUrl));
+            scenePlusExt.setSceneScheme(SceneScheme.LM.code());
             scenePlusExtService.save(scenePlusExt);
 
             String sceneEditInfoStr = FileUtil.readUtf8String(scenePath + "sceneEditInfo.txt");
@@ -166,6 +200,34 @@ public class ScrbServiceImpl implements IScrbService {
             sceneEditControls.setId(null);
             sceneEditControls.setEditInfoId(sceneEditInfo.getId());
             sceneEditControlsService.save(sceneEditControls);
+
+            this.setCooperation(scenePlus.getNum(), cameraId);
+
+        }else{
+            String scenePlusStr = FileUtil.readUtf8String(scenePath + "scenePlus.txt");
+            ScenePlus scenePlusNew = JSON.parseObject(scenePlusStr, ScenePlus.class);
+            scenePlus.setTitle(scenePlusNew.getTitle());
+            scenePlusService.updateById(scenePlus);
+
+            String scenePlusExtStr = FileUtil.readUtf8String(scenePath + "scenePlusExt.txt");
+            ScenePlusExt scenePlusExtNew = JSON.parseObject(scenePlusExtStr, ScenePlusExt.class);
+            ScenePlusExt scenePlusExt = scenePlusExtService.getByScenePlusId(scenePlus.getId());
+            scenePlusExt.setAlgorithmTime(scenePlusExtNew.getAlgorithmTime());
+            scenePlusExtService.updateById(scenePlusExt);
+
+            SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+            sceneEditInfo.setTitle(scenePlusNew.getTitle());
+            sceneEditInfoService.updateById(sceneEditInfo);
+
+            //更新scene.json  场景名称
+            String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
+            if(fYunFileService.fileExist(sceneJsonPath)){
+                String sceneJsonStr = fYunFileService.getFileContent(sceneJsonPath);
+                JSONObject sceneJson = JSON.parseObject(sceneJsonStr);
+                sceneJson.replace("title", scenePlusNew.getTitle());
+                sceneJsonStr = sceneJson.toJSONString();
+                fYunFileService.uploadFile(sceneJsonStr.getBytes(StandardCharsets.UTF_8), sceneJsonPath);
+            }
         }
 
         //清除用户编辑业务数据
@@ -189,4 +251,29 @@ public class ScrbServiceImpl implements IScrbService {
             handler.init(num, CollUtil.isEmpty(params) ? null : params.get(biz));
         }
     }
+
+    private void setCooperation(String num, Long cameraId){
+        CameraDetail cameraDetail = cameraDetailService.getByCameraId(cameraId);
+        if(Objects.isNull(cameraDetail)){
+            return;
+        }
+        Long cooperationUserId = cameraDetail.getCooperationUser();
+
+        SceneCooperation sceneCooperationEntity = new SceneCooperation();
+        sceneCooperationEntity.setSceneNum(num);
+        sceneCooperationEntity.setUserId(cooperationUserId);
+        sceneCooperationService.save(sceneCooperationEntity);
+
+        List<SceneResourceCamera> resourceCameraList = sceneResourceCameraService.findListByCameraId(cameraId);
+
+        SceneResourceCooperation sceneResourceCooperation = null;
+        if(resourceCameraList != null && resourceCameraList.size() > 0){
+            for (SceneResourceCamera sceneResourceCamera : resourceCameraList) {
+                sceneResourceCooperation = new SceneResourceCooperation();
+                sceneResourceCooperation.setSceneResourceId(sceneResourceCamera.getSceneResourceId());
+                sceneResourceCooperation.setSceneCooperationId(sceneCooperationEntity.getId());
+                sceneResourceCooperationService.save(sceneResourceCooperation);
+            }
+        }
+    }
 }

+ 5 - 0
src/main/resources/mapper/download/SceneCooperationMapper.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.download.mapper.ISceneCooperationMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/download/SceneResourceCameraMapper.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.download.mapper.ISceneResourceCameraMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/download/SceneResourceCooperationMapper.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.download.mapper.ISceneResourceCooperationMapper">
+
+</mapper>