Browse Source

深时列表改造

lyhzzz 1 year ago
parent
commit
804fb8b510

+ 4 - 3
src/main/java/com/fdkankan/manage_jp/controller/LaserController.java

@@ -110,13 +110,14 @@ public class LaserController extends BaseController{
         SceneParam sceneParam = new SceneParam();
         sceneParam.setPageNum(1);
         sceneParam.setPageSize(99999);
-        sceneParam.setType(10);
+        sceneParam.setType(2);
         if(!roleIds.contains(5L)){
             sceneParam.setCompanyId(user.getCompanyId());
-        }
-        if(!roleIds.contains(6L) && !roleIds.contains(5L)){
             sceneParam.setUserId(user.getId());
         }
+//        if(!roleIds.contains(6L) && !roleIds.contains(5L)){
+//            sceneParam.setUserId(user.getId());
+//        }
         Page<SceneVo> page = sceneProMapper.pageList(new Page<>(sceneParam.getPageNum(),sceneParam.getPageSize()),sceneParam);
         List<String> numList = page.getRecords().stream().map(SceneVo::getNum).collect(Collectors.toList());
         jsonObject.put("list",numList);

+ 3 - 0
src/main/java/com/fdkankan/manage_jp/httpClient/param/LaserSceneParam.java

@@ -15,9 +15,12 @@ public class LaserSceneParam {
     private List<String> snCodes = new ArrayList<>();
 
     private String sceneCode;
+    private List<String>  sceneCodes;
     private String startTime;
     private String endTime;
     private List<String> cooperateSceneCodes;
     private Integer status;
     private Integer neStatus;
+    private Long userId;
+
 }

+ 33 - 151
src/main/java/com/fdkankan/manage_jp/httpClient/service/LaserService.java

@@ -25,6 +25,7 @@ import com.fdkankan.manage_jp.vo.request.SceneParam;
 import com.fdkankan.manage_jp.vo.response.SceneVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -55,157 +56,6 @@ public class LaserService {
     ITmColdStorageService tmColdStorageService;
 
 
-    public PageInfo pageList(SceneParam param) {
-        try {
-            LaserSceneParam laserSceneParam = getLaserSceneParam(param);
-            if(laserSceneParam == null ){
-                return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
-            }
-            FdkkResponse response = laserClient.sceneList(laserSceneParam);
-            JSONObject jsonObject =response.getData();
-            if(jsonObject == null){
-                return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
-            }
-            JSONArray list = jsonObject.getJSONArray("list");
-            long total =jsonObject.getLong("total");
-
-            List<SceneVo> sceneVoList = new ArrayList<>();
-            for (Object o : list) {
-                String res = JSONObject.toJSONString(o);
-                SceneVo vo = JSONObject.parseObject(res,SceneVo.class);
-                //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
-                JSONObject obj = (JSONObject) o;
-                vo.setStatusString(getLaserStatus(vo.getStatus()));
-                if(vo.getStatus().equals(3)){
-                    vo.setPayStatus(-2);
-                }else {
-                    vo.setPayStatus(1);
-                }
-                vo.setStatus(toFdStatus(vo.getStatus()));
-                vo.setSceneName(obj.getString("title"));
-                vo.setUserName(obj.getString("phone"));
-                vo.setThumb(obj.getString("thumb"));
-                vo.setWebSite(obj.getString("webSite"));
-                vo.setChildName(obj.getString("snCode"));
-                vo.setIsObj(obj.getInteger("buildObjStatus"));
-                vo.setIsDel(param.getIsDel());
-                if(param.getCooperateSceneCodes() != null && param.getCooperateSceneCodes().contains(vo.getNum())){
-                    vo.setIsMain(false);
-                    vo.setIsDel(false);
-                }
-                sceneVoList.add(vo);
-            }
-            List<String> sceneNumList = sceneVoList.stream().map(SceneVo::getNum).collect(Collectors.toList());
-            HashMap<String,Boolean> coldMap = tmColdStorageService.getByNumList(sceneNumList);
-            for (SceneVo sceneVo : sceneVoList) {
-                Company company = companyService.getByChildName(sceneVo.getChildName());
-                if(company != null){
-                    sceneVo.setCompanyName(company.getCompanyName());
-                }
-                if(coldMap.get(sceneVo.getNum())!=null){
-                    sceneVo.setColdStorage(coldMap.get(sceneVo.getNum()));
-                }
-            }
-
-
-            Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
-            voPage.setRecords(sceneVoList);
-            voPage.setTotal(total);
-            return PageInfo.PageInfo(voPage);
-        }catch (Exception e){
-            log.error("访问深时失败:",e);
-            //throw new BusinessException(ResultCode.SS_GET_ERROR);
-        }
-        Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
-        return PageInfo.PageInfo(voPage);
-    }
-
-    private LaserSceneParam getLaserSceneParam(SceneParam param) {
-        LaserSceneParam newParam = new LaserSceneParam();
-        if(param.getCompanyId() != null){ //客户场景
-            List<CameraDetail> cameraDetails = cameraDetailService.getListByCompanyId(param.getCompanyId());
-            param.setSnCodes(this.setSnCodes(cameraDetails));
-            if((param.getSnCodes() == null || param.getSnCodes().size() <=0) && param.getCooperateSceneCodes().size()<=0){
-                return null;
-            }
-            if(param.getSnCodes() == null || param.getSnCodes().size()<=0){
-                param.setSnCodes(Arrays.asList("not-camera"));
-            }
-        }
-        if(param.getUserId() != null){ //客户场景
-            User user = userService.getById(param.getUserId());
-            if(user == null){
-                return null;
-            }
-            newParam.setPhone(user.getUserName());
-        }
-        if(StringUtils.isNotBlank(param.getCompanyName())){ //客户场景
-            List<CameraDetail> cameraDetails = cameraDetailService.getListByCompanyName(param.getCompanyName());
-            param.setSnCodes(this.setSnCodes(cameraDetails));
-            if(param.getSnCodes() == null || param.getSnCodes().size() <=0){
-                return null;
-            }
-        }
-        if(StringUtils.isNotBlank(param.getChildName())){
-            List<Camera> cameraList = cameraService.getLikeChildName(param.getChildName());
-            List<String> snCodes = cameraList.stream().map(Camera::getSnCode).collect(Collectors.toList());
-            if(param.getSnCodes() != null && param.getSnCodes().size() >0){
-                List<String> list3 = param.getSnCodes().stream().filter(snCodes::contains).collect(Collectors.toList());
-                param.setSnCodes(list3);
-            }else {
-                param.setSnCodes(snCodes);
-            }
-            if(param.getSnCodes() == null || param.getSnCodes().size()<=0){
-                return null;
-            }
-        }
-        BeanUtils.copyProperties(param,newParam);
-        newParam.setTitle(param.getSceneName());
-        return newParam;
-    }
-
-    private List<String> setSnCodes(List<CameraDetail> cameraDetails) {
-        if(cameraDetails != null && cameraDetails.size() >0){
-            Set<Long> cameraIds = cameraDetails.stream()
-                    .filter(entity -> entity.getGoodsId() == 10).map(CameraDetail::getCameraId).collect(Collectors.toSet());
-            if(cameraIds.size() >0){
-                List<Camera> cameraList = cameraService.listByIds(cameraIds);
-                return cameraList.stream().map(Camera::getSnCode).collect(Collectors.toList());
-            }
-        }
-        return null;
-    }
-
-    private Integer toFdStatus(Integer status) {
-        //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
-        switch (status){
-            case 0 :
-            case 4 :
-                return 0;
-            case 2 : return -2;
-            case 3 : return -2;
-            default: return -1;
-        }
-    }
-
-    public static String getLaserStatus(Integer status){
-        //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
-        switch (status){
-            case -1 : return "场景已删除";
-            case 0 : return "计算中";
-            case 1 : return "计算失败";
-            case 2 : return "计算成功";
-            case 3 : return "封存";
-            case 4 : return "生成OBJ中";
-            default: return "";
-        }
-    }
-
-
-
-
-
-
     public SSDownSceneVo downOfflineSceneStatus(String num) {
         try {
             SSDownSceneVo vo ;
@@ -372,4 +222,36 @@ public class LaserService {
         params.put("businessType", 0);
         rabbitMqProducer.sendByWorkQueue(cloudPointBuild, params);
     }
+
+    public HashMap<String, JSONObject> list(List<String> sceneNumList) {
+        LaserSceneParam newParam = new LaserSceneParam();
+        newParam.setPageNum(1);
+        newParam.setPageSize(sceneNumList.size());
+        newParam.setSceneCodes(sceneNumList);
+        return this.list(newParam);
+    }
+    public HashMap<String, JSONObject> list(List<String> sceneNumList,Integer status) {
+        LaserSceneParam newParam = new LaserSceneParam();
+        newParam.setPageNum(1);
+        newParam.setPageSize(sceneNumList.size());
+        newParam.setSceneCodes(sceneNumList);
+        newParam.setStatus(status);
+        return this.list(newParam);
+    }
+
+    public HashMap<String, JSONObject> list(LaserSceneParam newParam) {
+        HashMap<String, JSONObject> map = new HashMap<>();
+        FdkkResponse fdkkResponse = laserClient.sceneList(newParam);
+        JSONObject jsonObject = fdkkResponse.getData();
+        if(jsonObject == null){
+            return map;
+        }
+        JSONArray list = jsonObject.getJSONArray("list");
+
+        for (Object o : list) {
+            JSONObject obj = (JSONObject) o;
+            map.put(obj.getString("num"),obj);
+        }
+        return map;
+    }
 }

+ 14 - 6
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -117,21 +117,29 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
         }
         List<String> numList = tmContractorNumService.getNumListByCompanyId(user.getCompanyId());
-        param.setCooperateSceneCodes(numList);
-        if(param.getType() == 2 || param.getType() == 6){  //深时
-            return laserService.pageList(param);
-        }
+        Page<SceneVo> page  = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
 
-        Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<String> sceneNumList = page.getRecords().stream().map(SceneVo::getNum).collect(Collectors.toList());
+        HashMap<String,JSONObject> ssSceneMap = new HashMap<>();
+        if(param.getType() == 2){
+            ssSceneMap = laserService.list(sceneNumList);
+        }
         HashMap<String,Boolean> coldMap = tmColdStorageService.getByNumList(sceneNumList);
 
         for (SceneVo record : page.getRecords()) {
+            JSONObject ssObj = ssSceneMap.get(record.getNum());
+            if(ssObj!=null){
+                record.setSceneName(ssObj.getString("title"));
+                record.setThumb(ssObj.getString("thumb"));
+                record.setWebSite(ssObj.getString("webSite"));
+                record.setIsObj(ssObj.getInteger("buildObjStatus"));
+            }
+
             Company company = companyService.getByCameraId(record.getCameraId());
             if(company != null){
                 record.setCompanyName(company.getCompanyName());
             }
-            if(record.getSceneVersion().equals("v3")){
+            if(StringUtils.isNotBlank(record.getSceneVersion()) && record.getSceneVersion().equals("v3")){
                 record.setIsUpgrade(0);
             }
             record.setIsDel(param.getIsDel());

+ 7 - 12
src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage_jp.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -74,20 +75,14 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
         }
         Page<TmColdStorage> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         if(param.getType() != null && param.getType() == 2){  //深时归档信息
-            HashMap<String,SceneVo> voMap = new HashMap<>();
-            SceneParam sceneParam = new SceneParam();
-            sceneParam.setStatus(3);
-            sceneParam.setPageNum(1);
-            sceneParam.setPageSize(99999);
-            PageInfo pageInfo = laserService.pageList(sceneParam);
-            List<SceneVo> list = (List<SceneVo>) pageInfo.getList();
-            list.stream().forEach(e -> voMap.put(e.getNum(),e));
+            List<String> numList = page.getRecords().stream().map(TmColdStorage::getSceneNum).collect(Collectors.toList());
+            HashMap<String, JSONObject> ssObj = laserService.list(numList,3);
             for (TmColdStorage record : page.getRecords()) {
-                SceneVo sceneVo = voMap.get(record.getSceneNum());
+                JSONObject sceneVo = ssObj.get(record.getSceneNum());
                 if(sceneVo!= null){
-                    record.setSceneName(sceneVo.getSceneName());
-                    record.setSceneWebsite(sceneVo.getWebSite());
-                    record.setSceneThumb(sceneVo.getThumb());
+                    record.setSceneName(sceneVo.getString("title"));
+                    record.setSceneWebsite(sceneVo.getString("webSite"));
+                    record.setSceneThumb(sceneVo.getString("thumb"));
                 }
             }
         }

+ 3 - 3
src/main/resources/mapper/manage_jp/SceneProMapper.xml

@@ -44,12 +44,12 @@
         <if test="param.type !=null and param.type == 1">
             and s.scene_source = 3
         </if>
+        <if test="param.type !=null and param.type == 2">
+            and s.scene_source = 4
+        </if>
         <if test="param.type !=null and param.type == 4">
             and s.scene_source = 4 and is_obj = 1
         </if>
-        <if test="param.type !=null and param.type == 10">
-            and s.scene_source = 4
-        </if>
         <if test="param.companyName !=null and param.companyName !='' ">
             and co.company_name like concat ('%',#{param.companyName},'%')
         </if>