lyhzzz 8 months ago
parent
commit
9033261bf1

+ 2 - 2
src/main/java/com/fdkankan/ucenter/controller/app/SceneApiController.java

@@ -248,7 +248,7 @@ public class SceneApiController extends BaseController {
      * */
      * */
     @PostMapping("/finSkSceneNum")
     @PostMapping("/finSkSceneNum")
     public Result finSkSceneNum(){
     public Result finSkSceneNum(){
-        String num = scene3dNumService.generateSceneNum(null);
+        String num = scene3dNumService.generateSceneNum();
         return Result.success(num);
         return Result.success(num);
     }
     }
 
 
@@ -257,7 +257,7 @@ public class SceneApiController extends BaseController {
      * */
      * */
     @PostMapping("/finSceneNum")
     @PostMapping("/finSceneNum")
     public Result finSceneNum(){
     public Result finSceneNum(){
-        String num = scene3dNumService.generateSceneNum(null);
+        String num = scene3dNumService.generateSceneNum();
         return Result.success(num);
         return Result.success(num);
     }
     }
 
 

+ 6 - 0
src/main/java/com/fdkankan/ucenter/entity/ScenePlus.java

@@ -116,4 +116,10 @@ public class ScenePlus implements Serializable {
     @TableField("rec_status")
     @TableField("rec_status")
     @TableLogic(value = "A",delval = "I")
     @TableLogic(value = "A",delval = "I")
     private String recStatus;
     private String recStatus;
+
+    @TableField("other_type")
+    private String otherType;
+
+    @TableField("source_id")
+    private Integer sourceId;
 }
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IScene3dNumService.java

@@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IScene3dNumService extends IService<Scene3dNum> {
 public interface IScene3dNumService extends IService<Scene3dNum> {
 
 
     String generateSceneNum(Integer type);
     String generateSceneNum(Integer type);
+    String generateSceneNum(String oldNum);
+    String generateSceneNum();
 }
 }

+ 24 - 0
src/main/java/com/fdkankan/ucenter/service/impl/Scene3dNumServiceImpl.java

@@ -56,4 +56,28 @@ public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3
 
 
     }
     }
 
 
+    @Override
+    public String generateSceneNum(String oldNum) {
+        String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
+        if(StringUtils.isEmpty(sceneNum)){
+            throw new BusinessException(ResultCode.FAILURE_CODE_400001,ResultCode.FAILURE_MSG_400001);
+        }
+        if(oldNum.contains("-")){
+            String prefix = oldNum.split("-")[0];
+            return prefix +"-"+ sceneNum;
+        }
+        return sceneNum;
+
+    }
+
+    @Override
+    public String generateSceneNum() {
+        String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
+        if(StringUtils.isEmpty(sceneNum)){
+            throw new BusinessException(ResultCode.FAILURE_CODE_400001,ResultCode.FAILURE_MSG_400001);
+        }
+        return sceneNum;
+
+    }
+
 }
 }

+ 4 - 19
src/main/java/com/fdkankan/ucenter/service/impl/SceneCommonService.java

@@ -255,36 +255,21 @@ public class SceneCommonService {
             log.info("复制失败:{}",newNum);
             log.info("复制失败:{}",newNum);
             return;
             return;
         }
         }
-        Long cameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
-        Long space = 0L;
-        if(scenePlus != null){
-            ScenePlusExt plusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
-            if(plusExt == null){
-                return;
-            }
-            space = plusExt.getSpace();
-
-        }
-        if(scenePro != null){
-            space = scenePro.getSpace();
-        }
-        CameraDetail cameraDetail = cameraDetailService.getByCameraId(cameraId);
-        CameraType cameraType = cameraTypeService.getByCameraType(cameraDetail.getType());
-        cameraDetailService.addUsedSpace(cameraDetail,space);
-
 
 
-        if(cameraType.getIsLaser() == 1 && scenePlus != null){
+        if(scenePlus != null){
             LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
             LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
             wrapper.eq(ScenePlus::getId,scenePlus.getId());
             wrapper.eq(ScenePlus::getId,scenePlus.getId());
             wrapper.set(ScenePlus::getSceneStatus,-2);
             wrapper.set(ScenePlus::getSceneStatus,-2);
             scenePlusService.update(wrapper);
             scenePlusService.update(wrapper);
         }
         }
