Browse Source

双目文件夹

lyhzzz 2 years ago
parent
commit
6bbde0959e

+ 10 - 1
src/main/java/com/fdkankan/ucenter/controller/SceneController.java

@@ -44,20 +44,29 @@ public class SceneController extends BaseController {
     @Autowired
     IDownService downService;
     @Autowired
-    private ISceneUpgradeToV4Service sceneUpgradeToV4Service;
+    ISceneUpgradeToV4Service sceneUpgradeToV4Service;
     @Autowired
     ISceneCooperationService sceneCooperationService;
+    @Autowired
+    ISceneService sceneService;
 
     @PostMapping("/findSceneNumber")
     public Result findSceneNumber(@RequestHeader String token){
         return Result.success(sceneProService.findSceneNumber(token));
     }
 
+    @PostMapping("/getOldSceneList")
+    public Result getOldSceneList(@RequestBody SceneParam param,@RequestHeader String token){
+        User user = userService.getByToken(token);
+        param.setUserId(user.getId());
+        return Result.success(sceneService.pageList(param));
+    }
     @PostMapping("/newList")
     public Result newList(@RequestBody SceneParam param,@RequestHeader String token){
         String username = JwtUtil.getUsername(token);
         return Result.success(sceneProService.newList(param,username));
     }
+
     @PostMapping("/getOnlySceneList")
     public Result getOnlySceneList(@RequestBody SceneParam param,@RequestHeader String token){
         String username = JwtUtil.getUsername(token);

+ 3 - 0
src/main/java/com/fdkankan/ucenter/mapper/ISceneMapper.java

@@ -1,7 +1,10 @@
 package com.fdkankan.ucenter.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.ucenter.entity.Scene;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.SceneVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/ISceneService.java

@@ -1,7 +1,9 @@
 package com.fdkankan.ucenter.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.ucenter.entity.Scene;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
 
 import java.util.List;
 
@@ -21,4 +23,6 @@ public interface ISceneService extends IService<Scene> {
     void bindOrUnCamera(List<Long> cameraIds, Long id);
 
     List<Scene> getListByNums(List<String> numList);
+
+    JSONObject pageList(SceneParam param);
 }

+ 6 - 2
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -324,6 +324,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         User user = userService.getByUserName(username);
         param.setSourceList(getSceneSource(param.getSceneSource()));
         param.setUserId(user.getId());
+        if(param.getFolderId() == -1){              //双目文件夹场景
+            return sceneService.pageList(param);
+        }
         Page<SceneVo> sceneVoPage = getBaseMapper().pageListAndFolder(new Page<>(param.getPageNum(),param.getPageSize()),param);
 
         List<SceneVo> folderList = sceneVoPage.getRecords().parallelStream().filter(entity -> entity.getIsFolder() == 1).collect(Collectors.toList());
@@ -355,16 +358,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 }
             }
         }
-        if(param.getSceneSource().equals("1")){         //增加双目文件夹
+        if(param.getSceneSource().equals("1") && param.getPageNum() == 1){         //增加双目文件夹
             SceneVo sceneVo = new SceneVo();
             sceneVo.setId(-1L);
             sceneVo.setIsFolder(1);
             sceneVo.setName("双目文件夹");
-            sceneVo.setType("0");
+            sceneVo.setType("3");
             Integer count = sceneService.getCountByUserId(user.getId());
             sceneVo.setSceneNum(Long.valueOf(count));
             folderList.add(sceneVo);
         }
+
         List<SceneVo> sceneList = sceneVoPage.getRecords().parallelStream().filter(entity -> entity.getIsFolder() == 0).collect(Collectors.toList());
         if(sceneList.size() >0){
             folderList.addAll(sceneList);

+ 48 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneServiceImpl.java

@@ -1,15 +1,30 @@
 package com.fdkankan.ucenter.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;
+import com.fdkankan.ucenter.common.PageInfo;
+import com.fdkankan.ucenter.entity.Camera;
 import com.fdkankan.ucenter.entity.Scene;
 import com.fdkankan.ucenter.entity.ScenePlus;
 import com.fdkankan.ucenter.mapper.ISceneMapper;
+import com.fdkankan.ucenter.service.ICameraService;
 import com.fdkankan.ucenter.service.ISceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.SceneVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -22,6 +37,11 @@ import java.util.List;
 @Service
 public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implements ISceneService {
 
+    @Autowired
+    IUserService userService;
+    @Autowired
+    ICameraService cameraService;
+
     @Override
     public Integer getCountByUserId(Long userId) {
         LambdaQueryWrapper<Scene> wrapper = new LambdaQueryWrapper<>();
@@ -44,4 +64,32 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         wrapper.in(Scene::getNum,numList);
         return this.list(wrapper);
     }
+
+    @Override
+    public JSONObject pageList(SceneParam param) {
+        LambdaQueryWrapper<Scene> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Scene::getUserId,param.getUserId());
+        if(StringUtils.isNotBlank(param.getSceneName())){
+            wrapper.like(Scene::getSceneName,param.getSceneName());
+        }
+        Page<Scene> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        Set<Long> cameraIds = page.getRecords().stream().map(Scene::getCameraId).collect(Collectors.toSet());
+        HashMap<Long, Camera> cameraHashMap = cameraService.getByIds(new ArrayList<>(cameraIds));
+        List<SceneVo> voList = new ArrayList<>();
+        for (Scene record : page.getRecords()) {
+            SceneVo vo = new SceneVo();
+            BeanUtils.copyProperties(record,vo);
+            vo.setChildName(cameraHashMap.get(record.getCameraId()).getChildName());
+            vo.setSnCode(cameraHashMap.get(record.getCameraId()).getSnCode());
+            voList.add(vo);
+        }
+        Page<SceneVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
+        pageVo.setRecords(voList);
+        pageVo.setTotal(page.getTotal());
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("pageInfo", PageInfo.PageInfo(pageVo));
+        jsonObject.put("sceneNum",page.getTotal() );
+        return jsonObject;
+    }
 }