Kaynağa Gözat

完成,要联调

zhujinghui 4 yıl önce
ebeveyn
işleme
d426fb8ecd

+ 1 - 2
fcb-project-manager-core/src/main/java/fcb/project/manager/base/dao/TmEstateDao.java

@@ -1,10 +1,9 @@
 package fcb.project.manager.base.dao;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import fcb.project.manager.base.entity.TmEstate;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import fcb.project.manager.base.entity.TmHouse;
 import fcb.project.manager.base.param.house.QueryHouseParam;
 import fcb.project.manager.base.vo.house.HouseVO;
 import org.apache.ibatis.annotations.Param;

+ 7 - 7
fcb-project-manager-core/src/main/java/fcb/project/manager/base/param/house/QueryHouseParam.java

@@ -1,10 +1,10 @@
 package fcb.project.manager.base.param.house;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import fcb.project.manager.base.param.PageParam;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotBlank;
 import java.time.LocalDateTime;
@@ -31,27 +31,27 @@ public class QueryHouseParam extends PageParam {
     private Integer type;
 
     @ApiModelProperty(name = "createStartTime", value = "创建开始时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createStartTime;
 
     @ApiModelProperty(name = "createEndTime", value = "创建结束时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createEndTime;
 
     @ApiModelProperty(name = "updateStartTime", value = "更新开始时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateStartTime;
 
     @ApiModelProperty(name = "updateEndTime", value = "更新结束时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateEndTime;
 
     @ApiModelProperty(name = "auditTimeStartTime", value = "审核开始时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime auditTimeStartTime;
 
     @ApiModelProperty(name = "auditTimeEndTime", value = "审核结束时间", dataType = "String")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime auditTimeEndTime;
 
     @ApiModelProperty(hidden = true)

+ 6 - 6
fcb-project-manager-core/src/main/java/fcb/project/manager/base/service/custom/PanoService.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import fcb.project.manager.base.entity.*;
 import fcb.project.manager.core.feignInterfaces.PanoFeign;
 import lombok.extern.log4j.Log4j2;
+import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -222,10 +223,11 @@ public class PanoService {
         return sevenTwoZeroSceneRspBean.getData();
     }
 
-    public List<Map<String, Object>> listPanoSceneWithTypes(String id, String token) {
+    public Map<String, Object> listPanoSceneWithTypes(String id, String token) {
         if (StringUtils.isBlank(id)) {
             throw new RuntimeException("调用feign-listPanoSceneWithTypes方法时id为空");
         }
+        log.info("调用feign-listPanoSceneWithTypes入参值-{}", id);
         SceneRspBean sceneRspBean = null;
         try {
             sceneRspBean  =  panoFeign.listPanoSceneWithTypes(token , id);
@@ -233,10 +235,8 @@ public class PanoService {
             log.info("调用720出现异常:{}" , e);
             throw new RuntimeException("调用feign-listPanoSceneWithTypes方法时返回异常");
         }
-        List<Map<String, Object>> list = (List<Map<String, Object>>) sceneRspBean.getData();
-        if (!CollectionUtils.isEmpty(list)) {
-            throw new RuntimeException("调用feign-listPanoSceneWithTypes方法时返回数据为空");
-        }
-        return list;
+        Map<String, Object> rs = (Map<String, Object>) sceneRspBean.getData();
+        log.info("调用feign-listPanoSceneWithTypes方法时返回数据-{}", rs);
+        return rs;
     }
 }

+ 41 - 38
fcb-project-manager-core/src/main/java/fcb/project/manager/base/service/impl/TmEstateServiceImpl.java

@@ -28,8 +28,10 @@ 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.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -73,10 +75,9 @@ public class TmEstateServiceImpl extends ServiceImpl<TmEstateDao, TmEstate> impl
     public IPage<HouseVO> listProject(QueryHouseParam queryHouseParam, ContextTokenBean contextUserInfo, String token) {
         produceQuery(queryHouseParam, contextUserInfo);
 
-//        IPage<TmHouse> page = new Page<>(queryHouseParam.getPageNum(), queryHouseParam.getPageSize(), true);
         Page page = new Page().setCurrent(queryHouseParam.getPageNum()).setSize(queryHouseParam.getPageSize());
         IPage<HouseVO> vos = getBaseMapper().listProject(page, queryHouseParam);
-        
+
         produceRes(vos, token);
         return vos;
     }
@@ -110,7 +111,7 @@ public class TmEstateServiceImpl extends ServiceImpl<TmEstateDao, TmEstate> impl
             item.put(excelUtil.getColeNames().get(index++), house.getPoints().toString());
             item.put(excelUtil.getColeNames().get(index++), house.getCreateTime().format(df));
             item.put(excelUtil.getColeNames().get(index++), house.getUpdateTime().format(df));
-            item.put(excelUtil.getColeNames().get(index++), HouseStatus.get(house.getAuditStatus()).getDesc());
+            item.put(excelUtil.getColeNames().get(index++), HouseStatus.get(house.getStatus()).getDesc());
             item.put(excelUtil.getColeNames().get(index++), house.getAuditorName());
             item.put(excelUtil.getColeNames().get(index++), house.getAuditTime().format(df));
             dataList.add(item);
@@ -151,14 +152,14 @@ public class TmEstateServiceImpl extends ServiceImpl<TmEstateDao, TmEstate> impl
         if(null != resultPage && resultPage.getTotal() > 0){
             List<String> getAllHouseIds = new ArrayList<>();
             for (int i = 0; i < resultPage.getRecords().size(); i++) {
-                getAllHouseIds.add(resultPage.getRecords().get(i).getId());
+                getAllHouseIds.add(resultPage.getRecords().get(i).getHouseId());
             }
             //从720获取最新的预览路径,重新封装给前端展示
             TreeMap<String , Object> treeMap =  panoService.getHouseVrlinks(getAllHouseIds , token);
 
             //从720获取统计数据
             Map<String, Object> statistics;
-            List<Map<String, Object>> panoSceneWithTypes;
+            Map<String, Object> panoSceneWithTypesMap;
 
             //当前房源所有场景码集合
             List<String> allSceneNums;
@@ -169,7 +170,7 @@ public class TmEstateServiceImpl extends ServiceImpl<TmEstateDao, TmEstate> impl
             SceneRspBean sceneRspBean;
 
             for (int i = 0; i < resultPage.getRecords().size(); i++) {
-                String vrId = resultPage.getRecords().get(i).getId();
+                String vrId = resultPage.getRecords().get(i).getHouseId();
                 //获取当前房源的审核记录数,用于前端判决是否展示审核历史图标
                 resultPage.getRecords().get(i).setCountNum(tmAuditService.countAuditNum(vrId));
                 if(!CollectionUtils.isEmpty(treeMap)){
@@ -192,38 +193,40 @@ public class TmEstateServiceImpl extends ServiceImpl<TmEstateDao, TmEstate> impl
 
                 int salesVideos = 0;
                 int houseVideos = 0;
-                panoSceneWithTypes = panoService.listPanoSceneWithTypes(resultPage.getRecords().get(i).getId(), token);
-
-//                List<String> nums = panoSceneWithTypes.stream().map(e -> e.get("sceneNum").toString()).collect(Collectors.toList());
-//
-//                sceneRspBean = sceneFeign.listScenesInNums(nums, token);
-//                List<SceneProEntity> scenes = (List<SceneProEntity>) sceneRspBean.getData();
-//                for (SceneProEntity scene : scenes) {
-//                    String videoStr = scene.getVideos();
-//                    JSONObject scenejson = new JSONObject();
-//                    if(videoStr != null) {
-//                        scenejson = JSONObject.parseObject(videoStr);
-//                    }
-//                    Object data = scenejson.get("data");
-//                    if (data != null && data instanceof JSONArray) {
-//                        JSONArray jsonArray = (JSONArray) data;
-//                        if (jsonArray.size() != 0) {
-//                            Optional<Map<String, Object>> existData = panoSceneWithTypes.stream().filter(m ->
-//                                    "sales".equals(m.get("type")) && scene.getNum().equals(m.get("sceneNum"))).findAny();
-//                            if (existData.isPresent()) {
-//                                salesVideos += jsonArray.size();
-//                            }
-//                            existData = panoSceneWithTypes.stream().filter(m ->
-//                                    "room".equals(m.get("type")) && scene.getNum().equals(m.get("sceneNum"))).findAny();
-//                            if (existData.isPresent()) {
-//                                houseVideos += jsonArray.size();
-//                            }
-//
-//                        }
-//                    }
-//                }
-//                resultPage.getRecords().get(i).setSaleVideos(salesVideos);
-//                resultPage.getRecords().get(i).setHouseVideos(houseVideos);
+                panoSceneWithTypesMap = panoService.listPanoSceneWithTypes(resultPage.getRecords().get(i).getHouseId(), token);
+
+                if (MapUtils.isNotEmpty(panoSceneWithTypesMap)) {
+                    List<String> nums = panoSceneWithTypesMap.entrySet().stream().map(e -> e.getValue().toString()).collect(Collectors.toList());
+
+                    sceneRspBean = sceneFeign.listScenesInNums(nums, token);
+                    List<SceneProEntity> scenes = (List<SceneProEntity>) sceneRspBean.getData();
+                    for (SceneProEntity scene : scenes) {
+                        String videoStr = scene.getVideos();
+                        JSONObject scenejson = new JSONObject();
+                        if(videoStr != null) {
+                            scenejson = JSONObject.parseObject(videoStr);
+                        }
+                        Object data = scenejson.get("data");
+                        if (data != null && data instanceof JSONArray) {
+                            JSONArray jsonArray = (JSONArray) data;
+                            if (jsonArray.size() != 0) {
+                                Optional<Map.Entry<String, Object>> existData = panoSceneWithTypesMap.entrySet().stream().filter(m ->
+                                        "sales".equals(m.getKey()) && scene.getNum().equals(m.getValue().toString())).findAny();
+                                if (existData.isPresent()) {
+                                    salesVideos += jsonArray.size();
+                                }
+                                existData = panoSceneWithTypesMap.entrySet().stream().filter(m ->
+                                        "room".equals(m.getKey()) && scene.getNum().equals(m.getValue().toString())).findAny();
+                                if (existData.isPresent()) {
+                                    houseVideos += jsonArray.size();
+                                }
+
+                            }
+                        }
+                    }
+                    resultPage.getRecords().get(i).setSaleVideos(salesVideos);
+                    resultPage.getRecords().get(i).setHouseVideos(houseVideos);
+                }
 
                 allSceneNums = panoService.getAllSceneNums(vrId, token);
                 if(allSceneNums != null){

+ 0 - 8
fcb-project-manager-core/src/main/java/fcb/project/manager/base/service/impl/TmHouseServiceImpl.java

@@ -74,14 +74,6 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
         return getBaseMapper().selectList(lambdaQueryWrapper);
     }
 
-    public IPage<TmHouse> checkEstateCanDelete(String estateId) {
-        LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.eq(TmHouse::getEstateId, estateId);
-        lambdaQueryWrapper.eq(TmHouse::getIsDelete, 0);
-        lambdaQueryWrapper.in(TmHouse::getStatus, HouseStatus.AUDITED.getCode() , HouseStatus.WAITING_AUDIT.getCode());
-        IPage<TmHouse> page = new Page<>(1, 10, true);
-        return getBaseMapper().selectPage(page, lambdaQueryWrapper);
-    }
 
     public IPage<TmHouse> getAuditHouseList(String houseTitle, Integer status, Integer type,
                                             String belongCompany, String estateName, String token,

+ 4 - 4
fcb-project-manager-core/src/main/java/fcb/project/manager/base/vo/house/HouseVO.java

@@ -14,8 +14,8 @@ import java.time.LocalDateTime;
 @ApiModel("vr项目列表出参")
 public class HouseVO {
 
-    @ApiModelProperty(name = "id", value = "vr项目id",  dataType = "String")
-    private String id;
+    @ApiModelProperty(name = "houseId", value = "vr项目id",  dataType = "String")
+    private String houseId;
 
     @ApiModelProperty(name = "estateId", value = "楼盘id",  dataType = "String")
     private String estateId;
@@ -34,8 +34,8 @@ public class HouseVO {
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
 
-    @ApiModelProperty(name = "auditStatus", value = "审核状态",  dataType = "Integer")
-    private Integer auditStatus;
+    @ApiModelProperty(name = "status", value = "状态: 0 -> 草稿;1->待集团审核;2->已审核;-1->未通过;3->待地区审核", dataType = "Integer")
+    private Integer status;
 
     @ApiModelProperty(name = "auditorName", value = "审核人",  dataType = "String")
     private String auditorName;

+ 0 - 6
fcb-project-manager-core/src/main/java/fcb/project/manager/core/controller/AuditController.java

@@ -59,9 +59,6 @@ public class AuditController extends BaseController{
     private TmHouseServiceImpl tmHouseService;
 
     @Autowired
-    private RedisTemplate redisTemplate;
-
-    @Autowired
     private SceneFeign sceneFeign;
 
     @Autowired
@@ -70,9 +67,6 @@ public class AuditController extends BaseController{
     @Autowired
     private TmOperationServiceImpl tmOperationService;
 
-    @Autowired
-    private PanoFeign panoFeign;
-
     @GetMapping("/queryOrSearchList")
     @ApiOperation(value = "根据条件拉取所有审批记录")
     @ApiImplicitParams({

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

@@ -1,5 +1,6 @@
 package fcb.project.manager.core.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import fcb.project.manager.base.entity.*;
 import fcb.project.manager.base.enums.AuditStatus;
@@ -43,6 +44,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * 2 * @Author: Abner
@@ -723,26 +725,14 @@ public class HouseManagerController extends BaseController{
         return Result.success("撤销成功");
     }
 
-    private static void output(HttpServletResponse resp, File file) {
-        OutputStream os = null;
-        BufferedInputStream bis = null;
-        byte[] buff = new byte[1024];
-        try {
-            os = resp.getOutputStream();
-            bis = new BufferedInputStream(new FileInputStream(file));
-            int i = 0;
-            while ((i = bis.read(buff)) != -1) {
-                os.write(buff, 0, i);
-                os.flush();
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        } finally {
-            try {
-                bis.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
+
+    @GetMapping("/listEstate")
+    @ApiOperation("拉取所有楼盘")
+    public ViewResult<List<String>> getHouseList() {
+        List<String> estates = tmEstateService.list(new LambdaQueryWrapper<TmEstate>().eq(TmEstate::getIsDelete, 0))
+                .stream().map(TmEstate::getFcbEstateId).collect(Collectors.toList());
+        return ViewResult.success(estates);
+
     }
+
 }

+ 2 - 2
fcb-project-manager-core/src/main/resources/mybatis/mappers/TmEstateMapper.xml

@@ -16,10 +16,10 @@
         estate.id estateId,
         estate.estate_name estateName,
         estate.fcb_estate_id fcbEstateId,
-        house.id,
+        house.id houseId,
         house.create_time createTime,
         house.update_time updateTime,
-        house.`status` auditStatus,
+        house.`status`,
         house.auditor_name auditorName,
         house.audit_time auditTime,
         house.cover_imag_url coverImagUrl,