dengsixing 4 meses atrás
pai
commit
5ccc2a9962

+ 3 - 1
src/main/java/com/fdkankan/scene/service/IScenePlusService.java

@@ -16,7 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
  * 场景主表 服务类
  * </p>
  *
- * @author 
+ * @author
  * @since 2022-03-16
  */
 public interface IScenePlusService extends IService<ScenePlus> {
@@ -45,4 +45,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     List<SceneBean> listColdStorageScene(int month);
 
+    String getRyIdByNum(String num);
+
 }

+ 22 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.service.impl;
 import cn.hutool.core.util.CharsetUtil;
 import com.fdkankan.common.constant.*;
 import com.fdkankan.common.util.FileSizeUtil;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.SaveFiltersParamVO;
@@ -178,6 +179,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private ISceneDynamicPanelService sceneDynamicPanelService;
     @Autowired
     private IJmgaService jmgaService;
+    @Resource
+    private RabbitMqProducer mqProducer;
 
     @Transactional
     @Override
@@ -342,6 +345,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         FileUtils.writeFile(localSceneJsonPath, JSON.toJSONString(sceneJson));
         //上传sceneJson文件
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", num);
+
+        Integer newVersion = sceneJson.getVersion();
+        String oldSceneJsonStr = fYunFileService.getFileContent(sceneJsonPath);
+        SceneJsonBean oldSceneJson = JSON.parseObject(oldSceneJsonStr, SceneJsonBean.class);
+        Integer oldVersion = oldSceneJson.getVersion();
         fYunFileService.uploadFile(bucket, JSON.toJSONBytes(sceneJson), sceneJsonPath);
 
         //删除发布数据中的user目录
@@ -375,6 +383,20 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         scenePlus.setHouseType(this.existsHouseType(bucket, num));
         scenePlusService.updateById(scenePlus);
 
+        if(!oldVersion.equals(newVersion)){
+            Map<String, Object> map = new HashMap<>();
+            try {
+                map.put("event_type", "三维实景更新");
+                map.put("event_content", "三维实景更新");
+                map.put("scene_num", num);
+                map.put("event_time", new Date());
+                map.put("ryid", scenePlusService.getRyIdByNum(num));
+                mqProducer.sendByWorkQueue("jmga-event-notice", param);
+            }catch (Exception ex){
+                log.info("推送事件失败,param:{}", param);
+            }
+        }
+
         return ResultData.ok();
     }
 

+ 13 - 13
src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java

@@ -18,24 +18,14 @@ import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.scene.bean.SceneBean;
-import com.fdkankan.scene.entity.SceneEditInfoExt;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.service.ISceneEditInfoExtService;
-import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.service.*;
 import com.fdkankan.web.response.ResultData;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.scene.entity.SceneDataDownload;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.mapper.IScenePlusMapper;
-import com.fdkankan.scene.service.ISceneDataDownloadService;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusExtService;
-import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.vo.BaseSceneParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneDataDownloadVO;
@@ -53,7 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
  * 场景主表 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2022-03-16
  */
 @Slf4j
@@ -83,6 +73,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     private FYunFileServiceInterface fYunFileService;
     @Autowired
     private ISceneEditInfoExtService sceneEditInfoExtService;
+    @Autowired
+    private IJyUserService jyUserService;
 
     @Override
     public ScenePlus getScenePlusByNum(String num) {
@@ -273,4 +265,12 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         time = DateUtil.beginOfDay(DateUtil.offset(time, DateField.MONTH, -cleanOrigMonth));
         return this.baseMapper.selectColdStorageScene(time);
     }
+    @Override
+    public String getRyIdByNum(String num) {
+        ScenePlus scenePlus = this.getScenePlusByNum(num);
+        Long userId = scenePlus.getUserId();
+        JyUser jyUser = jyUserService.getByUserId(userId.intValue());
+        return jyUser.getRyId();
+    }
+
 }