dengsixing il y a 2 semaines
Parent
commit
93eca383e9

+ 1 - 0
src/main/java/com/fdkankan/contro/constant/ModelingControlRespCode.java

@@ -4,6 +4,7 @@ public enum ModelingControlRespCode {
 
     FILE_EMPTY_UPLOADEDOP(90000, "缺少fileUploadedOp.cam"),
     FILE_EMPTY(90001, "缺少文件"),
+    NUM_EXISTS(90002, "场景已存在"),
     ;
 
     private Integer code;

+ 3 - 0
src/main/java/com/fdkankan/contro/mapper/IScenePlusMapper.java

@@ -15,4 +15,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
+    ScenePlus getDeletedByNum(String num);
+
+
 }

+ 2 - 0
src/main/java/com/fdkankan/contro/service/IScenePlusService.java

@@ -31,5 +31,7 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     ScenePlus getByUuid(String uuid);
 
+    ScenePlus getDeletedByNum(String num);
+
 
 }

+ 13 - 1
src/main/java/com/fdkankan/contro/service/impl/JmgaServiceImpl.java

@@ -14,10 +14,12 @@ import com.alibaba.fastjson.JSONObject;
 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.common.constant.RecStatus;
 import com.fdkankan.common.constant.SceneStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.contro.bean.SendCallAlgorithmDetail;
+import com.fdkankan.contro.constant.ModelingControlRespCode;
 import com.fdkankan.contro.constant.ZipConstant;
 import com.fdkankan.contro.entity.*;
 import com.fdkankan.contro.mq.service.IBuildLogService;
@@ -327,12 +329,22 @@ public class JmgaServiceImpl implements IJmgaService {
                 throw new BusinessException(60027, "scene.json文件数据异常");
             }
             JSONObject sceneJson = JSON.parseObject(sceneJsonStr);
+            sceneNum = sceneJson.getString("num");
+
+            ScenePlus scenePlusDb = scenePlusService.getDeletedByNum(sceneNum);
+            if(scenePlusDb != null && scenePlusDb.getRecStatus().equalsIgnoreCase(RecStatus.VALID.code())){
+                throw new BusinessException(ModelingControlRespCode.NUM_EXISTS.code(), ModelingControlRespCode.NUM_EXISTS.message());
+            }
+            if(scenePlusDb != null && scenePlusDb.getRecStatus().equalsIgnoreCase(RecStatus.DISABLE.code())){
+                scenePlusDb.setNum(scenePlusDb.getNum() + "-" + scenePlusDb.getId());
+                scenePlusService.updateById(scenePlusDb);
+            }
+
             int camType = sceneJson.getInteger("camType");
             String snCode = sceneJson.getString("snCode");
             Map<String, Object> instorage = cameraService.instorage(camType, snCode);
             cameraDetail = (CameraDetail) instorage.get("cameraDetail");
             ScenePlus scenePlus = new ScenePlus();
-            sceneNum = scene3dNumService.generateSceneNum(cameraDetail.getType());
             scenePlus.setNum(sceneNum);
             scenePlus.setCameraId(cameraDetail.getCameraId());
             scenePlus.setSceneSource(SceneSourceUtil.getSceneSourceByCamType(cameraDetail.getType()));

+ 5 - 0
src/main/java/com/fdkankan/contro/service/impl/ScenePlusServiceImpl.java

@@ -166,4 +166,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     public ScenePlus getByTaskId(String taskId) {
         return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getTaskId, taskId));
     }
+
+    @Override
+    public ScenePlus getDeletedByNum(String num) {
+        return this.getBaseMapper().getDeletedByNum(num);
+    }
 }

+ 7 - 0
src/main/resources/mapper/contro/ScenePlusMapper.xml

@@ -0,0 +1,7 @@
+<?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.contro.mapper.IScenePlusMapper">
+    <select id="getDeletedByNum" resultType="com.fdkankan.contro.entity.ScenePlus">
+        select * from t_scene_plus t where t.num = #{num}
+    </select>
+</mapper>