|
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import fcb.project.manager.base.dao.TmHouseDao;
|
|
|
import fcb.project.manager.base.entity.ContextTokenBean;
|
|
|
+import fcb.project.manager.base.entity.PanoInitSceneRsp;
|
|
|
+import fcb.project.manager.base.entity.TmEstate;
|
|
|
import fcb.project.manager.base.entity.TmHouse;
|
|
|
import fcb.project.manager.base.enums.DeleteStatus;
|
|
|
import fcb.project.manager.base.enums.HouseStatus;
|
|
@@ -14,6 +16,8 @@ import fcb.project.manager.base.enums.UuidPreEnum;
|
|
|
import fcb.project.manager.base.service.ITmHouseService;
|
|
|
import fcb.project.manager.base.service.custom.PanoService;
|
|
|
import fcb.project.manager.core.feignInterfaces.UserFeign;
|
|
|
+import fdage.back.sdk.base.enums.ResultCodeEnum;
|
|
|
+import fdage.back.sdk.base.exception.CommonBaseException;
|
|
|
import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -45,6 +49,9 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
|
|
|
private PanoService panoService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private TmEstateServiceImpl tmEstateService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private TmAuditServiceImpl tmAuditService;
|
|
|
|
|
|
@Value("${inner.vr.scene.host}")
|
|
@@ -53,6 +60,9 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
|
|
|
@Value("${outer.vr.scene.host}")
|
|
|
private String outerSceneVrHost;
|
|
|
|
|
|
+ @Value("${vr.scene.format.link}")
|
|
|
+ private String vrLinkPath;
|
|
|
+
|
|
|
|
|
|
public IPage<TmHouse> getListByNameOrBelong(String houseTitle,
|
|
|
Integer status, Integer type,
|
|
@@ -113,6 +123,69 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
|
|
|
return resultPage;
|
|
|
}
|
|
|
|
|
|
+ public TmHouse updateSceneInfo(List<PanoInitSceneRsp> sceneRspList , TmHouse tmHouse){
|
|
|
+ boolean needUpdate = false;
|
|
|
+ TmEstate tmEstate = tmEstateService.getById(tmHouse.getEstateId());
|
|
|
+ if(null == tmEstate){
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "楼盘不存在");
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(tmEstate.getFcbEstateId())){
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "恒大楼盘ID为空,无法生成内外网链接");
|
|
|
+ }
|
|
|
+ String sceneLinkPath = "";
|
|
|
+ if(!CollectionUtils.isEmpty(sceneRspList)){
|
|
|
+ for ( PanoInitSceneRsp rsp : sceneRspList) {
|
|
|
+ if(StringUtils.equals("house" , rsp.getType())){
|
|
|
+ //户型的场景信息
|
|
|
+ if(!StringUtils.equals(rsp.getSceneCode() , tmHouse.getSceneNum())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setSceneNum(rsp.getSceneCode());
|
|
|
+ tmHouse.setSceneTitle(rsp.getSceneTitle());
|
|
|
+ tmHouse.setInnerVrLink(innerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ tmHouse.setVrLink(outerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ }
|
|
|
+ if(!StringUtils.equals(rsp.getIcon() , tmHouse.getSceneCover())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setSceneCover(rsp.getIcon());
|
|
|
+ }
|
|
|
+ }else if(StringUtils.equals("building" , rsp.getType())){
|
|
|
+ //楼盘(大场景)的场景信息
|
|
|
+ if(!StringUtils.equals(rsp.getSceneCode() , tmHouse.getBigSceneNum())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setBigSceneNum(rsp.getSceneCode());
|
|
|
+ tmHouse.setBigSceneTitle(rsp.getSceneTitle());
|
|
|
+ tmHouse.setBigInnerLink(innerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ tmHouse.setBigOuterLink(outerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ }
|
|
|
+ if(!StringUtils.equals(rsp.getIcon() , tmHouse.getSceneCover())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setBigSceneCover(rsp.getIcon());
|
|
|
+ }
|
|
|
+ }else if(StringUtils.equals("garden" , rsp.getType())){
|
|
|
+ //园林类型场景信息
|
|
|
+ if(!StringUtils.equals(rsp.getSceneCode() , tmHouse.getGardensSceneNum())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setGardensSceneNum(rsp.getSceneCode());
|
|
|
+ tmHouse.setGardensSceneTitle(rsp.getSceneTitle());
|
|
|
+ tmHouse.setGardensInnerLink(innerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ tmHouse.setGardensOuterLink(outerSceneVrHost + String.format(vrLinkPath , rsp.getSceneCode() , tmEstate.getFcbEstateId() , tmHouse.getId()));
|
|
|
+ }
|
|
|
+ if(!StringUtils.equals(rsp.getIcon() , tmHouse.getSceneCover())){
|
|
|
+ needUpdate = true;
|
|
|
+ tmHouse.setGardensCover(rsp.getIcon());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(needUpdate){
|
|
|
+ if(!updateHouse(tmHouse)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return tmHouse;
|
|
|
+ }
|
|
|
+
|
|
|
public List<TmHouse> getListByEstate(String estateId){
|
|
|
LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(TmHouse::getEstateId, estateId);
|