dengsixing 8 months ago
parent
commit
7f531c0ae4

+ 6 - 3
src/main/java/com/fdkankan/contro/mq/service/impl/BuildReverseE57SceneServiceImpl.java

@@ -82,8 +82,8 @@ public class BuildReverseE57SceneServiceImpl implements IBuildSceneService {
     @Override
     public void buildScenePre(BuildSceneCallMessage message) throws Exception{
         String num = message.getSceneNum();
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
         try {
-            ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
             ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
             String dataSource = scenePlusExt.getDataSource();
             message.setPath(dataSource);
@@ -112,6 +112,8 @@ public class BuildReverseE57SceneServiceImpl implements IBuildSceneService {
 
         }catch (Exception e){
             log.error("上传e57计算前置处理出错,num"+num, e);
+            scenePlus.setSceneStatus(CommonSuccessStatus.FAIL.code());
+            scenePlusService.updateById(scenePlus);
             buildSceneDTService.handBaseFail("上传e57计算资源准备异常!", message.getPath(), message.getSceneNum(), "计算控制服务器");
             throw e;
         }
@@ -137,6 +139,7 @@ public class BuildReverseE57SceneServiceImpl implements IBuildSceneService {
     public void buildScenePost(BuildSceneResultMqMessage message) throws Exception {
         String sceneCode = message.getBuildContext().get("sceneNum").toString();
         String path = message.getPath();
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(sceneCode);
         try {
             // 上传计算日志
             //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
@@ -154,8 +157,6 @@ public class BuildReverseE57SceneServiceImpl implements IBuildSceneService {
                 return;
             }
 
-            ScenePlus scenePlus = scenePlusService.getScenePlusByNum(sceneCode);
-
             Map<String, String> uploadFiles = this.getUploadFiles(scenePlus,path);
 
             scenePlus.setPayStatus(PayStatus.PAY.code());
@@ -216,6 +217,8 @@ public class BuildReverseE57SceneServiceImpl implements IBuildSceneService {
 
         }catch (Exception e){
             log.error("场景计算结果处理出错,num"+sceneCode, e);
+            scenePlus.setSceneStatus(CommonSuccessStatus.FAIL.code());
+            scenePlusService.updateById(scenePlus);
             buildSceneDTService.handBaseFail("场景计算结果处理出错!", message.getPath(), sceneCode, "计算控制服务器");
             throw e;
         }