From ee9061e10cbe9f8996fdece86a7bbad69adecd8e Mon Sep 17 00:00:00 2001 From: "Mr.Wang" Date: Thu, 18 Jul 2024 18:31:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=96=E9=83=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9B=91=E6=B5=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/ExternalInterfaceMonitoringTask.java | 287 +++++++++++++----- 1 file changed, 205 insertions(+), 82 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/task/ExternalInterfaceMonitoringTask.java b/zc-business/src/main/java/com/zc/business/task/ExternalInterfaceMonitoringTask.java index 8c6aa902..44fbf843 100644 --- a/zc-business/src/main/java/com/zc/business/task/ExternalInterfaceMonitoringTask.java +++ b/zc-business/src/main/java/com/zc/business/task/ExternalInterfaceMonitoringTask.java @@ -223,7 +223,7 @@ public class ExternalInterfaceMonitoringTask extends BaseController { /** * 交通流通用 */ - public void dcTrafficStatisticsCurrency(String path, String operationName) throws Exception { + public void dcTrafficStatisticsCurrency(String path, String operationName) { // 参数 RequestParams requestParams = new RequestParams(); @@ -232,18 +232,27 @@ public class ExternalInterfaceMonitoringTask extends BaseController { Map headers = new HashMap<>(); headers.put("Authorization", DcTrafficStatisticsServiceImpl.getAccessToken()); String url = UniversalEnum.DATA_CENTER_TRAFFIC_STATISTICS_IP_PORT.getValue() + path; - // 请求 - Response response = postRequestByHeadersAndParams(headers, url, requestParams); // 构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.TRAFFIC_FLOW.getCode()); externalInterfaceMonitoring.setInterfaceName(operationName); - // 插入 - trafficFlowResultProcessing(externalInterfaceMonitoring, response); + try { + Response response = postRequestByHeadersAndParams(headers, url, requestParams); + // 插入 + trafficFlowResultProcessing(externalInterfaceMonitoring, response); + }catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } + } //车辆 - public void dcTrafficStatisticsCurrencyVehicle(String path, String operationName) throws Exception { + public void dcTrafficStatisticsCurrencyVehicle(String path, String operationName) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(UniversalEnum.TIME_FORMAT_YEARS_MONTH_DAY.getValue()); LocalDate currentDate = LocalDate.now(); String nowYear = currentDate.format(formatter); @@ -264,18 +273,27 @@ public class ExternalInterfaceMonitoringTask extends BaseController { Map headers = new HashMap<>(); headers.put("Authorization", DcTrafficStatisticsServiceImpl.getAccessToken()); String url = UniversalEnum.DATA_CENTER_TRAFFIC_STATISTICS_IP_PORT.getValue() + path; - // 请求 - Response response = postRequestByHeadersAndParams(headers, url, requestParams); // 构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.TRAFFIC_FLOW.getCode()); externalInterfaceMonitoring.setInterfaceName(operationName); - // 插入 - trafficFlowResultProcessing(externalInterfaceMonitoring, response); + try { + // 请求 + Response response = postRequestByHeadersAndParams(headers, url, requestParams); + // 插入 + trafficFlowResultProcessing(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } //获取门架指标数据 - public void obtainTheShelfIndicatorData(String path, String operationName) throws Exception { + public void obtainTheShelfIndicatorData(String path, String operationName) { // 计算一小时前的时间点 DateTime lastHour = DateUtil.offsetHour(new Date(), UniversalEnum.MINUS_ONE.getNumber()); @@ -299,22 +317,33 @@ public class ExternalInterfaceMonitoringTask extends BaseController { Map headers = new HashMap<>(); headers.put("Authorization", DcTrafficStatisticsServiceImpl.getAccessToken()); - Response response // 请求响应 - = okHttp - .headers(headers) - .url(UniversalEnum.DATA_CENTER_TRAFFIC_STATISTICS_IP_PORT.getValue() + path) // 请求地址 - .data(requestParams) // 请求参数 - .post(); // 请求方法 + // 构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.TRAFFIC_FLOW.getCode()); externalInterfaceMonitoring.setInterfaceName(operationName); - // 插入 - trafficFlowResultProcessing(externalInterfaceMonitoring, response); + + try { + Response response // 请求响应 + = okHttp + .headers(headers) + .url(UniversalEnum.DATA_CENTER_TRAFFIC_STATISTICS_IP_PORT.getValue() + path) // 请求地址 + .data(requestParams) // 请求参数 + .post(); // 请求方法 + // 插入 + trafficFlowResultProcessing(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } //收费站 TollStation - public void dcTrafficStatisticsCurrencyTollStation(String path, String operationName, String stationType) throws Exception { + public void dcTrafficStatisticsCurrencyTollStation(String path, String operationName, String stationType) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(UniversalEnum.TIME_FORMAT_YEARS_MONTH_DAY.getValue()); LocalDate currentDate = LocalDate.now(); String nowYear = currentDate.format(formatter); @@ -336,56 +365,84 @@ public class ExternalInterfaceMonitoringTask extends BaseController { Map headers = new HashMap<>(); headers.put("Authorization", DcTrafficStatisticsServiceImpl.getAccessToken()); String url = UniversalEnum.DATA_CENTER_TRAFFIC_STATISTICS_IP_PORT.getValue() + path; - // 请求 - Response response = postRequestByHeadersAndParams(headers, url, requestParams); // 构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.TRAFFIC_FLOW.getCode()); externalInterfaceMonitoring.setInterfaceName(operationName); - // 插入 - trafficFlowResultProcessing(externalInterfaceMonitoring, response); + + try { + // 请求 + Response response = postRequestByHeadersAndParams(headers, url, requestParams); + // 插入 + trafficFlowResultProcessing(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** * 全国气象数据 - 雷达数据 */ - public void getRadarData() throws Exception { + public void getRadarData() { ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); - OkHttp okHttp = new OkHttp(); - Response response // 请求响应 - = okHttp - .url(UniversalEnum.RADAR_DATA.getValue()) // 请求地址 - .get(); // 请求方法 externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.NATIONAL_METEOROLOGY.getCode()); externalInterfaceMonitoring.setInterfaceName("雷达数据"); - if (response.code() == UniversalEnum.TWO_HUNDRED.getNumber()) { - externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ONE.getNumber()); - if (response.body() != null) { - JSONArray array = DcNmcController.parseHtmlContent(response.body().string()); - externalInterfaceMonitoring.setOperationResult(JSON.toJSONString(array)); + + + try { + OkHttp okHttp = new OkHttp(); + Response response // 请求响应 + = okHttp + .url(UniversalEnum.RADAR_DATA.getValue()) // 请求地址 + .get(); // 请求方法 + if (response.code() == UniversalEnum.TWO_HUNDRED.getNumber()) { + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ONE.getNumber()); + if (response.body() != null) { + JSONArray array = DcNmcController.parseHtmlContent(response.body().string()); + externalInterfaceMonitoring.setOperationResult(JSON.toJSONString(array)); + } + } else { + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setOperationResult(response.toString()); } - } else { + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); - externalInterfaceMonitoring.setOperationResult(response.toString()); + }finally { + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); } - externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); - externalInterfaceMonitoring.setOperatorName("系统"); - externalInterfaceMonitoring.setOperationTime(new Date()); - externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); } /** * 全国气象数据 - 雷达图 */ - public void getRadarChart() throws Exception { + public void getRadarChart() { Map headers = new HashMap<>(); headers.put("Referer", UniversalEnum.RADAR_MAP_WEATHER.getValue()); - Response response = getRequestByHeaders(headers, UniversalEnum.RADAR_MAP.getValue() + new Date().getTime()); ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.NATIONAL_METEOROLOGY.getCode()); externalInterfaceMonitoring.setInterfaceName("雷达图"); - insertIntoExternalInterface(externalInterfaceMonitoring, response); + + try { + Response response = getRequestByHeaders(headers, UniversalEnum.RADAR_MAP.getValue() + new Date().getTime()); + insertIntoExternalInterface(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** @@ -398,25 +455,31 @@ public class ExternalInterfaceMonitoringTask extends BaseController { parameter.put("stakeNum", UniversalEnum.STAKE_NUM.getValue()); parameter.put("forecastHour", UniversalEnum.STAKE_NUM.getNumber()); parameter.put("managerId", UniversalEnum.MANAGER_ID.getValue()); - // 结果 - AjaxResult ajaxResult = weatherForecastController.currentWeatherAndForecastInformation(parameter); // 构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.WEATHER.getCode()); externalInterfaceMonitoring.setInterfaceName("当前气象及预报信息查询"); - resultAnalysis(ajaxResult, externalInterfaceMonitoring); externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); externalInterfaceMonitoring.setOperatorName("系统"); externalInterfaceMonitoring.setOperationTime(new Date()); - // 插入 - externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + + try { + // 结果 + AjaxResult ajaxResult = weatherForecastController.currentWeatherAndForecastInformation(parameter); + resultAnalysis(ajaxResult, externalInterfaceMonitoring); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + }finally { + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** * 天气预报 - 当前气象预警信息查询 */ - public void currentWeatherWarningInformationQuery() throws Exception { + public void currentWeatherWarningInformationQuery() { // 参数 JSONObject weather = JSONObject.parseObject(configService.selectConfigByKey("weather")); HashMap parameter = new HashMap<>(); @@ -424,14 +487,25 @@ public class ExternalInterfaceMonitoringTask extends BaseController { parameter.put("earlyWorningLevel", UniversalEnum.EARLY_WORNING_LEVEL.getValue()); String url = weather.getString("get_earlyworning_info"); RequestParams requestParams = new RequestParams(parameter); - //结果 - Response response = postRequestByHeadersAndParams(new HashMap<>(), url, requestParams); + //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.WEATHER.getCode()); externalInterfaceMonitoring.setInterfaceName("当前气象预警信息查询"); - //插入 - insertIntoExternalInterface(externalInterfaceMonitoring, response); + + try { + //结果 + Response response = postRequestByHeadersAndParams(new HashMap<>(), url, requestParams); + //插入 + insertIntoExternalInterface(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** @@ -448,14 +522,24 @@ public class ExternalInterfaceMonitoringTask extends BaseController { header.put("Authorization", videoTOKEN); - Response response = getRequestByHeaders(header, - cameraInfo.getString("URL") + UniversalEnum.EXAMPLE_QUERY_SYNC_CAMERA_DATA.getValue()); //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.VIDEO.getCode()); externalInterfaceMonitoring.setInterfaceName("查询同步相机数据"); - //插入 - videoResultInsertInto(externalInterfaceMonitoring, response); + + try { + Response response = getRequestByHeaders(header, + cameraInfo.getString("URL") + UniversalEnum.EXAMPLE_QUERY_SYNC_CAMERA_DATA.getValue()); + //插入 + videoResultInsertInto(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } @@ -476,16 +560,26 @@ public class ExternalInterfaceMonitoringTask extends BaseController { header.put("Authorization", videoTOKEN); - Response response = postRequestByHeadersAndParams(header, - cameraInfo.getString("URL") + UniversalEnum.GET_VIDEO_STREAM_INFORMATION.getValue(), - requestParams); //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.VIDEO.getCode()); externalInterfaceMonitoring.setInterfaceName("获取视频流信息"); - //插入 - videoResultInsertInto(externalInterfaceMonitoring, response); + + try { + Response response = postRequestByHeadersAndParams(header, + cameraInfo.getString("URL") + UniversalEnum.GET_VIDEO_STREAM_INFORMATION.getValue(), + requestParams); + //插入 + videoResultInsertInto(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** @@ -494,8 +588,6 @@ public class ExternalInterfaceMonitoringTask extends BaseController { public void queryPresetPositionList() throws Exception { JSONObject cameraInfo = JSONObject.parseObject(configService.selectConfigByKey("dc.cameraInfo")); - OkHttp okHttp = new OkHttp(); - RequestParams requestParams = new RequestParams(); requestParams.put("camId", "57941"); @@ -507,16 +599,25 @@ public class ExternalInterfaceMonitoringTask extends BaseController { header.put("Authorization", videoTOKEN); - Response response = getRequestByHeadersByParam(header, - cameraInfo.getString("URL") + UniversalEnum.EXAMPLE_QUERY_THE_PRESET_BIT_LIST.getValue(), - requestParams); - //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.VIDEO.getCode()); externalInterfaceMonitoring.setInterfaceName("查询预置位列表"); - //插入 - videoResultInsertInto(externalInterfaceMonitoring, response); + + try { + Response response = getRequestByHeadersByParam(header, + cameraInfo.getString("URL") + UniversalEnum.EXAMPLE_QUERY_THE_PRESET_BIT_LIST.getValue(), + requestParams); + //插入 + videoResultInsertInto(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** @@ -535,21 +636,32 @@ public class ExternalInterfaceMonitoringTask extends BaseController { } header.put("Authorization", videoTOKEN); - Response response = getRequestByHeadersByParam(header, - cameraInfo.getString("URL") + UniversalEnum.GET_CAMERA_INFORMATION_BY_ORGANIZATION.getValue(), - requestParams); //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.VIDEO.getCode()); externalInterfaceMonitoring.setInterfaceName("根据组织机构获取摄像机信息"); - //插入 - videoResultInsertInto(externalInterfaceMonitoring, response); + + + try { + Response response = getRequestByHeadersByParam(header, + cameraInfo.getString("URL") + UniversalEnum.GET_CAMERA_INFORMATION_BY_ORGANIZATION.getValue(), + requestParams); + //插入 + videoResultInsertInto(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /** * 云平台控制 */ - public void cloudPlatformControl() throws Exception { + public void cloudPlatformControl() { JSONObject cameraInfo = JSONObject.parseObject(configService.selectConfigByKey("dc.cameraInfo")); RequestParams requestParams = new RequestParams(); @@ -563,15 +675,26 @@ public class ExternalInterfaceMonitoringTask extends BaseController { header.put("Authorization", videoTOKEN); - Response response = getRequestByHeadersByParam(header, - cameraInfo.getString("URL") + UniversalEnum.CLOUD_PLATFORM_CONTROL.getValue(), - requestParams); //构造 ExternalInterfaceMonitoring externalInterfaceMonitoring = new ExternalInterfaceMonitoring(); externalInterfaceMonitoring.setInterfaceOwnership(InterfaceOwnershipEnum.VIDEO.getCode()); externalInterfaceMonitoring.setInterfaceName("云平台控制"); - //插入 - videoResultInsertInto(externalInterfaceMonitoring, response); + + + try { + Response response = getRequestByHeadersByParam(header, + cameraInfo.getString("URL") + UniversalEnum.CLOUD_PLATFORM_CONTROL.getValue(), + requestParams); + //插入 + videoResultInsertInto(externalInterfaceMonitoring, response); + } catch (Exception e) { + externalInterfaceMonitoring.setOperationResult(e.getMessage()); + externalInterfaceMonitoring.setOperationStatus(UniversalEnum.ZERO.getNumber()); + externalInterfaceMonitoring.setId(IdUtils.fastSimpleUUID()); + externalInterfaceMonitoring.setOperatorName("系统"); + externalInterfaceMonitoring.setOperationTime(new Date()); + externalInterfaceMonitoringMapper.insert(externalInterfaceMonitoring); + } } /**