Parcourir la source

云端场景列表深时深光

lyhzzz il y a 1 an
Parent
commit
f4e1550612

+ 4 - 0
src/main/java/com/fdkankan/ucenter/httpClient/client/LaserClient.java

@@ -5,6 +5,7 @@ import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.httpClient.address.LaserAddressSource;
 import com.fdkankan.ucenter.httpClient.param.SSDownSceneParam;
 import com.fdkankan.ucenter.httpClient.param.SsBindParam;
+import com.fdkankan.ucenter.httpClient.vo.LaserSceneParam;
 
 import java.util.List;
 import java.util.Map;
@@ -78,4 +79,7 @@ public interface LaserClient {
      */
     @Post("/laser/4dage/scene/updateStatus")
     Result updateStatus( @JSONBody  Map<String,Object> params);
+
+    @Post("/laser/4dage/managerSceneList")
+    Result sceneList(@JSONBody LaserSceneParam param);
 }

+ 35 - 0
src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java

@@ -1,6 +1,7 @@
 package com.fdkankan.ucenter.httpClient.service;
 
 import cn.hutool.core.io.FileUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.http.client.NacosAsyncRestTemplate;
 import com.fdkankan.common.exception.BusinessException;
@@ -18,6 +19,7 @@ import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.httpClient.client.LaserClient;
 import com.fdkankan.ucenter.httpClient.param.SSDownSceneParam;
 import com.fdkankan.ucenter.httpClient.param.SsBindParam;
+import com.fdkankan.ucenter.httpClient.vo.LaserSceneParam;
 import com.fdkankan.ucenter.httpClient.vo.SSDownSceneVo;
 import com.fdkankan.ucenter.service.ICameraService;
 import com.fdkankan.ucenter.service.ICameraTypeService;