-        if(cameraType.getIsLaser() == 1 && scenePro != null){
+        if(scenePro != null){
             LambdaUpdateWrapper<ScenePro> wrapper = new LambdaUpdateWrapper<>();
             LambdaUpdateWrapper<ScenePro> wrapper = new LambdaUpdateWrapper<>();
             wrapper.eq(ScenePro::getId,scenePro.getId());
             wrapper.eq(ScenePro::getId,scenePro.getId());
             wrapper.set(ScenePro::getStatus,-2);
             wrapper.set(ScenePro::getStatus,-2);
             sceneProService.update(wrapper);
             sceneProService.update(wrapper);
         }
         }
 
 
+
+
     }
     }
 }
 }

+ 12 - 8
src/main/java/com/fdkankan/ucenter/service/impl/SceneCopyServiceImpl.java

@@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
 
 
 import java.io.File;
 import java.io.File;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 
 @Service
 @Service
 @Slf4j
 @Slf4j
@@ -94,8 +91,12 @@ public class SceneCopyServiceImpl {
             plusExt.setId(null);
             plusExt.setId(null);
             plusExt.setPlusId(scenePlus.getId());
             plusExt.setPlusId(scenePlus.getId());
             plusExt.setDataSource(newDataSource);
             plusExt.setDataSource(newDataSource);
-            plusExt.setWebSite(plusExt.getWebSite().replace(oldNum, newNum));
-            plusExt.setThumb(plusExt.getThumb().replace(oldNum, newNum));
+            if(StringUtils.isNotBlank(plusExt.getWebSite())){
+                plusExt.setWebSite(plusExt.getWebSite().replace(oldNum, newNum));
+            }
+            if(StringUtils.isNotBlank(plusExt.getThumb())){
+                plusExt.setThumb(plusExt.getThumb().replace(oldNum, newNum));
+            }
             plusExt.setVideos(newVideos);
             plusExt.setVideos(newVideos);
             plusExt.setViewCount(0);
             plusExt.setViewCount(0);
             scenePlusExtService.save(plusExt);
             scenePlusExtService.save(plusExt);
@@ -130,7 +131,7 @@ public class SceneCopyServiceImpl {
                 });
                 });
             }
             }
 
 
-            if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+            if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5 || scenePlus.getSceneSource() == 57){  //深时复制
                 laserService.copy(oldNum,newNum,newDataSource,true);
                 laserService.copy(oldNum,newNum,newDataSource,true);
             }else {
             }else {
                 laserService.cloudPointBuild(oldNum,newNum);
                 laserService.cloudPointBuild(oldNum,newNum);
@@ -153,7 +154,7 @@ public class SceneCopyServiceImpl {
             this.updateNasSceneJson(targetData,oldNum,newNum,scenePlus.getTitle(),"v4","scene.json");
             this.updateNasSceneJson(targetData,oldNum,newNum,scenePlus.getTitle(),"v4","scene.json");
             log.info("setp:5{}",newNum);
             log.info("setp:5{}",newNum);
 
 
-            if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+            if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5 || scenePlus.getSceneSource() == 57){  //深时复制
                 laserService.copy(oldNum,newNum,newDataSource,false);
                 laserService.copy(oldNum,newNum,newDataSource,false);
             }else {
             }else {
                 scenePlus.setSceneStatus(-2);
                 scenePlus.setSceneStatus(-2);
@@ -278,6 +279,9 @@ public class SceneCopyServiceImpl {
             log.info("oldDataSource格式错误:{}",oldDataSource);
             log.info("oldDataSource格式错误:{}",oldDataSource);
             return null;
             return null;
         }
         }
+        if(oldDataSource.contains("/mnt/data/reverseScene")){
+            return "/mnt/data/reverseScene/"+UUID.randomUUID().toString();
+        }
 
 
         String time = com.fdkankan.common.util.DateUtil.date2String(new Date(), com.fdkankan.common.util.DateUtil.YYYYMMDDHHMMSSSSS_DATA_FORMAT);
         String time = com.fdkankan.common.util.DateUtil.date2String(new Date(), com.fdkankan.common.util.DateUtil.YYYYMMDDHHMMSSSSS_DATA_FORMAT);
         String[] split = oldDataSource.split("/");
         String[] split = oldDataSource.split("/");

+ 4 - 30
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -701,7 +701,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(!canSpace){
         if(!canSpace){
             throw new BusinessException(CameraConstant.FAILURE_CODE_6008, CameraConstant.FAILURE_MSG_6008);
             throw new BusinessException(CameraConstant.FAILURE_CODE_6008, CameraConstant.FAILURE_MSG_6008);
         }
         }
-        copyScene(sceneNum,detailEntity,scenePro,scenePlus,cameraType);
+        copyScene(sceneNum,scenePro,scenePlus);
 
 
     }
     }
 
 
