Pārlūkot izejas kodu

Merge branch 'hotfix-v4.1.0.1-20220726' into release

# Conflicts:
#	4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/SceneJsonBean.java
dengsixing 3 gadi atpakaļ
vecāks
revīzija
5a2915ff6a

+ 14 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/SceneJsonBean.java

@@ -82,6 +82,20 @@ public class SceneJsonBean {
      */
     private Integer version;
 
+    /**
+     * 图片版本
+     */
+    private Integer imgVersion;
+
+    /**
+     * 场景关联版本
+     */
+    private Integer linkVersion;
+
+//    /**
+//     * 户型图文件路径集合
+//     */
+//    private String[] floorPlanPaths;
 
     /**
      * 是否上传了户型图(0-否,1-是)

+ 12 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java

@@ -107,6 +107,18 @@ public class SceneEditInfo implements Serializable {
     private Integer version;
 
     /**
+     * 图片版本
+     */
+    @TableField("img_version")
+    private Integer imgVersion;
+
+    /**
+     * 场景关联版本
+     */
+    @TableField("link_version")
+    private Integer linkVersion;
+
+    /**
      * 是否上传模型
      */
     @TableField("is_upload_obj")

+ 3 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java

@@ -44,7 +44,9 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
     void upgradeVersionById(Long id);
 
-    void upgradeSceneJsonVersion(String num, int version) throws IOException ;
+    void upgradeVersionAndImgVersionById(Long id);
+
+    void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException ;
 
     ResultData uploadPanorama(String num, MultipartFile file) throws Exception;
 

+ 22 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -949,7 +949,15 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     @Override
-    public void upgradeSceneJsonVersion(String num, int version) throws IOException {
+    public void upgradeVersionAndImgVersionById(Long id) {
+        this.update(new LambdaUpdateWrapper<SceneEditInfo>()
+            .setSql("version=version + " + 1)
+            .setSql("img_version=img_version + " + 1)
+            .eq(SceneEditInfo::getId, id));
+    }
+
+    @Override
+    public void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException {
 
         //更新redis缓存版本号
         String key = String.format(RedisKey.SCENE_JSON, num);
@@ -957,6 +965,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         if(StrUtil.isNotEmpty(sceneJson)){
             SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
             sceneJsonBean.setVersion(version);
+            if(Objects.nonNull(imgVersion)){
+                sceneJsonBean.setImgVersion(imgVersion + 1);
+            }
             redisUtil.set(key, JSON.toJSONString(sceneJsonBean));
         }
 
@@ -966,6 +977,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         if(StrUtil.isNotEmpty(sceneJson)){
             SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
             sceneJsonBean.setVersion(version);
+            if(Objects.nonNull(imgVersion)){
+                sceneJsonBean.setImgVersion(imgVersion + 1);
+            }
             uploadToOssUtil.upload(JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonPath);
         }
 
@@ -1203,9 +1217,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         //更新数据库版本号
         SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
-        this.upgradeVersionById(sceneEditInfo.getId());
+        this.upgradeVersionAndImgVersionById(sceneEditInfo.getId());
         //更新scenejson缓存和oss文件版本号
-        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1);
+        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
 
         //如果部分成功,则需要返回成功数量和失败列表
         if(CollUtil.isNotEmpty(notExistFileList)){
@@ -1496,7 +1510,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //更新scene.json版本号
 //        this.upgradeVersionToSceneJson(num);
         //更新scenejson缓存和oss文件版本号
-        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1);
+        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, null);
 
         return ResultData.ok();
     }
@@ -2150,7 +2164,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
                 .eq(SceneEditInfoExt::getEditInfoId, sceneEditInfo.getId()));
 
         //更新场景版本
-        this.upgradeVersionById(sceneEditInfo.getId());
+        this.update(new LambdaUpdateWrapper<SceneEditInfo>()
+            .setSql("version=version+" + 1)
+            .setSql("link_version=link_version+" + 1)
+            .eq(SceneEditInfo::getId, sceneEditInfo.getId()));
     }
 
     /**

+ 3 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -3136,7 +3136,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }else{
             sceneEditInfoService.upgradeVersionById(editInfo.getId());
             //更新scenejson缓存和oss文件版本号
-            sceneEditInfoService.upgradeSceneJsonVersion(param.getNum(), editInfo.getVersion() + 1);
+            sceneEditInfoService.upgradeSceneJsonVersion(param.getNum(), editInfo.getVersion() + 1, null);
         }
 
         //更新scene.json版本号
@@ -3588,10 +3588,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                     .setSql("version = version + 1")
                     .setSql("floor_edit_ver = floor_edit_ver + 1")
                     .setSql("floor_publish_ver = floor_publish_ver + 1")
+                    .setSql("img_version = img_version + 1")
                     .set(SceneEditInfo::getIsUploadObj, CommonStatus.YES.code())
                     .eq(SceneEditInfo::getId, sceneEditInfo.getId()));
 
-            sceneEditInfoService.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1);
+            sceneEditInfoService.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
         }
 
         return ResultData.ok();

+ 10 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -93,6 +93,16 @@ public class SceneInfoVO {
     private Integer version;
 
     /**
+     * 图片版本
+     */
+    private Integer imgVersion;
+
+    /**
+     * 场景关联版本
+     */
+    private Integer linkVersion;
+
+    /**
      * 是否上传了户型图(0-否,1-是)
      */
     private Byte floorPlanUser;