From 571bff720f5d65be70bf88e0071bb41bacebd55e Mon Sep 17 00:00:00 2001 From: dearlin <1261008090@qq.com> Date: Sat, 3 Feb 2024 09:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AB=E9=A1=B9=E4=BD=9C=E4=B8=9A=E6=91=84?= =?UTF-8?q?=E5=83=8F=E5=A4=B4=E6=92=AD=E6=94=BE=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/mapApi/MapController.java | 12 + .../controller/mapApi/MapEightController.java | 1 - .../service/video/VideoManagerService.java | 2 + .../video/impl/VideoManagerServiceImpl.java | 277 +++++++++++------- src/main/java/com/zcloud/util/PLSUtil.java | 15 +- .../eightwork/EightWorkVideoManagerMapper.xml | 12 +- 6 files changed, 213 insertions(+), 106 deletions(-) diff --git a/src/main/java/com/zcloud/controller/mapApi/MapController.java b/src/main/java/com/zcloud/controller/mapApi/MapController.java index 8b2c467..111c5c2 100644 --- a/src/main/java/com/zcloud/controller/mapApi/MapController.java +++ b/src/main/java/com/zcloud/controller/mapApi/MapController.java @@ -212,6 +212,18 @@ public class MapController extends BaseController { return timeArray; } + /** + * @Description: 地图获取摄像头 + * @Author: dearLin + * @Date: 2024/2/1/001 15:43 + * @Param: [] [] + * @Return: java.lang.Object + */ + @RequestMapping(value = "/getCameraList") + @ResponseBody + public Object getCameraList() throws Exception { + return ReturnMap.ok().put("varList", videomanagerService.getCameraList(getPageData())); + } public static void main(String[] args) { List> timeArray = generateTimeArray(); for (Map monthInfo : timeArray) { diff --git a/src/main/java/com/zcloud/controller/mapApi/MapEightController.java b/src/main/java/com/zcloud/controller/mapApi/MapEightController.java index ae73ce9..d347e28 100644 --- a/src/main/java/com/zcloud/controller/mapApi/MapEightController.java +++ b/src/main/java/com/zcloud/controller/mapApi/MapEightController.java @@ -111,5 +111,4 @@ public class MapEightController extends BaseController { - } diff --git a/src/main/java/com/zcloud/service/video/VideoManagerService.java b/src/main/java/com/zcloud/service/video/VideoManagerService.java index b111640..07e95ca 100644 --- a/src/main/java/com/zcloud/service/video/VideoManagerService.java +++ b/src/main/java/com/zcloud/service/video/VideoManagerService.java @@ -75,5 +75,7 @@ public interface VideoManagerService { PageData getCameraAlarmTimeCount(PageData pageData); PageData getCameraTopToShow(PageData pageData); + + List getCameraList(PageData pageData) throws Exception; } diff --git a/src/main/java/com/zcloud/service/video/impl/VideoManagerServiceImpl.java b/src/main/java/com/zcloud/service/video/impl/VideoManagerServiceImpl.java index dc30044..9419850 100644 --- a/src/main/java/com/zcloud/service/video/impl/VideoManagerServiceImpl.java +++ b/src/main/java/com/zcloud/service/video/impl/VideoManagerServiceImpl.java @@ -1,15 +1,25 @@ package com.zcloud.service.video.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.mapper.datasource.video.VideoManagerMapper; import com.zcloud.service.video.VideoManagerService; +import com.zcloud.util.Jurisdiction; +import com.zcloud.mapper.datasource.eightWork.EightWorkVideoManagerMapper; +import com.zcloud.util.PLSUtil; +import com.zcloud.util.ReturnMap; +import com.zcloud.util.Tools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; +import java.util.stream.Collectors; /** * 说明:视频管理 @@ -21,122 +31,183 @@ import java.util.List; @Transactional //开启事物 public class VideoManagerServiceImpl implements VideoManagerService { - @Autowired - private VideoManagerMapper videomanagerMapper; + @Autowired + private VideoManagerMapper videomanagerMapper; - /**新增 - * @param pd - * @throws Exception - */ - public void save(PageData pd)throws Exception{ - videomanagerMapper.save(pd); - } + @Autowired + private EightWorkVideoManagerMapper eightWorkVideoManagerMapper; - /**删除 - * @param pd - * @throws Exception - */ - public void delete(PageData pd)throws Exception{ - videomanagerMapper.delete(pd); - } - @Override - public void editZhiding(PageData pd) throws Exception { - // TODO Auto-generated method stub - videomanagerMapper.editZhiding(pd); - } - /**修改 - * @param pd - * @throws Exception - */ - public void edit(PageData pd)throws Exception{ - videomanagerMapper.edit(pd); - } + /** + * 新增 + * + * @param pd + * @throws Exception + */ + public void save(PageData pd) throws Exception { + videomanagerMapper.save(pd); + } - public void editPls(PageData pd)throws Exception{ - videomanagerMapper.editPls(pd); - } + /** + * 删除 + * + * @param pd + * @throws Exception + */ + public void delete(PageData pd) throws Exception { + videomanagerMapper.delete(pd); + } - public void editIsShowBycorpinfoid(PageData pd)throws Exception{ - videomanagerMapper.editIsShowBycorpinfoid(pd); - } - public void editIsShow(PageData pd)throws Exception{ - videomanagerMapper.editIsShow(pd); - } + @Override + public void editZhiding(PageData pd) throws Exception { + // TODO Auto-generated method stub + videomanagerMapper.editZhiding(pd); + } - /**列表 - * @param page - * @throws Exception - */ - public List list(Page page)throws Exception{ - return videomanagerMapper.datalistPage(page); - } + /** + * 修改 + * + * @param pd + * @throws Exception + */ + public void edit(PageData pd) throws Exception { + videomanagerMapper.edit(pd); + } - /**列表(全部) - * @param pd - * @throws Exception - */ - public List listAll(PageData pd)throws Exception{ - return videomanagerMapper.listAll(pd); - } + public void editPls(PageData pd) throws Exception { + videomanagerMapper.editPls(pd); + } - /**通过id获取数据 - * @param pd - * @throws Exception - */ - public PageData findById(PageData pd)throws Exception{ - return videomanagerMapper.findById(pd); - } + public void editIsShowBycorpinfoid(PageData pd) throws Exception { + videomanagerMapper.editIsShowBycorpinfoid(pd); + } - /**批量删除 - * @param ArrayDATA_IDS - * @throws Exception - */ - public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ - videomanagerMapper.deleteAll(ArrayDATA_IDS); - } + public void editIsShow(PageData pd) throws Exception { + videomanagerMapper.editIsShow(pd); + } - @Override - public PageData findByCode(PageData videoPd) { - return videomanagerMapper.findByCode(videoPd); - } + /** + * 列表 + * + * @param page + * @throws Exception + */ + public List list(Page page) throws Exception { + return videomanagerMapper.datalistPage(page); + } - @Override - public List getCameraAlarmCount(PageData pageData) { - return videomanagerMapper.getCameraAlarmCount(pageData); - } + /** + * 列表(全部) + * + * @param pd + * @throws Exception + */ + public List listAll(PageData pd) throws Exception { + return videomanagerMapper.listAll(pd); + } - @Override - public List getCameraAlarmTypeCount(PageData pageData) { - return videomanagerMapper.getCameraAlarmTypeCount(pageData); - } + /** + * 通过id获取数据 + * + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd) throws Exception { + return videomanagerMapper.findById(pd); + } - @Override - public PageData getCameraAlarmTimeCount(PageData pageData) { - List cameraAlarmTimeCount = videomanagerMapper.getCameraAlarmTimeCount(pageData); - int leijicont = 0; - // 月份集合 - List monthStrList = new ArrayList<>(); - // 当月数据 - List monthList = new ArrayList<>(); - // 累计数据 - List accumulatedList = new ArrayList<>(); - for (PageData item : cameraAlarmTimeCount) { - monthStrList.add(item.getString("MONTH")); - monthList.add(Integer.parseInt(item.getString("MONTH_COUNT"))); - leijicont += Integer.parseInt(item.getString("MONTH_COUNT")); - accumulatedList.add(leijicont); - } - PageData valuePd = new PageData(); - valuePd.put("monthStrList",monthStrList); - valuePd.put("monthList",monthList); - valuePd.put("accumulatedList",accumulatedList); - return valuePd; - } + /** + * 批量删除 + * + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS) throws Exception { + videomanagerMapper.deleteAll(ArrayDATA_IDS); + } - @Override - public PageData getCameraTopToShow(PageData pageData) { - return videomanagerMapper.getCameraTopToShow(pageData); - } + @Override + public PageData findByCode(PageData videoPd) { + return videomanagerMapper.findByCode(videoPd); + } + + @Override + public List getCameraAlarmCount(PageData pageData) { + return videomanagerMapper.getCameraAlarmCount(pageData); + } + + @Override + public List getCameraAlarmTypeCount(PageData pageData) { + return videomanagerMapper.getCameraAlarmTypeCount(pageData); + } + + @Override + public PageData getCameraAlarmTimeCount(PageData pageData) { + List cameraAlarmTimeCount = videomanagerMapper.getCameraAlarmTimeCount(pageData); + int leijicont = 0; + // 月份集合 + List monthStrList = new ArrayList<>(); + // 当月数据 + List monthList = new ArrayList<>(); + // 累计数据 + List accumulatedList = new ArrayList<>(); + for (PageData item : cameraAlarmTimeCount) { + monthStrList.add(item.getString("MONTH")); + monthList.add(Integer.parseInt(item.getString("MONTH_COUNT"))); + leijicont += Integer.parseInt(item.getString("MONTH_COUNT")); + accumulatedList.add(leijicont); + } + PageData valuePd = new PageData(); + valuePd.put("monthStrList", monthStrList); + valuePd.put("monthList", monthList); + valuePd.put("accumulatedList", accumulatedList); + return valuePd; + } + + @Override + public PageData getCameraTopToShow(PageData pageData) { + return videomanagerMapper.getCameraTopToShow(pageData); + } + + @Override + public List getCameraList(PageData pageData) throws Exception { + pageData.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + JSONObject ryCameraList = PLSUtil.getCameraList(pageData.getString("CORPINFO_ID")); + switch (pageData.getString("CAMREA_TYPE")) { + case "workSafelyCamera": + // 八项作业摄像头 + List eightWorkVideoList = eightWorkVideoManagerMapper.listAll(pageData); + return getMapCameraList(eightWorkVideoList, ryCameraList); + default: + return null; + } + } + + private List getMapCameraList(List eightWorkVideoList, JSONObject ryCameraList) { + HashMap videoIds = new HashMap<>(); + HashMap videolonlat = new HashMap<>(); + eightWorkVideoList.forEach(item -> { + videoIds.put(item.getString("PLS_ID"), item.getString("VIDEOMANAGER_ID")); + videoIds.put("NAME" + item.getString("PLS_ID"), item.getString("VIDEONAME")); + videoIds.put("URL" + item.getString("PLS_ID"), item.getString("VIDEOURL")); + videoIds.put("CODE" + item.getString("PLS_ID"), item.getString("CODE")); + } + ); + if (!"200".equals(ryCameraList.getString("code"))) { + return null; + } + // 除去没有经纬度的摄像头。 + List collect = JSON.parseArray(JSON.toJSONString(ryCameraList.getJSONArray("rows")), PageData.class).stream() + .filter((item -> Tools.notEmpty(item.getString("lon")) && videoIds.containsKey(item.getString("camId")))).collect(Collectors.toList()); + collect + .forEach(item -> { + item.put("VIDEOMANAGER_ID", videoIds.get(item.getString("camId"))); + item.put("VIDEONAME", videoIds.get("NAME" + item.getString("camId"))); + item.put("VIDEOURL", videoIds.get("URL" + item.getString("camId"))); + item.put("CODE", videoIds.get("CODE" + item.getString("camId"))); + videolonlat.put(item.getString("camId"), item.getString("lon") + "," + item.getString("lat")); + }); + return collect; + } } diff --git a/src/main/java/com/zcloud/util/PLSUtil.java b/src/main/java/com/zcloud/util/PLSUtil.java index 11dce0b..3eff458 100644 --- a/src/main/java/com/zcloud/util/PLSUtil.java +++ b/src/main/java/com/zcloud/util/PLSUtil.java @@ -68,7 +68,20 @@ public class PLSUtil { JSONObject.class); return exchange.getBody(); } - + /** + * @Description: 查询摄像头 + * @Author: dearLin + * @Date: 2024/1/25/025 14:37 + * @Param: [java.lang.String, java.lang.Integer, java.lang.Integer] [keywords, currentPage, showCount] + * @Return: com.alibaba.fastjson.JSONObject + */ + public static JSONObject getCameraList(String CORPINFO_ID) throws Exception { + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", getToken(CORPINFO_ID)); + HttpEntity httpEntity = new HttpEntity<>(headers); + ResponseEntity exchange = restTemplate.exchange(PLSUtil.BAKEADDR.get(CORPINFO_ID) + "/device/camera/list?pageNum=1&pageSize=100000&str=", HttpMethod.GET, httpEntity, JSONObject.class); + return exchange.getBody(); + } /** * @Description: 添加摄像头 diff --git a/src/main/resources/mybatis/datasource/eightwork/EightWorkVideoManagerMapper.xml b/src/main/resources/mybatis/datasource/eightwork/EightWorkVideoManagerMapper.xml index dfa499c..da25603 100644 --- a/src/main/resources/mybatis/datasource/eightwork/EightWorkVideoManagerMapper.xml +++ b/src/main/resources/mybatis/datasource/eightwork/EightWorkVideoManagerMapper.xml @@ -183,9 +183,19 @@