houweiyu 4 years ago
parent
commit
2a7b2b0ccb

+ 13 - 3
src/main/java/fcb/project/manager/base/service/impl/TmHouseServiceImpl.java

@@ -12,13 +12,17 @@ import fcb.project.manager.base.enums.HouseStatus;
 import fcb.project.manager.base.enums.SysUserRoleEnums;
 import fcb.project.manager.base.enums.UuidPreEnum;
 import fcb.project.manager.base.service.ITmHouseService;
+import fcb.project.manager.core.feignInterfaces.UserFeign;
 import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * <p>
@@ -32,6 +36,9 @@ import java.time.LocalDateTime;
 @Log4j2
 public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> implements ITmHouseService {
 
+    @Autowired
+    private UserFeign userFeign;
+
     public IPage<TmHouse> getListByNameOrBelong(String houseTitle,
                                                 Integer status, Integer type,
                                                 String estateId, ContextTokenBean contextTokenBean,
@@ -49,7 +56,11 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
 
             } else {
                 //非超级管理员,只能看到自己部门的
-
+                Map<String , Object> map = new HashMap<>();
+                map.put("id" , contextTokenBean.getDepartmentId());
+                Object userResult = userFeign.getAllChildDeptList(map);
+                log.info("用户模块返回的数据为:{}" , userResult);
+                lambdaQueryWrapper.eq(TmHouse::getBelongCompanyName , contextTokenBean.getDepartmentId());
             }
         }
         if (null != status) {
@@ -66,8 +77,7 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
     public IPage<TmHouse> checkEstateCanDelete(String estateId) {
         LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(TmHouse::getEstateId, estateId);
-        lambdaQueryWrapper.eq(TmHouse::getStatus, HouseStatus.AUDITED.getCode())
-                .or().eq(TmHouse::getStatus, HouseStatus.WAITING_AUDIT.getCode());
+        lambdaQueryWrapper.in(TmHouse::getStatus, HouseStatus.AUDITED.getCode() , HouseStatus.WAITING_AUDIT.getCode());
         IPage<TmHouse> page = new Page<>(1, 10, true);
         return getBaseMapper().selectPage(page, lambdaQueryWrapper);
     }

+ 40 - 1
src/main/java/fcb/project/manager/core/controller/AuditController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import fcb.project.manager.base.entity.ContextTokenBean;
 import fcb.project.manager.base.entity.TmAudit;
 import fcb.project.manager.base.entity.TmHouse;
+import fcb.project.manager.base.enums.AuditStatus;
 import fcb.project.manager.base.enums.HouseStatus;
 import fcb.project.manager.base.service.impl.TmAuditServiceImpl;
 import fcb.project.manager.base.service.impl.TmHouseServiceImpl;
@@ -23,6 +24,7 @@ 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.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -90,6 +92,9 @@ public class AuditController {
         if(StringUtils.isBlank(id) || null == auditStatus){
             return Result.failure("审核记录ID或者审核结果不能为空");
         }
+        if(AuditStatus.WAITING_AUDIT.getCode().compareTo(auditStatus) == 0){
+            return Result.failure("审核结构非法");
+        }
         TmAudit tmAudit = tmAuditService.getById(id);
         if(null == tmAudit){
             return Result.failure("审核记录不存在");
@@ -141,6 +146,34 @@ public class AuditController {
         if(update != 1){
            throw new CommonBaseException(ResultCodeEnum.D101 , "更新审核记录失败");
         }
+        Map<String , Object> map = new HashMap<>();
+        if(AuditStatus.AUDITED.getCode().compareTo(auditStatus) == 0){
+            dbHouse.setStatus(HouseStatus.AUDITED.getCode());
+            if(StringUtils.isNotBlank(dbHouse.getSceneNum())  && dbHouse.getSceneNum().startsWith("HD")){
+                //上线
+                map.put("status" , 1);
+                map.put("sceneNum" , dbHouse.getSceneNum());
+            }
+        }else if(AuditStatus.REJECT.getCode().compareTo(auditStatus) == 0){
+            dbHouse.setStatus(HouseStatus.REJECT.getCode());
+            //下线
+            if(StringUtils.isNotBlank(dbHouse.getSceneNum()) && dbHouse.getSceneNum().startsWith("HD")){
+                //上线
+                map.put("status" , 2);
+                map.put("sceneNum" , dbHouse.getSceneNum());
+            }
+        }
+        try{
+            if(!CollectionUtils.isEmpty(map)){
+                Object result =  sceneFeign.updateSceneStatus(map);
+                log.info("四维看看微服务返回结果:{}" ,result);
+            }else{
+                log.info("场景码为空或非四维看看的场景码,无需通知四维看看");
+            }
+
+        }catch (Exception e){
+            log.info("调用四维看看微服务出现异常:{}" , e);
+        }
         dbHouse.setStatus(HouseStatus.AUDITED.getCode());
         dbHouse.setAuditId(tmAudit.getId());
         dbHouse.setAuditTime(LocalDateTime.now());
@@ -196,7 +229,13 @@ public class AuditController {
                     //下线
                     map.put("status" , 2);
                 }
-//                sceneFeign.updateSceneStatus(map);
+                try{
+                  Object result =  sceneFeign.updateSceneStatus(map);
+                  log.info("四维看看微服务返回结果:{}" ,result);
+                }catch (Exception e){
+                    log.info("调用四维看看微服务出现异常:{}" , e);
+                }
+
             }
 
             return Result.success();

+ 11 - 11
src/main/java/fcb/project/manager/core/controller/HouseManagerController.java

@@ -167,8 +167,8 @@ public class HouseManagerController {
         if(StringUtils.isBlank(tmHouse.getSceneNum())){
             return Result.failure("改房源未生成场景码");
         }
-        String totalVrUrl = innerSceneVrHost + sceneVrLink + tmHouse.getId()
-                + "&s=" + tmHouse.getSceneNum() + "&h=" + tmHouse.getFcbHouseId();
+        String totalVrUrl = innerSceneVrHost + tmHouse.getSceneNum() + "&prodId=" + tmHouse.getFcbHouseId()
+                + "&houseId=" + tmHouse.getId();
         String localPath = imageLocalPath + "logo.png";
         String outPutImageName = System.currentTimeMillis() + ".jpg";
         String outPutImageResultPath = imageLocalPath + outPutImageName;
@@ -204,7 +204,7 @@ public class HouseManagerController {
             return Result.failure("房源不存在");
         }
         if(StringUtils.isBlank(tmHouse.getSceneNum())){
-            return Result.failure("房源未生成场景码");
+            return Result.failure("房源未生成场景码");
         }
         int index = file.getOriginalFilename().indexOf(".");
         String newFileName = System.currentTimeMillis() + "";
@@ -217,8 +217,8 @@ public class HouseManagerController {
         String downLoanVideoPath = FileUtils.parseFile(file, imageLocalPath  , newFileName);
         log.info("照片文件已经下载到本地:{}", downLoanVideoPath);
 
-        String totalVrUrl = outerSceneVrHost + sceneVrLink + tmHouse.getId() + "&s="
-                + tmHouse.getSceneNum() + "&h=" + tmHouse.getFcbHouseId();
+        String totalVrUrl = outerSceneVrHost + tmHouse.getSceneNum() + "&prodId=" + tmHouse.getFcbHouseId()
+                + "&houseId=" + tmHouse.getId();
         String outPutImageName = System.currentTimeMillis() + ".jpg";
         String outPutImageResultPath = imageLocalPath + outPutImageName;
         try {
@@ -390,10 +390,10 @@ public class HouseManagerController {
             if(StringUtils.isBlank(tmHouse.getFcbHouseId())){
                 return Result.failure("更新场景码必须上送房车宝的房源ID");
             }
-            String innerHostVrLink = innerSceneVrHost + sceneVrLink
-                    + dbHouse.getId() + "&s=" + tmHouse.getSceneNum() + "&h=" + tmHouse.getFcbHouseId();
-            String outerHostVrLink = outerSceneVrHost + sceneVrLink
-                    + dbHouse.getId() + "&s=" + tmHouse.getSceneNum() + "&h=" + tmHouse.getFcbHouseId();
+            String innerHostVrLink = innerSceneVrHost + tmHouse.getSceneNum() + "&prodId=" + tmHouse.getFcbHouseId()
+                    + "&houseId=" + tmHouse.getId();
+            String outerHostVrLink = outerSceneVrHost + tmHouse.getSceneNum() + "&prodId=" + tmHouse.getFcbHouseId()
+                    + "&houseId=" + tmHouse.getId();
             tmHouse.setVrLink(outerHostVrLink);
             tmHouse.setInnerVrLink(innerHostVrLink);
         }
@@ -492,7 +492,7 @@ public class HouseManagerController {
         if(HouseStatus.WAITING_AUDIT.getCode().compareTo(dbHouse.getStatus()) != 0){
             return Result.failure("房源状态非待审核");
         }
-//        dbHouse = null;
+        dbHouse = null;
         //抢房源的锁,去掉原来审核的
         dbHouse = tmHouseService.selectForUpdate(houseId);
         if(null == dbHouse){
@@ -503,7 +503,7 @@ public class HouseManagerController {
         if(null == tmAudit){
             return Result.failure("该房源未提交审核");
         }
-        if(null != tmAudit.getAuditStatus()){
+        if(null != tmAudit.getAuditStatus() && AuditStatus.AUDITED.getCode().compareTo(tmAudit.getAuditStatus()) == 0){
             return Result.failure("该房源已经审核过,无法撤回");
         }
         //开启事务,抢审批记录的锁

+ 19 - 0
src/main/java/fcb/project/manager/core/feignInterfaces/UserFeign.java

@@ -0,0 +1,19 @@
+package fcb.project.manager.core.feignInterfaces;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/1/22 17:08
+ * 4
+ */
+@FeignClient("4dkankan-user")
+public interface UserFeign {
+
+    @PostMapping("/api/manage/department/findChildrenById")
+    public Object getAllChildDeptList(@RequestBody Map<String ,Object> body);
+}

+ 1 - 1
src/main/resources/application-dev.properties

@@ -47,4 +47,4 @@ oss.query.url=https://houseoss.4dkankan.com/
 image.local.path=C:\\Users\\4dage\\Desktop\\logo-file\\
 inner.vr.scene.host=https://fcb.intranet.4dkankan.com/
 outer.vr.scene.host=https://fcb.test.4dkankan.com/
-vr.scene.link=/vrscene/show.html#/?m=
+vr.scene.link=hengda.html?m=

+ 1 - 1
src/main/resources/application-prod.properties

@@ -41,4 +41,4 @@ oss.query.url=http://fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com/
 image.local.path=/image/
 inner.vr.scene.host=https://fcb.intranet.4dkankan.com/
 outer.vr.scene.host=https://fcb.test.4dkankan.com/
-vr.scene.link=/vrscene/show.html#/?m=
+vr.scene.link=hengda.html?m=

+ 1 - 1
src/main/resources/application-test.properties

@@ -48,4 +48,4 @@ oss.query.url=http://fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com/
 image.local.path=/image/
 inner.vr.scene.host=https://fcb.intranet.4dkankan.com/
 outer.vr.scene.host=https://fcb.test.4dkankan.com/
-vr.scene.link=/vrscene/show.html#/?m=
+vr.scene.link=hengda.html?m=