lyhzzz hai 1 semana
pai
achega
7aced5968e

+ 3 - 1
src/main/java/com/fdkankan/fusion/controller/CaseController.java

@@ -3,6 +3,7 @@ package com.fdkankan.fusion.controller;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.fusion.common.PageInfo;
 import com.fdkankan.fusion.common.ResultCode;
@@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -51,7 +53,7 @@ public class CaseController extends BaseController{
 
     @PostMapping("/sceneListPost")
     public ResultData sceneListPost(@RequestBody CaseParam param ){
-        Page<ScenePlus> page = scenePlusService.page(new Page<>(param.getPageNum(),param.getPageSize()));
+        Page<ScenePlus> page = scenePlusService.pageList(param);
         return ResultData.ok(PageInfo.PageInfo(page));
 
     }

+ 5 - 0
src/main/java/com/fdkankan/fusion/entity/ScenePlus.java

@@ -121,6 +121,10 @@ public class ScenePlus implements Serializable {
     private Integer hasAi = 0;
 
     @TableField(exist = false)
+    private String mapping;
+
+
+    @TableField(exist = false)
     private String sceneName;
 
     @TableField(exist = false)
@@ -128,4 +132,5 @@ public class ScenePlus implements Serializable {
     public String getSceneName() {
         return title;
     }
+
 }

+ 3 - 0
src/main/java/com/fdkankan/fusion/mapper/IScenePlusMapper.java

@@ -1,7 +1,9 @@
 package com.fdkankan.fusion.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.fusion.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.DataParam;
 import com.fdkankan.fusion.response.DataGroupVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -24,4 +26,5 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
     List<DataGroupVo> groupByType(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("cameraIds") List<Long> cameraIds);
 
+    Page<ScenePlus> scenePostPage(Page<Object> objectPage, CaseParam param);
 }

+ 6 - 0
src/main/java/com/fdkankan/fusion/service/IScenePlusService.java

@@ -1,7 +1,10 @@
 package com.fdkankan.fusion.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.common.PageInfo;
 import com.fdkankan.fusion.entity.ScenePlus;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.DataParam;
 import com.fdkankan.fusion.response.DataGroupVo;
 
@@ -24,4 +27,7 @@ public interface IScenePlusService extends IService<ScenePlus> {
     List<DataGroupVo> groupByType(DataParam param, List<Long> cameraIds);
 
     List<ScenePlus> getByNumList(List<String> numList);
+
+    Page<ScenePlus> pageList(CaseParam param);
+
 }

+ 7 - 0
src/main/java/com/fdkankan/fusion/service/ISceneService.java

@@ -3,6 +3,9 @@ package com.fdkankan.fusion.service;
 import com.fdkankan.fusion.entity.Scene;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * 初始化信息表 服务类
@@ -14,4 +17,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface ISceneService extends IService<Scene> {
 
     Scene getByNum(String num);
+
+    List<Scene> getByNumList(List<String> numList);
+
+    HashMap<String, String> getMappingMap(List<String> numList);
 }

+ 4 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseFusionServiceImpl.java

@@ -45,6 +45,8 @@ public class CaseFusionServiceImpl extends ServiceImpl<ICaseFusionMapper, CaseFu
     IScenePlusService scenePlusService;
     @Autowired
     IScenePlusExtService scenePlusExtService;
+    @Autowired
+    ISceneService sceneService;
 
 
     @Override
@@ -87,6 +89,7 @@ public class CaseFusionServiceImpl extends ServiceImpl<ICaseFusionMapper, CaseFu
         HashMap<Long,ScenePlusExt> mapext = new HashMap<>();
         extList.stream().forEach(e -> mapext.put(e.getPlusId(),e));
 
+        HashMap<String,String> mappingMap = sceneService.getMappingMap(numList);
 
         for (FusionNum fusionNum : fusionNumList) {
             Transform transform = JSONObject.parseObject(fusionNum.getTransform(),Transform.class);
@@ -110,6 +113,7 @@ public class CaseFusionServiceImpl extends ServiceImpl<ICaseFusionMapper, CaseFu
                             sceneVo.setRtkLocation(scenePlusExt.getRtkLocation());
                             sceneVo.setOrientation(scenePlusExt.getOrientation());
                         }
+                        sceneVo.setMapping( mappingMap.get(scenePlus.getNum()));
                     }
                 }else {
                     sceneVo.setStatus(2);

+ 20 - 1
src/main/java/com/fdkankan/fusion/service/impl/ScenePlusServiceImpl.java

@@ -2,15 +2,22 @@ package com.fdkankan.fusion.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.common.PageInfo;
 import com.fdkankan.fusion.entity.ScenePlus;
 import com.fdkankan.fusion.mapper.IScenePlusMapper;
+import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.DataParam;
 import com.fdkankan.fusion.response.DataGroupVo;
 import com.fdkankan.fusion.service.IScenePlusService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.fusion.service.ISceneService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -23,7 +30,8 @@ import java.util.List;
 @Service
 
 public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
-
+    @Autowired
+    ISceneService sceneService;
     @Override
     public ScenePlus getByNum(String sceneNum) {
         LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
@@ -48,4 +56,15 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         wrapper.in(ScenePlus::getNum,numList);
         return this.list(wrapper);
     }
+
+    @Override
+    public Page<ScenePlus> pageList(CaseParam param) {
+        Page<ScenePlus> page =   this.getBaseMapper().scenePostPage(new Page<>(param.getPageNum(), param.getPageSize()),param);
+        List<String> collect = page.getRecords().stream().map(ScenePlus::getNum).collect(Collectors.toList());
+        HashMap<String, String> mappingMap = sceneService.getMappingMap(collect);
+        for (ScenePlus record : page.getRecords()) {
+            record.setMapping(mappingMap.get(record.getNum()));
+        }
+        return page;
+    }
 }