@@ -355,4 +357,37 @@ public class LaserService {
         params.put("status", status);
         return laserClient.updateStatus( 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<>();
+        Result fdkkResponse = laserClient.sceneList(newParam);
+        JSONObject 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;
+    }
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/httpClient/vo/LaserSceneParam.java

@@ -0,0 +1,13 @@
+package com.fdkankan.ucenter.httpClient.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class LaserSceneParam {
+    private  Integer pageNum;
+    private  Integer pageSize;
+    private  Integer status;
+    private List<String> sceneCodes;
+}

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/impl/AppSceneService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.ucenter.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
@@ -104,6 +105,12 @@ public class AppSceneService {
         param.setCopyNumSet(copyNumSet);
         
         Page<AppSceneVo> page =  scenePlusMapper.pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        List<String> numList = page.getRecords().stream().map(AppSceneVo::getNum).collect(Collectors.toList());
+
+        HashMap<String, JSONObject> ssSceneMap = new HashMap<>();
+        if(param.getCameraType() == 10 || param.getCameraType() == 11){  //深时
+            ssSceneMap = laserService.list(numList);
+        }
 
 //        Set<Long> cameraIdSet = page.getRecords().stream().map(AppSceneVo::getCameraId).collect(Collectors.toSet());
 //        List<Long> cameraIds =  new ArrayList<>(cameraIdSet);
@@ -113,6 +120,19 @@ public class AppSceneService {
         //相机登录     sceneSourceType 取值皆为0
 
         for (AppSceneVo record : page.getRecords()) {
+            if(param.getCameraType() == 10 || param.getCameraType() == 11){  //深时
+                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.setViewCount(ssObj.getInteger("viewCount"));
+                }else{
+                    record.setStatus(-1);
+                    record.setWebSite(null);
+                }
+            }
+
             if (record.getStatus() == -1) {
                 record.setStatus(0);
             } else if (record.getStatus() == 500) {

+ 2 - 1
src/main/java/com/fdkankan/ucenter/vo/request/AppSceneParam.java

@@ -4,6 +4,7 @@ import com.fdkankan.ucenter.common.RequestBase;
 import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
@@ -21,7 +22,7 @@ public class AppSceneParam extends RequestBase {
     private String snCode;
 
     private String cooperationNums;
-    private List<String> cooperationNumList;
+    private List<String> cooperationNumList = new ArrayList<>();
 
     private Long cameraId;
 

+ 18 - 25
src/main/resources/mapper/ucenter/ScenePlusMapper.xml

@@ -5,10 +5,8 @@
     <select id="pageList" resultType="com.fdkankan.ucenter.vo.response.AppSceneVo">
         SELECT p.id ,null as name ,0 as isFolder,null as type,null as parentId ,p.create_time,num,scene_name,scene_dec,
         p.status,pay_status,thumb,web_site,0 as is_upgrade,view_count,
-         p.camera_id,p.user_id ,p.data_source,p.scene_type,build_type,ca.sn_code,ca.child_name
+         p.camera_id,p.user_id ,p.data_source,p.scene_type,build_type,c.sn_code,c.child_name
         FROM t_scene_pro p
-        left join t_camera ca on p.camera_id = ca.id
-        left join `t_camera_detail` tcd on p.camera_id = tcd.camera_id
         WHERE is_upgrade = 0 and  p.rec_status = 'A'   AND ( p.status = 1 OR p.status = -2) AND p.scene_type != 99
         <include refid="commonWhere"></include>
         <if test="param.sceneName !=null and param.sceneName !=''">
@@ -17,11 +15,9 @@
         UNION
         SELECT p.id as id ,null as name ,0 as isFolder,null as type,null as parentId,p.create_time ,num,title as scene_name,description as scene_dec,
         scene_status as status,pay_status,thumb,web_site,1 as is_upgrade,view_count,
-        p.camera_id,p.user_id,e.data_source,p.scene_type,build_type,ca.sn_code,ca.child_name
+        p.camera_id,p.user_id,e.data_source,p.scene_type,build_type,c.sn_code,c.child_name
         FROM t_scene_plus p
-        left join t_camera ca on p.camera_id = ca.id
         LEFT JOIN t_scene_plus_ext e on p.id = e.plus_id
-        left join `t_camera_detail` tcd on p.camera_id = tcd.camera_id
         WHERE  p.rec_status = 'A' AND ( p.scene_status = 1 OR p.scene_status = -2) AND p.scene_type != 99
         <include refid="commonWhere"></include>
         <if test="param.sceneName !=null and param.sceneName !=''">
@@ -38,29 +34,15 @@
 
 
     <sql id="commonWhere">
-        <if test= 'param.userId != null or param.cooperationNumList != null or param.cameraId != null'>
-           and  ( 1!=1
-        </if>
-        <if test="param.userId != null">
-            or  p.user_id =#{param.userId}
-        </if>
-        <if test="param.cameraId !=null ">
-            or p.camera_id = #{param.cameraId}
-        </if>
-        <if test="param.cooperationNumList !=null and param.cooperationNumList.size >0">
-            or p.num in
-               <foreach collection="param.cooperationNumList" item="sceneNum" open="("  separator="," close=")">
-                   #{sceneNum}
-               </foreach>
-        </if>
-        <if test= 'param.userId != null or param.cooperationNumList != null or param.cameraId != null'>
-            )
-        </if>
+        left join t_user u on p.user_id = u.id
+        left join t_camera c on p.camera_id = c.id
+        left join t_camera_detail d on c.id = d.camera_id
+        where p.rec_status = 'A'
         <if test="param.sceneType !=null and param.sceneType !=''">
             and  p.scene_type  = #{param.sceneType}
         </if>
         <if test= 'param.cameraType != null' >
-            and tcd.type = #{param.cameraType}
+            and d.type = #{param.cameraType}
         </if>
         <if test="param.copyNumSet !=null and param.copyNumSet.size >0">
             and  p.num not in
@@ -68,6 +50,17 @@
                 #{num}
             </foreach>
         </if>
+
+        <if test="param.userId !=null and param.cooperationNumList !=null and param.cooperationNumList.size >0">
+            and ( p.user_id = #{param.userId}  or p.num in
+            <foreach collection="param.cooperationNumList" item="coNum" open="(" separator="," close=")">
+                #{coNum}
+            </foreach>
+            )
+        </if>
+        <if test="param.userId !=null  and param.cooperationNumList !=null and param.cooperationNumList.size ==0 ">
+            and  p.user_id = #{param.userId}
+        </if>
     </sql>