|
@@ -12,6 +12,7 @@ import fcb.project.manager.base.service.impl.TmAuditServiceImpl;
|
|
|
import fcb.project.manager.base.service.impl.TmHouseServiceImpl;
|
|
|
import fcb.project.manager.base.service.impl.TmOperationServiceImpl;
|
|
|
import fcb.project.manager.base.utils.DataUtils;
|
|
|
+import fcb.project.manager.core.feignInterfaces.PanoFeign;
|
|
|
import fcb.project.manager.core.feignInterfaces.SceneFeign;
|
|
|
import fdage.back.sdk.base.entity.Result;
|
|
|
import fdage.back.sdk.base.enums.ResultCodeEnum;
|
|
@@ -24,6 +25,7 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -57,6 +59,9 @@ public class AuditController extends BaseController{
|
|
|
private TmHouseServiceImpl tmHouseService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private RedisTemplate redisTemplate;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private SceneFeign sceneFeign;
|
|
|
|
|
|
@Autowired
|
|
@@ -65,6 +70,8 @@ public class AuditController extends BaseController{
|
|
|
@Autowired
|
|
|
private TmOperationServiceImpl tmOperationService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PanoFeign panoFeign;
|
|
|
|
|
|
@GetMapping("/queryOrSearchList")
|
|
|
@ApiOperation(value = "根据条件拉取所有审批记录")
|
|
@@ -110,19 +117,33 @@ public class AuditController extends BaseController{
|
|
|
@ApiImplicitParam(name = "id", value = "审核记录ID", paramType = "query", required = true, dataType = "String"),
|
|
|
@ApiImplicitParam(name = "auditStatus", value = "审核状态: 0->待审核;1->已审核;-1->不通过", paramType = "query", required = true, dataType = "Integer"),
|
|
|
@ApiImplicitParam(name = "auditRemark", value = "审核备注", paramType = "query", required = true, dataType = "String"),
|
|
|
- @ApiImplicitParam(name = "belongCompany", value = "所属公司ID", paramType = "query", required = false, dataType = "String"),
|
|
|
})
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Result<Object> audit(@RequestBody AuditRequestBean auditRequestBean , HttpServletRequest request){
|
|
|
|
|
|
- Result errorResult = judgeParam(auditRequestBean);
|
|
|
- if (errorResult != null) return errorResult;
|
|
|
+ if(null == auditRequestBean){
|
|
|
+ return Result.failure("请求体为空");
|
|
|
+ }
|
|
|
+ if(null == auditRequestBean.getId() || null == auditRequestBean.getAuditStatus()){
|
|
|
+ return Result.failure("审核记录ID或者审核结果不能为空");
|
|
|
+ }
|
|
|
+ if(AuditStatus.AUDITED.getCode().compareTo(auditRequestBean.getAuditStatus()) != 0
|
|
|
+ && AuditStatus.REJECT.getCode().compareTo(auditRequestBean.getAuditStatus()) != 0){
|
|
|
+ return Result.failure("审核结果非法");
|
|
|
+ }
|
|
|
+ TmAudit tmAudit = tmAuditService.getById(auditRequestBean.getId());
|
|
|
+ if(null == tmAudit){
|
|
|
+ return Result.failure("审核记录不存在");
|
|
|
+ }
|
|
|
|
|
|
- TmAudit tmAudit;
|
|
|
+ if(StringUtils.isBlank(tmAudit.getVrId())){
|
|
|
+ return Result.failure("该审核记录未绑定房源,无需处理");
|
|
|
+ }
|
|
|
ContextTokenBean tokenMap = getContextUserInfo();
|
|
|
|
|
|
TmAuditLog tmAuditLog = new TmAuditLog();
|
|
|
//这里要先锁定当前审核记录
|
|
|
+ tmAudit = null;
|
|
|
tmAudit = tmAuditService.selectForUpdate(auditRequestBean.getId());
|
|
|
if(null == tmAudit){
|
|
|
log.info("更新审核状态环节,审核记录[{}]抢锁失败" , auditRequestBean.getId());
|
|
@@ -137,6 +158,9 @@ public class AuditController extends BaseController{
|
|
|
AuditStatus.AUDITED.getCode().compareTo(tmAudit.getAuditStatus()) == 0){
|
|
|
return Result.failure("已经审通批过了,无需重复处理");
|
|
|
}
|
|
|
+
|
|
|
+ String auditResultStr = "";
|
|
|
+ Map<String , Object> map = new HashMap<>();
|
|
|
//若状态为审核通过,判断当前审核状态是拍摄审核,还是地区审核(待审核)
|
|
|
if(AuditStatus.AUDITED.getCode().compareTo(auditRequestBean.getAuditStatus()) == 0){
|
|
|
if(AuditStatus.SHOOT_AUDIT.getCode().compareTo(tmAudit.getAuditStatus().intValue()) == 0){
|
|
@@ -150,6 +174,31 @@ public class AuditController extends BaseController{
|
|
|
tmAuditLog.setAuditStatus(AuditStatus.AUDITED.getCode());
|
|
|
|
|
|
dbHouse.setStatus(HouseStatus.AUDITED.getCode());
|
|
|
+
|
|
|
+ auditResultStr = "审核通过";
|
|
|
+
|
|
|
+ dbHouse.setOnline(1);
|
|
|
+ //1、通知看看,翻转场景码的状态
|
|
|
+ List<String> sceneNumList = panoService.getKanKanSceneNums(dbHouse.getId() , getToken());
|
|
|
+ log.info("720返回的房源的[{}]对应的四维场景码列表为:{}" , dbHouse.getSceneNum() , JSON.toJSONString(sceneNumList));
|
|
|
+ if(!CollectionUtils.isEmpty(sceneNumList)){
|
|
|
+ //上线
|
|
|
+ map.put("status" , 1);
|
|
|
+ map.put("sceneNum" , sceneNumList.stream().collect(Collectors.joining(";")));
|
|
|
+ log.info("上送四维看看的参数为:{}" , JSON.toJSONString(map));
|
|
|
+ SceneRspBean rsp = sceneFeign.updateSceneStatus(map , getToken());
|
|
|
+ log.info("四维看看翻转状态返回为:{}" , JSON.toJSONString(rsp));
|
|
|
+ if(null == rsp || rsp.getCode() != 0){
|
|
|
+ log.info("调用看看的更新场景[{}]状态微服务失败" , JSON.toJSONString(sceneNumList));
|
|
|
+ if(null != rsp){
|
|
|
+ log.info("code = {} , msg = {}" , rsp.getCode() , rsp.getMsg());
|
|
|
+ }
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "更新看看场景状态失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ //2、通知720,翻转场景码的状态
|
|
|
+ panoService.noticeVrAuditStatus(dbHouse.getId() , getToken() , 4);
|
|
|
}
|
|
|
}
|
|
|
if(auditRequestBean.getAuditStatus().compareTo(AuditStatus.REJECT.getCode()) == 0){
|
|
@@ -165,6 +214,8 @@ public class AuditController extends BaseController{
|
|
|
tmAuditLog.setAuditStatus(AuditStatus.REJECT.getCode());
|
|
|
|
|
|
dbHouse.setStatus(HouseStatus.REJECT.getCode());
|
|
|
+
|
|
|
+ auditResultStr = "审核不通过";
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -174,39 +225,9 @@ public class AuditController extends BaseController{
|
|
|
tmAudit.setAuditorName(tokenMap.getNickName());
|
|
|
int update = tmAuditService.updateAudit(tmAudit);
|
|
|
if(update != 1){
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "更新审核记录失败");
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "更新审核记录失败");
|
|
|
}
|
|
|
- String auditResultStr = "";
|
|
|
- Map<String , Object> map = new HashMap<>();
|
|
|
- // 准备集团审核通过时才触发通知全景图和场景码状态
|
|
|
- if(AuditStatus.AUDITED.getCode().equals(auditRequestBean.getAuditStatus())
|
|
|
- && AuditStatus.WAITING_AUDIT.getCode().equals(tmAudit.getAuditStatus())){
|
|
|
- auditResultStr = "审核通过";
|
|
|
- dbHouse.setOnline(1);
|
|
|
- //1、通知看看,翻转场景码的状态
|
|
|
- List<String> sceneNumList = panoService.getKanKanSceneNums(dbHouse.getId() , getToken());
|
|
|
- log.info("720返回的房源的[{}]对应的四维场景码列表为:{}" , dbHouse.getSceneNum() , JSON.toJSONString(sceneNumList));
|
|
|
- if(!CollectionUtils.isEmpty(sceneNumList)){
|
|
|
- //上线
|
|
|
- map.put("status" , 1);
|
|
|
- map.put("sceneNum" , sceneNumList.stream().collect(Collectors.joining(";")));
|
|
|
- log.info("上送四维看看的参数为:{}" , JSON.toJSONString(map));
|
|
|
- SceneRspBean rsp = sceneFeign.updateSceneStatus(map , getToken());
|
|
|
- log.info("四维看看翻转状态返回为:{}" , JSON.toJSONString(rsp));
|
|
|
- if(null == rsp || rsp.getCode() != 0){
|
|
|
- log.info("调用看看的更新场景[{}]状态微服务失败" , JSON.toJSONString(sceneNumList));
|
|
|
- if(null != rsp){
|
|
|
- log.info("code = {} , msg = {}" , rsp.getCode() , rsp.getMsg());
|
|
|
- }
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "更新看看场景状态失败");
|
|
|
- }
|
|
|
|
|
|
- }
|
|
|
- //2、通知720,翻转场景码的状态
|
|
|
- panoService.noticeVrAuditStatus(dbHouse.getId() , getToken() , 4);
|
|
|
- }else if(AuditStatus.REJECT.getCode().compareTo(auditRequestBean.getAuditStatus()) == 0){
|
|
|
- auditResultStr = "审核不通过";
|
|
|
- }
|
|
|
dbHouse.setAuditId(tmAudit.getId());
|
|
|
dbHouse.setAuditTime(LocalDateTime.now());
|
|
|
if(null != tokenMap){
|
|
@@ -245,33 +266,6 @@ public class AuditController extends BaseController{
|
|
|
return Result.success("审核成功" , resMap);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 判断是否符合数据规则
|
|
|
- * @param auditRequestBean
|
|
|
- * @return
|
|
|
- */
|
|
|
- private Result judgeParam(AuditRequestBean auditRequestBean) {
|
|
|
- if(null == auditRequestBean){
|
|
|
- return Result.failure("请求体为空");
|
|
|
- }
|
|
|
- if(null == auditRequestBean.getId() || null == auditRequestBean.getAuditStatus()){
|
|
|
- return Result.failure("审核记录ID或者审核结果不能为空");
|
|
|
- }
|
|
|
- if(AuditStatus.AUDITED.getCode().compareTo(auditRequestBean.getAuditStatus()) != 0
|
|
|
- && AuditStatus.REJECT.getCode().compareTo(auditRequestBean.getAuditStatus()) != 0){
|
|
|
- return Result.failure("审核结果非法");
|
|
|
- }
|
|
|
- TmAudit tmAudit = tmAuditService.getById(auditRequestBean.getId());
|
|
|
- if(null == tmAudit){
|
|
|
- return Result.failure("审核记录不存在");
|
|
|
- }
|
|
|
-
|
|
|
- if(StringUtils.isBlank(tmAudit.getVrId())){
|
|
|
- return Result.failure("该审核记录未绑定房源,无需处理");
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
@PostMapping("/online")
|
|
|
@ApiOperation(value = "上线/下线")
|
|
|
@ApiImplicitParams({
|