소스 검색

场景升级pro-plus的id冲突问题改造

dengsixing 2 년 전
부모
커밋
bdef403c71
1개의 변경된 파일11개의 추가작업 그리고 5개의 파일을 삭제
  1. 11 5
      src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

+ 11 - 5
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -44,6 +44,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.locks.Condition;
 import java.util.stream.Collectors;
@@ -1102,11 +1103,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         this.update(updateWrapper);
 
         //同步到scenePlus、scenePlus
-        sceneUpgradeMapper.deleteScenePlus(sceneProEntity.getId());
-        sceneUpgradeMapper.transferScenePlus(sceneProEntity.getId());
-        sceneUpgradeMapper.deleteScenePlusExt(sceneProEntity.getId());
-        String sceneKind = sceneProEntity.getSceneScheme() == 3 ? SceneKind.FACE.code(): SceneKind.TILES.code();
-        sceneUpgradeMapper.transferScenePlusExt(sceneProEntity.getId(), sceneKind);
+        //同步到scenePlus、scenePlus
+        ScenePlus scenePlus = scenePlusService.getByNum(num);
+        if(Objects.nonNull(scenePlus)){
+            sceneUpgradeMapper.deleteScenePlus(num);
+            sceneUpgradeMapper.deleteScenePlusExt(scenePlus.getId());
+        }
+        sceneUpgradeMapper.transferScenePlus(num);
+        scenePlus = scenePlusService.getByNum(num);
+        String sceneKind = sceneProEntity.getSceneScheme() == 3 ? SceneKind.FACE.code():SceneKind.TILES.code();
+        sceneUpgradeMapper.transferScenePlusExt(num, scenePlus.getId(), sceneKind);
 
         log.info("开始发送激光场景生成obj mq消息");