dengsixing 2 tygodni temu
rodzic
commit
6991010ab4

+ 15 - 0
src/main/java/com/fdkankan/contro/mq/listener/UpdateSceneStatusListener.java

@@ -3,8 +3,13 @@ package com.fdkankan.contro.mq.listener;
 import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.constant.SceneSource;
 import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.contro.entity.ScenePlus;
+import com.fdkankan.contro.entity.ScenePlusExt;
 import com.fdkankan.contro.service.ICommonService;
+import com.fdkankan.contro.service.IScenePlusExtService;
+import com.fdkankan.contro.service.IScenePlusService;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
@@ -28,6 +33,10 @@ public class UpdateSceneStatusListener {
     private FYunFileServiceInterface fYunFileService;
     @Autowired
     private ICommonService commonService;
+    @Autowired
+    private IScenePlusService scenePlusService;
+    @Autowired
+    private IScenePlusExtService scenePlusExtService;
 
     /**
      * 更新场景status.json状态
@@ -51,6 +60,12 @@ public class UpdateSceneStatusListener {
             jsonObject.put("status", status);
             FileUtil.writeUtf8String(jsonObject.toJSONString(),ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json");
             fYunFileService.uploadFile(ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json", statusJsonPath);
+            ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+            if(scenePlus.getSceneSource() == SceneSource.QJKK.code()){
+                scenePlus.setSceneStatus(status);
+                scenePlus.setUpdateTime(null);
+                scenePlusService.updateById(scenePlus);
+            }
             if(status == 1){
                 commonService.sendEmail(num, "standar");
             }

+ 2 - 4
src/main/java/com/fdkankan/contro/mq/service/impl/BuildIntermitSceneServiceImpl.java

@@ -180,7 +180,7 @@ public class BuildIntermitSceneServiceImpl implements IBuildSceneService {
 
             scenePlus.setPayStatus(PayStatus.PAY.code());
             scenePlus.setUpdateTime(new Date());
-            scenePlus.setSceneStatus(SceneStatus.NO_DISPLAY.code());
+//            scenePlus.setSceneStatus(SceneStatus.NO_DISPLAY.code());
 
             Integer videoVersion = fdageData.getInteger("videoVersion");
             //读取计算结果文件生成videosJson
@@ -234,7 +234,6 @@ public class BuildIntermitSceneServiceImpl implements IBuildSceneService {
             }
             relocationInit.setPanNum(sceneCode);
             relocationInitService.save(relocationInit);
-            relocationInitService.pushInit(relocationInit);
 
             log.info("场景计算结果处理结束,场景码:{}", sceneCode);
 
@@ -280,11 +279,10 @@ public class BuildIntermitSceneServiceImpl implements IBuildSceneService {
         String num = scenePlus.getNum();
         String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
 
-        Integer status = 1;
         // 上传status JSON.
         JSONObject statusJson = new JSONObject();
         //临时将-2改成1,app还没完全更新
-        statusJson.put("status", status);
+        statusJson.put("status", scenePlus.getSceneStatus());
         statusJson.put("webSite", scenePlusExt.getWebSite());
         statusJson.put("sceneNum", num);
         statusJson.put("thumb", scenePlusExt.getThumb());

+ 4 - 0
src/main/java/com/fdkankan/contro/service/impl/RelocationInitServiceImpl.java

@@ -43,6 +43,10 @@ public class RelocationInitServiceImpl extends ServiceImpl<IRelocationInitMapper
     @Override
     public void pushInit(RelocationInit relocationInit) {
         try {
+            ScenePlus qjkk = scenePlusService.getScenePlusByNum(relocationInit.getPanNum());
+            if(qjkk.getSceneStatus() != SceneStatus.NO_DISPLAY.code() && qjkk.getSceneStatus() != SceneStatus.SUCCESS.code()){
+                return;
+            }
             ScenePlus sx = null;
             if(StrUtil.isNotEmpty(relocationInit.getNum())){
                 sx = scenePlusService.getScenePlusByNum(relocationInit.getNum());