|
@@ -1,4 +1,5 @@
|
|
|
package com.fdkankan.scene.service.impl;
|
|
|
+import java.util.Date;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
@@ -11,7 +12,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.fdkankan.common.constant.CommonStatus;
|
|
|
import com.fdkankan.common.constant.RecStatus;
|
|
|
import com.fdkankan.model.utils.CreateHouseJsonUtil;
|
|
|
+import com.fdkankan.scene.entity.FolderScene;
|
|
|
import com.fdkankan.scene.entity.ScenePlus;
|
|
|
+import com.fdkankan.scene.service.IFolderSceneService;
|
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
|
import com.fdkankan.web.response.ResultData;
|
|
|
import com.fdkankan.common.util.FileUtils;
|
|
@@ -113,6 +116,8 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
|
|
|
private FYunFileServiceInterface fYunFileService;
|
|
|
@Autowired
|
|
|
private IScenePlusService scenePlusService;
|
|
|
+ @Autowired
|
|
|
+ private IFolderSceneService folderSceneService;
|
|
|
|
|
|
@Override
|
|
|
public void upgrade(long sceneProId, boolean reUpgrade) throws Exception{
|
|
@@ -463,9 +468,6 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
|
|
|
//迁移耗时
|
|
|
consumTime = Calendar.getInstance().getTimeInMillis() - startTime;
|
|
|
|
|
|
- //记录日志
|
|
|
- this.upgradeLog(sceneRepairLog, num, 1, null, consumTime);
|
|
|
-
|
|
|
//处理scenepro的升级状态和协作关系
|
|
|
sceneProService.upgradeToV4ResultSync(
|
|
|
RequestSceneProV4.builder()
|
|
@@ -473,8 +475,14 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
|
|
|
.webSite(scenePro.getWebSite())
|
|
|
.build());
|
|
|
|
|
|
+ //如果场景是放在文件夹中的,需要把升级后的场景id放入文件夹中
|
|
|
+ this.reBindFolder(scenePro.getId(), scenePlus.getId());
|
|
|
+
|
|
|
this.updateProgress(num, 100, ProgressStatus.SUCCESS.code());
|
|
|
|
|
|
+ //记录日志
|
|
|
+ this.upgradeLog(sceneRepairLog, num, 1, null, consumTime);
|
|
|
+
|
|
|
}catch (Exception e){
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
|
@@ -492,6 +500,29 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * <p>
|
|
|
+ 场景升级后,场景id发生了变化,需要把新的id放入倒文件夹中
|
|
|
+ * </p>
|
|
|
+ * @author dengsixing
|
|
|
+ * @date 2022/12/1
|
|
|
+ * @param sceneProId
|
|
|
+ * @param scenePlusId
|
|
|
+ **/
|
|
|
+ private void reBindFolder(long sceneProId, long scenePlusId){
|
|
|
+ List<FolderScene> proFolderList = folderSceneService.getBySceneId(sceneProId);
|
|
|
+ if(CollUtil.isEmpty(proFolderList)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<FolderScene> list = proFolderList.stream().map(fs -> {
|
|
|
+ FolderScene plusFs = new FolderScene();
|
|
|
+ plusFs.setFolderId(fs.getFolderId());
|
|
|
+ plusFs.setSceneId(scenePlusId);
|
|
|
+ return plusFs;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ folderSceneService.saveBatch(list);
|
|
|
+ }
|
|
|
+
|
|
|
private void rollback(String num){
|
|
|
|
|
|
//还原scenePro的升级状态
|