houweiyu 4 anni fa
parent
commit
55a49ddb5a

+ 24 - 0
src/main/java/fcb/project/manager/base/entity/SceneRspBean.java

@@ -0,0 +1,24 @@
+package fcb.project.manager.base.entity;
+
+import lombok.Data;
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/1/27 10:11
+ * 4
+ */
+@Data
+public class SceneRspBean {
+
+
+    /**
+     * code : 0
+     * data : {}
+     * msg :
+     */
+
+    private int code;
+    private Object data;
+    private String msg;
+
+}

File diff suppressed because it is too large
+ 26 - 0
src/main/java/fcb/project/manager/base/entity/SevenTwoZeroSceneRspBean.java


+ 55 - 0
src/main/java/fcb/project/manager/base/service/custom/PanoService.java

@@ -0,0 +1,55 @@
+package fcb.project.manager.base.service.custom;
+
+import com.alibaba.fastjson.JSON;
+import fcb.project.manager.base.entity.SevenTwoZeroSceneRspBean;
+import fcb.project.manager.core.feignInterfaces.PanoFeign;
+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.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/1/26 19:09
+ * 4
+ */
+@Service
+@Log4j2
+public class PanoService {
+
+    @Autowired
+    PanoFeign panoFeign;
+
+    public List<String> getKanKanSceneNums(String houseId, String token) {
+        if (StringUtils.isBlank(houseId)) {
+            return null;
+        }
+        SevenTwoZeroSceneRspBean sevenTwoZeroSceneRspBean = null;
+        try {
+            sevenTwoZeroSceneRspBean  =  panoFeign.getFdkanaknSceneNum(token , houseId , "3" , "house");
+        }catch (Exception e){
+            log.info("调用720出现异常:{}" , e);
+            return null;
+        }
+        log.info("720返回结果:{}", JSON.toJSONString(sevenTwoZeroSceneRspBean));
+        if (null == sevenTwoZeroSceneRspBean || null == sevenTwoZeroSceneRspBean.getCode()) {
+            log.info("720返回结果解析失败");
+            return null;
+        }
+        if (sevenTwoZeroSceneRspBean.getCode().compareTo(0) != 0) {
+            log.info("720返回非成功:code={},msg={}", sevenTwoZeroSceneRspBean.getCode(), sevenTwoZeroSceneRspBean.getMsg());
+            return null;
+        }
+        if (CollectionUtils.isEmpty(sevenTwoZeroSceneRspBean.getData())) {
+            log.info("720返回的list为空,无需操作");
+            return null;
+        }
+
+        return sevenTwoZeroSceneRspBean.getData();
+    }
+}

+ 39 - 1
src/main/java/fcb/project/manager/base/service/impl/TmOperationServiceImpl.java

@@ -3,17 +3,21 @@ package fcb.project.manager.base.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import fcb.project.manager.base.entity.ContextTokenBean;
 import fcb.project.manager.base.entity.TmOperation;
 import fcb.project.manager.base.dao.TmOperationDao;
 import fcb.project.manager.base.enums.UuidPreEnum;
 import fcb.project.manager.base.service.ITmOperationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.List;
 
 /**
  * <p>
@@ -24,8 +28,25 @@ import java.time.format.DateTimeFormatter;
  * @since 2021-01-13
  */
 @Service
