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 |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 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 3ed730e..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;
@@ -59,6 +60,8 @@
     private PreventCJReportPointService CJPointService;
     @Autowired
     private PreventCJReportOverhaulLogService CJOverhaulLogService;
+    @Autowired
+    private PreventReportConfigService preventReportConfigService;
 
     String token = "GT6gGJV7JV";
     String key = "Bv+NeBolwqg2Pbc1yVwrZA==";
@@ -90,9 +93,10 @@
 
 
     @Transactional
-    @Scheduled(cron = "0 0 23 * * ?")    //每天晚上23点执行一次
-//    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
-    //@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("【####】上报数据开始...");
 
@@ -109,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)){
@@ -280,7 +289,7 @@
                 os.write(JSON.toJSONString(paraMap).getBytes());
                 //得到响应码
                 responseCode = con.getResponseCode();
-                //本段日志,测试成功后,可注释掉
+                //确认响应流不为空
                 if (responseCode == HttpURLConnection.HTTP_OK) {
                     //得到响应流
                     InputStream inputStream = con.getInputStream();
@@ -472,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;
@@ -577,10 +585,10 @@
                 cjReportCheckRecordFromTaskDTO.setIsDefend(cjRecordFromTask.getDefend());
                 reportRecordFromTaskList.add(cjReportCheckRecordFromTaskDTO);
             }
-            System.out.println(Arrays.toString(reportRecordFromTaskList.toArray()));
+//            System.out.println(Arrays.toString(reportRecordFromTaskList.toArray()));
             //数据加密
             String AESReportRecordFromTask = encrypt(JSONObject.toJSONString(reportRecordFromTaskList), key.getBytes(), iv.getBytes());
-
+            logger.info("【test】数据加密完成,开始上报数据");
             StringBuffer recordFromTaskResultBuffer = null;
             //上报数据
             try {
@@ -623,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