diff --git a/src/main/java/com/hisense/monitormanage/controller/Controller.java b/src/main/java/com/hisense/monitormanage/controller/Controller.java index 6a9d856..6f17450 100644 --- a/src/main/java/com/hisense/monitormanage/controller/Controller.java +++ b/src/main/java/com/hisense/monitormanage/controller/Controller.java @@ -1,5 +1,6 @@ package com.hisense.monitormanage.controller; +import com.alibaba.fastjson.JSONObject; import com.hisense.monitormanage.dto.*; import com.hisense.monitormanage.entity.*; import com.hisense.monitormanage.mapper.*; @@ -130,14 +131,14 @@ public class Controller { } /** - * 根据channelId查询摄像头详细信息 - * @param channelId + * 根据channelCode查询摄像头详细信息 + * @param channelCode * @return */ - @RequestMapping("selectByChannelId") - public Result selectByChannelId(String channelId){ + @RequestMapping("selectByChannelCode") + public Result selectByChannelCode(String channelCode){ - List list = cameraChannelMapper.selectByChannelId(channelId); + List list = cameraChannelMapper.selectByChannelCode(channelCode); Result success = Result.success(list); @@ -167,9 +168,9 @@ public class Controller { * @return */ @RequestMapping("selectByParentId") - public Result selectByParentId(String parentId){ + public Result selectByParentId(String parentId,String checkStatus){ - List list = cameraChannelMapper.selectByParentId(parentId); + List list = cameraChannelMapper.selectByParentId(parentId,checkStatus); Result success = Result.success(list); @@ -266,6 +267,26 @@ public class Controller { return success; } + /** + * 订阅任务下发接口 + * @return + */ + @RequestMapping("subscribe") + public JSONObject subscribe(){ + return monitorService.subscribe(); + } + + + /** + * 事件模板分页查询接口 + * @return + */ + @RequestMapping("tamplate") + public JSONObject tamplate(){ + return monitorService.template(); + + } + //查询视频点播巡检结果,只取异常的 // @RequestMapping("listChannelPlayStates") // public Result listChannelPlayStates( diff --git a/src/main/java/com/hisense/monitormanage/dto/ChannelLabelDto.java b/src/main/java/com/hisense/monitormanage/dto/ChannelLabelDto.java index f0d9ff2..be57d10 100644 --- a/src/main/java/com/hisense/monitormanage/dto/ChannelLabelDto.java +++ b/src/main/java/com/hisense/monitormanage/dto/ChannelLabelDto.java @@ -7,11 +7,17 @@ public class ChannelLabelDto { private String channelCode; + private String channelName; + private String gpsX; private String gpsY; + private String checkStatus; + private String nodeName; + + } diff --git a/src/main/java/com/hisense/monitormanage/entity/Label.java b/src/main/java/com/hisense/monitormanage/entity/Label.java index 048e2a1..6bec2e1 100644 --- a/src/main/java/com/hisense/monitormanage/entity/Label.java +++ b/src/main/java/com/hisense/monitormanage/entity/Label.java @@ -12,5 +12,6 @@ public class Label { private String labelCode; private String labelName; private String capturePatternn; + private String used; } diff --git a/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java b/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java index a0f853c..52d0dfc 100644 --- a/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java +++ b/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java @@ -18,13 +18,14 @@ public interface CameraChannelMapper extends BaseMapper { List selectAll(); - @Select("select cc.*,cp.pic_url from t_camera_channel cc LEFT JOIN t_channel_picture cp ON cc.channel_code=cp.channel_code where cc.channel_id = #{channelId}") - List selectByChannelId(@Param("channelId") String channelId); + @Select("select cc.*,cp.pic_url from t_camera_channel cc LEFT JOIN t_channel_picture cp ON cc.channel_code=cp.channel_code where cc.channel_code = #{channelCode}") + List selectByChannelCode(@Param("channelCode") String channelCode); - @Select("select * from t_camera_channel where parent_id = #{parentId}") - List selectByParentId(@Param("parentId") String parentId); + @Select("select * from t_camera_channel where parent_id = #{parentId} and check_status in (${checkStatus}) ") + List selectByParentId(@Param("parentId") String parentId, + @Param("checkStatus") String checkStatus); - @Select("select c.channel_code,c.gps_x,c.gps_y,c.node_name from t_camera_channel c where channel_code in " + + @Select("select c.* from t_camera_channel c where channel_code in " + "(select b.channel_code from t_channel_mtm_label b where b.label_code = #{labelCode}) ") List selectLabel(@Param("labelCode") String labelCode); //@Update("update t_camera_channel set state = list") @@ -40,8 +41,8 @@ public interface CameraChannelMapper extends BaseMapper { List selectByChannelName(String channelName); @Select("select * from (select a.label_code,a.label_name,c.channel_code,c.channel_name from t_channel_mtm_label b JOIN t_label a JOIN t_camera_channel c " + - "ON a.label_code = b.label_code AND b.channel_code = c.channel_code where c.`status`!= 0) m where m.label_code in (#{labelCode},#{labelCode1}) ") - List selectLabelAndChannel(@Param("labelCode") String labelCode,@Param("labelCode1") String labelCode1); + "ON a.label_code = b.label_code AND b.channel_code = c.channel_code where c.`status`!= 0) m where m.label_code in (${labelCode}) ") + List selectLabelAndChannel(@Param("labelCode") String labelCode); @Select("select cc.channel_code,cc.gps_x,cc.gps_y from t_camera_channel cc " + "where (gps_x between #{gpsX} and #{gpsX1}) and (gps_y between #{gpsY} and #{gpsY1} )") diff --git a/src/main/java/com/hisense/monitormanage/service/MonitorService.java b/src/main/java/com/hisense/monitormanage/service/MonitorService.java index 0683ad4..4bed49d 100644 --- a/src/main/java/com/hisense/monitormanage/service/MonitorService.java +++ b/src/main/java/com/hisense/monitormanage/service/MonitorService.java @@ -182,7 +182,7 @@ public class MonitorService { try { - log.info("[monitor-capture]: start capture"); + log.info("[monitor-capture]: start capture1"); List cameras = cameraMapper.selectList(null); cameras.forEach(camera -> { @@ -202,7 +202,7 @@ public class MonitorService { } }); - log.info("[monitor-capture]: end capture"); + log.info("[monitor-capture]: end capture1"); }catch (Exception exception){ exception.printStackTrace(); } @@ -213,9 +213,9 @@ public class MonitorService { try { - log.info("[monitor-capture]: start capture"); + log.info("[monitor-capture]: start capture1"); - List labels = cameraChannelMapper.selectLabelAndChannel("1009","1008"); + List labels = cameraChannelMapper.selectLabelAndChannel("1009,1008"); labels.forEach(label -> { String channelCode = label.getChannelCode(); try { @@ -230,17 +230,21 @@ public class MonitorService { picture.setPicUrl(picUrl); /*picture.setInsertTime(new Date()); channelPictureMapper.insert(picture);*/ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("channel_code",channelCode); - picture.setInsertTime(new Date()); - channelPictureMapper.update(picture,queryWrapper); + if (channelCode == null){ + channelPictureMapper.insert(picture); + }else { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("channel_code", channelCode); + picture.setInsertTime(new Date()); + channelPictureMapper.update(picture, queryWrapper); + } }catch (Exception e){ log.info( "[monitor-capture] " +channelCode + " 截图图片失败 " + e.getMessage()); } }); - log.info("[monitor-capture]: end capture"); + log.info("[monitor-capture]: end capture1"); }catch (Exception exception){ exception.printStackTrace(); } @@ -253,7 +257,7 @@ public class MonitorService { log.info("[monitor-capture]: start capture"); - List labels = cameraChannelMapper.selectLabelAndChannel("1004","1006"); + List labels = cameraChannelMapper.selectLabelAndChannel("1004,1006"); labels.forEach(label -> { String channelCode = label.getChannelCode(); try { @@ -268,10 +272,14 @@ public class MonitorService { picture.setPicUrl(picUrl); /*picture.setInsertTime(new Date()); channelPictureMapper.insert(picture);*/ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("channel_code",channelCode); - picture.setInsertTime(new Date()); - channelPictureMapper.update(picture,queryWrapper); + if (channelCode == null){ + channelPictureMapper.insert(picture); + }else { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("channel_code", channelCode); + picture.setInsertTime(new Date()); + channelPictureMapper.update(picture, queryWrapper); + } }catch (Exception e){ log.info( "[monitor-capture] " +channelCode + " 截图图片失败 " + e.getMessage()); @@ -447,68 +455,77 @@ public class MonitorService { } } - //地名地址搜索服务的Suggest操作 - public Result suggest(Map map){ - String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/suggest?"+"text={text}&key={key}"; - map.put("key",key); + //1.登录 + //2.获取token + public String shangtangToken () { + String url = "http://10.132.191.54:10270/whale-open-api/tenant/token"; - ResponseEntity responseEntity; - try{ - responseEntity = restTemplate.getForEntity(url, String.class,map); - HttpStatus statusCode = responseEntity.getStatusCode(); - if(statusCode.is2xxSuccessful()){ - return Result.success(responseEntity.getBody()); - }else{ - return Result.error(String.valueOf(statusCode.value())); - } - } catch (Exception e){ - log.info("[suggest] exception:{}",e.getMessage()); - return Result.error(e.getMessage()); - } - } - - //地名地址搜索服务的Geocode操作 - public Result geocode(Map map){ - String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/findAddressCandidates?" - +"SingleLine={SingleLine}&key={key}"; - map.put("key",key); - - ResponseEntity responseEntity; - try{ - responseEntity = restTemplate.getForEntity(url, String.class,map); - HttpStatus statusCode = responseEntity.getStatusCode(); - if(statusCode.is2xxSuccessful()){ - return Result.success(responseEntity.getBody()); - }else{ - return Result.error(String.valueOf(statusCode.value())); - } - } catch (Exception e){ - log.info("[geocode] exception:{}",e.getMessage()); - return Result.error(e.getMessage()); - } - } - - //地名地址搜索服务的reverseGeocode操作 - public Result reverseGeocode(Map map){ - String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/reverseGeocode?" - +"location={location}&key={key}"; - map.put("key",key); - - ResponseEntity responseEntity; + Map map = new HashMap<>(); + map.put("ksUserName","hisense"); + map.put("ksUserPassWord","Admin@2022"); + ResponseEntity responseEntity; try { - responseEntity = restTemplate.getForEntity(url, String.class, map); - HttpStatus statusCode = responseEntity.getStatusCode(); - if(statusCode.is2xxSuccessful()){ - return Result.success(responseEntity.getBody()); - }else{ - return Result.error(String.valueOf(statusCode.value())); - } - }catch (HttpClientErrorException e){ - log.info("[reverseGeocode] exception:{}",e.getMessage()); - return Result.error(e.getMessage()); + responseEntity = restTemplate.postForEntity(url,map,JSONObject.class); + JSONObject body = responseEntity.getBody(); + JSONObject data = body.getJSONObject("data"); + String token = data.getString("token"); + return token; + } catch (Exception e) { + log.info("[shangtangToken] exception:{}", e.getMessage()); + return null; } } + //订阅任务下发接口 + public JSONObject subscribe(){ + String token = this.shangtangToken(); + String url = "http://10.132.191.54:10270/whale-open-api/subscribe"; + + HttpHeaders headers = new HttpHeaders(); + + headers.add("token", token); + headers.add("tid","default"); + + Map map = new HashMap<>(); + map.put("callBackUrl","http://15.2.23.205:7009/api/project/subscribe"); +// map.put("certPubKey",""); + map.put("subscribeType",1); +// map.put("taskId","serial"); + + ResponseEntity responseEntity; + try { + responseEntity = restTemplate.exchange(url,HttpMethod.POST,new HttpEntity<>(map,headers),JSONObject.class); + JSONObject body = responseEntity.getBody(); + return body; + }catch (Exception e){ + log.info( "[subscribe] exception:{}",e.getMessage()); + return null; + } + + } + + //事件模板分页查询接口 + public JSONObject template(){ + //String token = this.shangtangToken(); + String url = "http://10.132.191.54:10270/whale-open-api/scenario/event/template?pageNum=1&pageSize=1000"; + + HttpHeaders headers = new HttpHeaders(); + headers.add("token","506eaf5d5d4a4cddb18f0370d906e22f"); + headers.add("tid","default"); + + ResponseEntity responseEntity; + try { + responseEntity = restTemplate.exchange(url,HttpMethod.GET,new HttpEntity<>(headers),JSONObject.class); + JSONObject jsonObject = responseEntity.getBody(); + return jsonObject; + } catch (Exception e) { + log.info("[template] exception:{}", e.getMessage()); + return null; + } + + } + + //查询视频点播巡检结果 @Scheduled(cron="0 5 6 * * ?") public Result listChannelPlayStates(){