+@Log4j2
 public class TmOperationServiceImpl extends ServiceImpl<TmOperationDao, TmOperation> implements ITmOperationService {
 
+    public int addNewWithTypeAndContent(ContextTokenBean contextTokenBean , String type , String content){
+        TmOperation tmOperation = new TmOperation();
+        tmOperation.setOperateTime(LocalDateTime.now());
+        tmOperation.setOperatorId(contextTokenBean.getId());
+        tmOperation.setOperatorName(contextTokenBean.getNickName());
+        tmOperation.setOperatorPhone(contextTokenBean.getUserName());
+        tmOperation.setOperatorCompanyId(contextTokenBean.getDepartmentId());
+        tmOperation.setOperatorCompanyName(contextTokenBean.getDepartmentName());
+        tmOperation.setOperatorRoleId(contextTokenBean.getRoleId());
+        tmOperation.setOperatorRoleName(contextTokenBean.getRoleName());
+        tmOperation.setOperateType(type);
+        tmOperation.setOperateContent(content);
+        tmOperation.setIsDelete(0);
+        return getBaseMapper().insert(tmOperation);
+
+    }
     public int insertNew(TmOperation tmOperation){
 
         if(null == tmOperation){
@@ -76,6 +97,23 @@ public class TmOperationServiceImpl extends ServiceImpl<TmOperationDao, TmOperat
         }
         lambdaQueryWrapper.eq(TmOperation::getIsDelete , 0);
         lambdaQueryWrapper.orderByDesc(TmOperation::getOperateTime);
-        return getBaseMapper().selectPage(page , lambdaQueryWrapper);
+        IPage<TmOperation> resultPage = getBaseMapper().selectPage(page , lambdaQueryWrapper);
+        if(null == resultPage){
+            log.info("获取操作列表的页数据失败");
+            return page;
+        }
+        if(!CollectionUtils.isEmpty(resultPage.getRecords())){
+            for (int i = 0; i < resultPage.getRecords().size(); i++) {
+                String phoneNum = resultPage.getRecords().get(i).getOperatorPhone();
+                if(StringUtils.isNotBlank(phoneNum) && phoneNum.length() >= 11){
+                    StringBuilder resultPhoneNum = new StringBuilder();
+                    resultPhoneNum.append(phoneNum.substring(0 , 3));
+                    resultPhoneNum.append("****");
+                    resultPhoneNum.append(phoneNum.substring(7 , 10));
+                    resultPage.getRecords().get(i).setOperatorPhone(resultPhoneNum.toString());
+                }
+            }
+        }
+        return resultPage;
     }
 }

+ 56 - 31
src/main/java/fcb/project/manager/core/controller/AuditController.java

@@ -4,12 +4,15 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import fcb.project.manager.base.entity.ContextTokenBean;
+import fcb.project.manager.base.entity.SceneRspBean;
 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.custom.PanoService;
 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.SceneFeign;
 import fdage.back.sdk.base.entity.Result;
