From 3cde2386c1ddaeeacc8b815d25af3b6a84541e46 Mon Sep 17 00:00:00 2001 From: 换个名字嗨起来 <577530412@qq.com> Date: 星期四, 25 七月 2024 15:58:48 +0800 Subject: [PATCH] 接收返回值,做空值判断 --- src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java | 43 +++++++++++++++++++++++++++++++++---------- 1 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java index f2967f7..96fb426 100644 --- a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java @@ -10,6 +10,7 @@ import com.ruoyi.doublePrevention.entity.CJReport.CJdto.Data; import com.ruoyi.doublePrevention.entity.CJReport.CJdto.ErrorMsgDetails; import com.ruoyi.doublePrevention.entity.CJReport.CJdto.HandlerDO.*; +import com.ruoyi.doublePrevention.entity.PreventReportConfig; import com.ruoyi.doublePrevention.enums.CJReportEnum; import com.ruoyi.doublePrevention.enums.SyncEnum; import com.ruoyi.doublePrevention.repository.param.HandlerCJReportParam; @@ -28,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.*; +import java.lang.reflect.Array; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -58,6 +60,8 @@ private PreventCJReportPointService CJPointService; @Autowired private PreventCJReportOverhaulLogService CJOverhaulLogService; + @Autowired + private PreventReportConfigService preventReportConfigService; String token = "GT6gGJV7JV"; String key = "Bv+NeBolwqg2Pbc1yVwrZA=="; @@ -89,9 +93,10 @@ @Transactional -// @Scheduled(cron = "0 0 23 * * ?") //每天晚上23点执行一次 -// @Scheduled(cron = "0 0/2 * * * ? ") // 分钟 - //@Scheduled(cron = "0/30 * * * * ?") +// @Scheduled(cron = "0 0 23 * * ?") //每天晚上23点执行一次0 0 22,23 * * ? +// @Scheduled(cron = "0 0 22,23 * * ?") //每天晚上22、23点执行一次 + @Scheduled(cron = "0 0/10 * * * ? ") // 分钟 +// @Scheduled(cron = "0/30 * * * * ?") public void execReportDateSchedule() throws UnsupportedEncodingException { logger.info("【####】上报数据开始..."); @@ -108,10 +113,15 @@ logger.info("【token时间】" + formatDate); + //使用风险分析单元数据上报主配置,作为自动上报开关 + PreventReportConfig reportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode()); + if (reportConfig.getReportType() == 0){ + return; + } + /** * 1、处理安全风险分析单元数据 * */ - logger.info("【1】安全风险分析单元-处理数据..."); List<PreventCJReportRiskAnaUnit> CJRiskAnaUnits = CJRiskAnaUnitService.listReportUnitDate(); if (ObjectUtils.isNotEmpty(CJRiskAnaUnits)){ @@ -279,7 +289,7 @@ os.write(JSON.toJSONString(paraMap).getBytes()); //得到响应码 responseCode = con.getResponseCode(); - //本段日志,测试成功后,可注释掉 + //确认响应流不为空 if (responseCode == HttpURLConnection.HTTP_OK) { //得到响应流 InputStream inputStream = con.getInputStream(); @@ -471,10 +481,9 @@ cjReportCheckTaskFromWorkDTO.setCreateDate(dateFormat.format(cjTaskFromWork.getCreateDate())); cjReportCheckTaskFromWorkDTO.setUpdateDate(dateFormat.format(cjTaskFromWork.getUpdateDate())); cjReportCheckTaskFromWorkDTO.setTaskStartTime(dateFormat.format(cjTaskFromWork.getCreateDate())); - cjReportCheckTaskFromWorkDTO.setWorkStartTime(dateFormat.format(cjTaskFromWork.getUpdateDate())); - cjReportCheckTaskFromWorkDTO.setWorkEndTime(dateFormat.format(cjTaskFromWork.getUpdateDate())); reportCheckTaskFromWorkList.add(cjReportCheckTaskFromWorkDTO); } + System.out.println(Arrays.toString(reportCheckTaskFromWorkList.toArray())); //数据上报 String AESReportTaskFromWork = encrypt(JSONObject.toJSONString(reportCheckTaskFromWorkList), key.getBytes(), iv.getBytes()); StringBuffer taskFromWorkResultBuffer = null; @@ -497,7 +506,7 @@ con.setRequestProperty("X-Access-Token",token+formatDate.toString()); OutputStream os = con.getOutputStream(); Map paraMap = new HashMap(); - paraMap.put("data", AESReportTaskFromWork); /**封装数据*/ + paraMap.put("data", AESReportTaskFromWork); //组装入参,设置请求体 os.write(JSON.toJSONString(paraMap).getBytes()); //得到响应码 @@ -576,9 +585,10 @@ cjReportCheckRecordFromTaskDTO.setIsDefend(cjRecordFromTask.getDefend()); reportRecordFromTaskList.add(cjReportCheckRecordFromTaskDTO); } +// System.out.println(Arrays.toString(reportRecordFromTaskList.toArray())); //数据加密 String AESReportRecordFromTask = encrypt(JSONObject.toJSONString(reportRecordFromTaskList), key.getBytes(), iv.getBytes()); - + logger.info("【test】数据加密完成,开始上报数据"); StringBuffer recordFromTaskResultBuffer = null; //上报数据 try { @@ -621,9 +631,22 @@ e.printStackTrace(); } + logger.info("【test】接收返回值"); + CJReportResultData CJRecordFromTaskResult = new CJReportResultData(); + try { + CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class); + if (ObjectUtils.isEmpty(CJRecordFromTaskResult)){ + throw new RuntimeException("返回值为空"); + } + }catch (Exception e){ + e.printStackTrace(); + logger.info("【test】接收返回值异常"); + } + //接收返回值,保存返回值 - CJReportResultData CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class); +// CJReportResultData CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class); //接收返回值,保存返回值 + logger.info("【test】保存上报结果"); List<String> errorIdList= new ArrayList<>(); Data data = JSONObject.parseObject(CJRecordFromTaskResult.getData(), Data.class); //保存失败结果 -- Gitblit v1.9.2