@@ -709,33 +709,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     public synchronized void copySceneNoCheck(String sceneNum) throws Exception {
     public synchronized void copySceneNoCheck(String sceneNum) throws Exception {
         ScenePro scenePro = this.getByNum(sceneNum);
         ScenePro scenePro = this.getByNum(sceneNum);
         ScenePlus scenePlus = scenePlusService.getByNum(sceneNum);
         ScenePlus scenePlus = scenePlusService.getByNum(sceneNum);
-        Long cameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
-        CameraDetail detailEntity = cameraDetailService.getByCameraId(cameraId);
-        if(detailEntity == null){
-            throw new BusinessException(CameraConstant.FAILURE_CODE_6029, CameraConstant.FAILURE_MSG_6029);
-        }
-        IncrementType incrementType  = null;
-        UserIncrement userIncrement = userIncrementService.getByCameraId(cameraId);
-        if(userIncrement != null && userIncrement.getIsExpired() != 1){
-             incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
-        }
-        Long space = null;
-        if( scenePro != null ){
-            space = scenePro.getSpace();
-        }
-        if( scenePlus != null ){
-            ScenePlusExt ext = scenePlusExtService.getByPlusId(scenePlus.getId());
-            space = ext.getSpace();
-        }
-        CameraType cameraType = cameraTypeService.getByCameraType(detailEntity.getType());
-
-        Boolean canSpace = cameraDetailService.checkSpace(detailEntity,incrementType,space,cameraType);
-
-        if(!canSpace){
-            throw new BusinessException(CameraConstant.FAILURE_CODE_6008, CameraConstant.FAILURE_MSG_6008);
-        }
-
-        copyScene(sceneNum,detailEntity,scenePro,scenePlus,cameraType);
+        copyScene(sceneNum,scenePro,scenePlus);
     }
     }
 
 
     @Autowired
     @Autowired
@@ -744,8 +718,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     @Value("${queue.scene.copy:ucenter-copy-scene}")
     @Value("${queue.scene.copy:ucenter-copy-scene}")
     private String copySceneQueue;
     private String copySceneQueue;
 
 
-    private void copyScene(String oldNum,CameraDetail detailEntity,ScenePro scenePro,ScenePlus scenePlus,CameraType cameraType) throws Exception {
-        String newNum = scene3dNumService.generateSceneNum(detailEntity.getType());
+    private void copyScene(String oldNum,ScenePro scenePro,ScenePlus scenePlus) throws Exception {
+        String newNum = scene3dNumService.generateSceneNum(oldNum);
         Long userId = scenePro == null ? scenePlus.getUserId() :scenePro.getUserId();
         Long userId = scenePro == null ? scenePlus.getUserId() :scenePro.getUserId();
         sceneCopyLogService.saveByNum(oldNum,newNum,userId);
         sceneCopyLogService.saveByNum(oldNum,newNum,userId);
         HashMap<String,String > map = new HashMap<>();
         HashMap<String,String > map = new HashMap<>();