@@ -30,7 +33,9 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 2 * @Author: Abner
@@ -56,6 +61,12 @@ public class AuditController extends BaseController{
     @Autowired
     private SceneFeign sceneFeign;
 
+    @Autowired
+    private PanoService panoService;
+
+    @Autowired
+    private TmOperationServiceImpl tmOperationService;
+
     @GetMapping("/queryOrSearchList")
     @ApiOperation(value = "根据条件拉取所有审批记录")
     @ApiImplicitParams({
@@ -130,29 +141,34 @@ public class AuditController extends BaseController{
         if(update != 1){
            throw new CommonBaseException(ResultCodeEnum.D101 , "更新审核记录失败");
         }
+        String auditResultStr = "";
         Map<String , Object> map = new HashMap<>();
         if(AuditStatus.AUDITED.getCode().compareTo(auditStatus) == 0){
+            auditResultStr = "审核通过";
             dbHouse.setStatus(HouseStatus.AUDITED.getCode());
             dbHouse.setOnline(1);
-            if(StringUtils.isNotBlank(dbHouse.getSceneNum())  && dbHouse.getSceneNum().startsWith("HD")){
-                //上线
-                map.put("status" , 1);
-                map.put("sceneNum" , dbHouse.getSceneNum());
+            if(StringUtils.isNotBlank(dbHouse.getSceneNum())){
+                List<String> sceneNumList = panoService.getKanKanSceneNums(dbHouse.getId() , getToken());
+                if(!CollectionUtils.isEmpty(sceneNumList)){
+                    //上线
+                    map.put("status" , 1);
+                    map.put("sceneNum" , sceneNumList.stream().collect(Collectors.joining(";")));
+                    SceneRspBean rsp = sceneFeign.updateSceneStatus(map , getToken());
+                    if(null == rsp || rsp.getCode() != 0){
+                        log.info("调用看看的更新场景状态微服务失败");
+                        if(null != rsp){
+                            log.info("code = {} , msg = {}" , rsp.getCode() , rsp.getMsg());
+                        }
+                        throw new CommonBaseException(ResultCodeEnum.D101 , "更新看看场景状态失败");
+                    }
+
+                }
+
             }
         }else if(AuditStatus.REJECT.getCode().compareTo(auditStatus) == 0){
+            auditResultStr = "审核不通过";
             dbHouse.setStatus(HouseStatus.REJECT.getCode());
         }
-        try{
-            if(!CollectionUtils.isEmpty(map)){
-                Object result =  sceneFeign.updateSceneStatus(map);
-                log.info("四维看看微服务返回结果:{}" ,result);
-            }else{
-                log.info("场景码为空或非四维看看的场景码,无需通知四维看看");
-            }
-
-        }catch (Exception e){
-            log.info("调用四维看看微服务出现异常:{}" , e);
-        }
         dbHouse.setAuditId(tmAudit.getId());
         dbHouse.setAuditTime(LocalDateTime.now());
         if(null != tokenMap){
@@ -163,6 +179,12 @@ public class AuditController extends BaseController{
         if(!tmHouseService.updateHouse(dbHouse)){
             throw new CommonBaseException(ResultCodeEnum.D101 , "更新房源记录失败");
         }
+
+        int ins = tmOperationService.addNewWithTypeAndContent(getContextUserInfo() , "审核管理" , "审核管理/" + auditResultStr  + "/" + dbHouse.getHouseTitle() );
+        if(ins != 1){
+            log.info("插入操作记录失败");
+            throw new CommonBaseException(ResultCodeEnum.D101 , "插入操作记录失败");
+        }
         Map<String , Object> resMap = new HashMap<>();
         resMap.put("auditId" , tmAudit.getId());
         return Result.success("审核成功" , resMap);
@@ -199,26 +221,29 @@ public class AuditController extends BaseController{
             map.put("sceneNum" , tmHouse.getSceneNum());
             if(online.compareTo(1) == 0){
                 //上线
-                map.put("status" , 1);
+
             }else{
                 //下线
-                map.put("status" , 2);
-            }
-            try{
-                Object result =  sceneFeign.updateSceneStatus(map);
-                log.info("四维看看微服务返回结果:{}" ,result);
-                JSONObject jsonObject = (JSONObject) result;
-                if(null == jsonObject){
-                    throw  new CommonBaseException(ResultCodeEnum.D101 , "四维看看返回结果解析异常");
-                }
-                if(jsonObject.containsKey("code")){
-                    int code = jsonObject.getInteger("code");
-                    if(code != 0){
-                        throw  new CommonBaseException(ResultCodeEnum.D101 , "四维看看返回结果为失败");
+                List<String> sceneNumList = panoService.getKanKanSceneNums(tmHouse.getId() , getToken());
+                if(!CollectionUtils.isEmpty(sceneNumList)){
+                    map.put("status" , 2);
+                    map.put("sceneNum" , sceneNumList.stream().collect(Collectors.joining(";")));
+                    SceneRspBean rsp = sceneFeign.updateSceneStatus(map , getToken());
+                    log.info("四维看看翻转状态返回为:{}" , JSON.toJSONString(rsp));
+                    if(null == rsp || rsp.getCode() != 0){
+                        log.info("调用看看的更新场景状态微服务失败");
+                        if(null != rsp){
+                            log.info("code = {} , msg = {}" , rsp.getCode() , rsp.getMsg());
+                        }
+                        throw new CommonBaseException(ResultCodeEnum.D101 , "更新看看场景状态失败");
                     }
+
+                }
+                int ins = tmOperationService.addNewWithTypeAndContent(getContextUserInfo() , "审核管理" , "审核管理/审核下线/" + tmHouse.getHouseTitle() );
+                if(ins != 1){
+                    log.info("插入操作记录失败");
+                    throw new CommonBaseException(ResultCodeEnum.D101 , "插入操作记录失败");
                 }
-            }catch (Exception e){
-                log.info("调用四维看看微服务出现异常:{}" , e);
             }
         }else{
             log.info("非四维看看场景码,无需翻转传场景码的状态");

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

@@ -3,16 +3,15 @@ package fcb.project.manager.core.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 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.TmEstate;
-import fcb.project.manager.base.entity.TmHouse;
+import fcb.project.manager.base.entity.*;
 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.TmEstateServiceImpl;
 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 fdage.back.sdk.base.entity.Result;
 import fdage.back.sdk.base.enums.ResultCodeEnum;
 import fdage.back.sdk.base.exception.CommonBaseException;
@@ -78,8 +77,14 @@ public class HouseManagerController extends BaseController{
     private AlibabaOssHelper alibabaOssHelper;
 
     @Autowired
+    private TmOperationServiceImpl tmOperationService;
+
+    @Autowired
     private RedisTemplate redisTemplate;
 
+    @Autowired
+    private PanoFeign panoFeign;
+
 
 
     @GetMapping("/queryOrSearchList")
@@ -435,6 +440,12 @@ public class HouseManagerController extends BaseController{
                 log.info("更新房源的审批id失败");
                 throw new CommonBaseException(ResultCodeEnum.D101 , "更新房源的审批记录失败");
             }
+            int ins = tmOperationService.addNewWithTypeAndContent(getContextUserInfo() , "审核管理" , "审核管理/提交审核/" + dbHouse.getHouseTitle() );
+            if(ins != 1){
+                log.info("插入操作记录失败");
+                throw new CommonBaseException(ResultCodeEnum.D101 , "插入操作记录失败");
+            }
+
             Map<String , Object> map = new HashMap<>();
             map.put("auditId" , tmAudit.getId());
            return Result.success(map);
@@ -498,6 +509,12 @@ public class HouseManagerController extends BaseController{
             throw new CommonBaseException(ResultCodeEnum.D101 , "删除审批记录失败");
         }
 
+        int ins = tmOperationService.addNewWithTypeAndContent(getContextUserInfo() , "审核管理" , "审核管理/撤销审核/" + dbHouse.getHouseTitle() );
+        if(ins != 1){
+            log.info("插入操作记录失败");
+            throw new CommonBaseException(ResultCodeEnum.D101 , "插入操作记录失败");
+        }
+
         return Result.success("撤销成功");
     }
 

+ 18 - 0
src/main/java/fcb/project/manager/core/feignInterfaces/PanoFeign.java

@@ -0,0 +1,18 @@
+package fcb.project.manager.core.feignInterfaces;
+
+import fcb.project.manager.base.entity.SevenTwoZeroSceneRspBean;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/1/26 18:38
+ * 4
+ */
+@FeignClient("pano-service")
+public interface PanoFeign {
+
+    @GetMapping("/fcb/pano/scene/getVrSceneCode/{houseId}/{status}/{type}")
+    public SevenTwoZeroSceneRspBean getFdkanaknSceneNum(@RequestHeader(name = "token") String token , @PathVariable(name = "") String
+            houseId , @PathVariable(name = "status") String status , @PathVariable(name = "type")String type);
+}

+ 3 - 1
src/main/java/fcb/project/manager/core/feignInterfaces/SceneFeign.java

@@ -1,8 +1,10 @@
 package fcb.project.manager.core.feignInterfaces;
 
+import fcb.project.manager.base.entity.SceneRspBean;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 
 import java.util.Map;
 
@@ -15,5 +17,5 @@ import java.util.Map;
 public interface SceneFeign {
 
     @PostMapping("/api/scene/updateStatus")
-    public Object updateSceneStatus(@RequestBody Map<String , Object> param);
+    public SceneRspBean updateSceneStatus(@RequestBody Map<String , Object> param , @RequestHeader(name = "token") String token);
 }

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

@@ -4,9 +4,7 @@ server.port=8285
 #注册中心
 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 
-#spring.datasource.url=jdbc:mysql://8.135.107.23:31306/fcb-project-manager?serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
-#spring.datasource.username=root
-#spring.datasource.password=4DAGE168!a
+
 spring.datasource.url=jdbc:mysql://8.135.98.231:3306/fcb-project-manager?serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
 spring.datasource.username=root
 spring.datasource.password=4DAGE168!a
@@ -20,8 +18,6 @@ swagger.page.packagePath=fcb.project.manager
 
 spring.redis.cluster.max-redirects=3
 spring.redis.cluster.nodes=8.135.107.23:30064
-#spring.redis.host=127.0.0.1
-#spring.redis.port=6379
 spring.redis.timeout=5000ms
 spring.redis.jedis.pool.max-active=8
 spring.redis.jedis.pool.max-idle=8

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

@@ -31,14 +31,14 @@ spring.redis.password=QBzhHTxfcYLTs0n5J5VQ
 fcb.client.code=zxd9WS2twZ3J4DuhJ2r3y6qz1OZ2hMbr
 fcb.client.secret=UyUaWPJuLw1xfN9wXusgiZxJ7vu9cre9
 
-oss.point=fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com
+oss.point=oss-cn-shenzhen-internal.aliyuncs.com
 oss.key=LTAIUrvuHqj8pvry
 oss.secrey=mqVRTWbWcn4sNMoWmnRq6eToWr9BIy
 oss.bucket=fcb-vrkanfang-uat
 
-share.logo.oss.path=domain/4dhouse/
-oss.query.url=http://fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com/
+share.logo.oss.path=domain/fcb/
+oss.query.url=https://vr-web02-uat.fcb.com.cn/
 image.local.path=/image/
-inner.vr.scene.host=https://fcb.intranet.4dkankan.com/
-outer.vr.scene.host=https://fcb.test.4dkankan.com/
+inner.vr.scene.host=https://vr-web01-uat.fcb.com.cn/
+outer.vr.scene.host=https://vr-web01-uat.fcb.com.cn/
 vr.scene.link=hengda.html?m=

+ 0 - 13
src/main/resources/application-test.properties

@@ -2,13 +2,8 @@
 server.port=8285
 
 #注册中心
-#spring.cloud.nacos.discovery.server-addr=10.71.5.163:80
 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 
-#spring.datasource.url=jdbc:mysql://10.71.184.146:3306/db_4dkankan?serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
-#spring.datasource.username=user_4dkankan_rw
-#spring.datasource.password=y2b9a42wRwGNKkJjCm1o
-
 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fcb-project-manager?serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
 spring.datasource.username=root
 spring.datasource.password=4DAGE168!a
@@ -38,14 +33,6 @@ fcb.client.code=zxd9WS2twZ3J4DuhJ2r3y6qz1OZ2hMbr
 fcb.client.secret=UyUaWPJuLw1xfN9wXusgiZxJ7vu9cre9
 
 
-#oss.point=fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com
-#oss.key=LTAIUrvuHqj8pvry
-#oss.secrey=mqVRTWbWcn4sNMoWmnRq6eToWr9BIy
-#oss.bucket=fcb-vrkanfang-uat
-
-#share.logo.oss.path=domain/4dhouse/
-#oss.query.url=http://fcb-vrkanfang-uat.oss-cn-shenzhen-internal.aliyuncs.com/
-
 oss.point=http://oss-cn-shenzhen.aliyuncs.com
 oss.key=LTAIUrvuHqj8pvry
 oss.secrey=JLOVl0k8Ke0aaM8nLMMiUAZ3EiiqI4