|
@@ -35,6 +35,7 @@ import com.fdkankan.scene.bean.SceneJsonBean;
|
|
|
import com.fdkankan.scene.entity.SceneDataDownload;
|
|
|
import com.fdkankan.scene.entity.SceneEditControls;
|
|
|
import com.fdkankan.scene.entity.SceneEditInfo;
|
|
|
+import com.fdkankan.scene.entity.SceneEditInfoExt;
|
|
|
import com.fdkankan.scene.entity.ScenePro;
|
|
|
import com.fdkankan.scene.entity.SceneProExt;
|
|
|
import com.fdkankan.scene.factory.FloorLogoHandlerFactory;
|
|
@@ -43,6 +44,7 @@ import com.fdkankan.scene.factory.ScreenshotHandlerFactory;
|
|
|
import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
|
|
|
import com.fdkankan.scene.service.ISceneDataDownloadService;
|
|
|
import com.fdkankan.scene.service.ISceneEditControlsService;
|
|
|
+import com.fdkankan.scene.service.ISceneEditInfoExtService;
|
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
|
import com.fdkankan.scene.service.ISceneProExtService;
|
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
@@ -108,6 +110,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
PlatformGoodsClient platformGoodsClient;
|
|
|
@Autowired
|
|
|
PlatformUserClient platformUserClient;
|
|
|
+ @Autowired
|
|
|
+ private ISceneEditInfoExtService sceneEditInfoExtService;
|
|
|
|
|
|
|
|
|
@Transactional
|
|
@@ -170,12 +174,19 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
ScenePro scenePro = sceneProService.findBySceneNum(sceneNum);
|
|
|
SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
|
|
|
SceneEditInfo sceneEditInfo = this.getBySceneProId(scenePro.getId());
|
|
|
- SceneEditControls sceneEditControls = null;
|
|
|
+ SceneEditInfoExt sceneEditInfoExt = null;
|
|
|
+ SceneEditControls sceneEditControls = null;
|
|
|
if(sceneEditInfo == null){
|
|
|
sceneEditInfo = new SceneEditInfo();
|
|
|
sceneEditInfo.setSceneProId(scenePro.getId());
|
|
|
}else{
|
|
|
sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
|
|
|
+ sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
|
|
|
+ }
|
|
|
+ if(sceneEditInfoExt == null){
|
|
|
+ sceneEditInfoExt = new SceneEditInfoExt();
|
|
|
+ sceneEditInfoExt.setFloorPlanAngle(0);
|
|
|
+ sceneEditInfoExt.setFloorPlanCompass(0);
|
|
|
}
|
|
|
|
|
|
// if(sceneEditControls == null){
|
|
@@ -183,7 +194,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
// }
|
|
|
|
|
|
//生成sceneJson
|
|
|
- SceneJsonBean sceneJson = BeanUtil.copyProperties(sceneEditInfo, SceneJsonBean.class);
|
|
|
+ SceneJsonBean sceneJson = new SceneJsonBean();
|
|
|
+ BeanUtil.copyProperties(sceneEditInfoExt, sceneJson);
|
|
|
+ BeanUtil.copyProperties(sceneEditInfo, sceneJson);
|
|
|
SceneEditControlsVO sceneEditControlsVO = BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class);
|
|
|
sceneJson.setControls(sceneEditControlsVO);
|
|
|
sceneJson.setNum(sceneNum);
|
|
@@ -232,6 +245,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}else{
|
|
|
this.updateById(sceneEditInfo);
|
|
|
}
|
|
|
+ sceneEditInfoExt.setSceneProId(scenePro.getId());
|
|
|
+ sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
|
|
|
+ sceneEditInfoExtService.saveOrUpdate(sceneEditInfoExt);
|
|
|
|
|
|
// sceneEditControls.setEditInfoId(sceneEditInfo.getId());
|
|
|
// if(sceneEditControls.getId() == null){
|
|
@@ -339,8 +355,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
if(Objects.isNull(sceneEditInfo)){
|
|
|
throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
|
}
|
|
|
+ SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
|
|
|
SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
|
|
|
- SceneInfoVO sceneInfoVO = BeanUtil.copyProperties(sceneEditInfo, SceneInfoVO.class);
|
|
|
+ SceneInfoVO sceneInfoVO = new SceneInfoVO();
|
|
|
+ BeanUtil.copyProperties(sceneEditInfoExt, sceneInfoVO);
|
|
|
+ BeanUtil.copyProperties(sceneEditInfo, sceneInfoVO);
|
|
|
sceneInfoVO.setControls(BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class));
|
|
|
sceneInfoVO.setNum(num);
|
|
|
//生成sceneJson
|
|
@@ -469,8 +488,16 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
String filePathStr = null;
|
|
|
|
|
|
String floors = fileInfoJson.getString("floors");
|
|
|
- String cadInfo = fileInfoJson.getString("cadInfo");
|
|
|
+ String cadInfo = null;
|
|
|
+ Integer angel = null;
|
|
|
+ Integer compass = null;
|
|
|
String floorJsonData = fileInfoJson.getString("floorJsonData");
|
|
|
+ if(StrUtil.isNotBlank(floorJsonData)){
|
|
|
+ JSONObject jsonObject = JSON.parseObject(floorJsonData);
|
|
|
+ cadInfo = jsonObject.getString("cadInfo");
|
|
|
+ angel = jsonObject.getInteger("angle");
|
|
|
+ compass = jsonObject.getInteger("compass");
|
|
|
+ }
|
|
|
// String filePaths = fileInfoJson.getString("filePaths");
|
|
|
// Byte reSet = fileInfoJson.getByte("reset");
|
|
|
|
|
@@ -486,6 +513,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
// }
|
|
|
|
|
|
//处理户型图数据
|
|
|
+ JSONObject floorUserJson = null;
|
|
|
if(StrUtil.isNotEmpty(floors)) {
|
|
|
//如果入参是空,则加载服务器的
|
|
|
if(StrUtil.isEmpty(floorJsonData)){
|
|
@@ -498,7 +526,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
|
|
|
//如果floors不为空,需要根据对应楼层id修改楼层名称
|
|
|
if (StrUtil.isNotEmpty(floorJsonData)) {
|
|
|
- JSONObject floorUserJson = this.updateFloorName(floors, floorJsonData);
|
|
|
+ floorUserJson = this.updateFloorName(floors, floorJsonData);
|
|
|
floorJsonData = floorUserJson.toJSONString();
|
|
|
}
|
|
|
}
|
|
@@ -555,6 +583,20 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
this.save(sceneEditInfoDb);
|
|
|
}
|
|
|
|
|
|
+ SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfoDb.getId());
|
|
|
+ if(Objects.isNull(sceneEditInfoExt)){
|
|
|
+ sceneEditInfoExt = new SceneEditInfoExt();
|
|
|
+ sceneEditInfoExt.setEditInfoId(sceneEditInfoDb.getId());
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(angel)){
|
|
|
+ sceneEditInfoExt.setFloorPlanAngle(angel);
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(compass)){
|
|
|
+ sceneEditInfoExt.setFloorPlanCompass(compass);
|
|
|
+ }
|
|
|
+ sceneEditInfoExtService.saveOrUpdate(sceneEditInfoExt);
|
|
|
+
|
|
|
+
|
|
|
return ResultData.ok();
|
|
|
|
|
|
}
|