+ 20 - 0
src/main/java/com/fdkankan/fusion/service/impl/SceneServiceImpl.java

@@ -7,6 +7,8 @@ import com.fdkankan.fusion.service.ISceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -30,4 +32,22 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         }
         return list.get(0);
     }
+
+    @Override
+    public List<Scene> getByNumList(List<String> numList) {
+        if(numList == null || numList.isEmpty()){
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<Scene> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(Scene::getSceneCode,numList);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public HashMap<String, String> getMappingMap(List<String> numList) {
+        HashMap<String, String> map = new HashMap<>();
+        List<Scene> byNumList = this.getByNumList(numList);
+        byNumList.forEach(e -> map.put(e.getSceneCode(),e.getMapping()));
+        return map;
+    }
 }

+ 24 - 0
src/main/resources/mapper/fusion/ScenePlusMapper.xml

@@ -33,4 +33,28 @@
         </if>
         group by scene_source
     </select>
+
+    <select id="scenePostPage" resultType="com.fdkankan.fusion.entity.ScenePlus">
+        select s.* from t_scene_plus s left join  t_scene_plus_ext e on s.id = e.plus_id
+        where s.rec_status = 'A' and ( s.scene_source not in (4,5,7,57) or ( s.scene_source in (4,5,7,57) and e.is_obj =1))
+        <if test="param.numList != null and param.numList.size >0">
+            and s.num in
+            <foreach item="num" collection="param.numList" open="(" separator="," close=")">
+                #{num}
+            </foreach>
+        </if>
+        <if test="param.num !=null and param.num !=''">
+            and s.num = #{param.num}
+        </if>
+        <if test="param.sceneName !=null and param.sceneName !=''">
+            and s.title like  concat ('%',#{param.sceneName},'%')
+        </if>
+        <if test="param.userId !=null">
+            and s.user_id = #{param.userId}
+        </if>
+        <if test="param.sceneStatus !=null">
+            and s.scene_status = #{param.sceneStatus}
+        </if>
+        order by s.id desc
+    </select>
 </mapper>