From e6ab9c2b7af85ac676ef9fbe616327eb20f04139 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: Mon, 11 Dec 2023 10:01:18 +0800
Subject: [PATCH] 暂时提交
---
src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java | 569 ++++++++++++++++++++++++++------------------------------
1 files changed, 269 insertions(+), 300 deletions(-)
diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
index d1dda69..b7a46fc 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
@@ -10,10 +10,13 @@
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;
+import com.ruoyi.doublePrevention.repository.param.HandlerReportParam;
import com.ruoyi.doublePrevention.service.baseService.*;
+import com.ruoyi.doublePrevention.utilsCJ.AesGcm256Util;
import com.ruoyi.project.tr.report.service.ReportService;
import org.apache.commons.lang3.ObjectUtils;
import org.bouncycastle.crypto.engines.AESFastEngine;
@@ -28,11 +31,15 @@
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;
+import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+
+import static com.ruoyi.doublePrevention.utilsCJ.AesGcm256Util.encrypt;
@Component
public class ExecCJReportDateSchedule {
@@ -56,6 +63,10 @@
private PreventCJReportDangerInfoService CJDangerInfoService;
@Autowired
private PreventCJReportPointService CJPointService;
+ @Autowired
+ private PreventCJReportOverhaulLogService CJOverhaulLogService;
+ @Autowired
+ private PreventReportConfigService preventReportConfigService;
String token = "GT6gGJV7JV";
String key = "Bv+NeBolwqg2Pbc1yVwrZA==";
@@ -63,70 +74,88 @@
public static final int MAC_BIT_SIZE = 128;
- public static String encrypt(String plainText, byte[] key, byte[] iv) {
- String sr;
- try {
- byte[] plainBytes = plainText.getBytes(StandardCharsets.UTF_8);
- GCMBlockCipher cipher = new GCMBlockCipher(new
- AESFastEngine());
- AEADParameters parameters =
- new AEADParameters(new KeyParameter(key),
- MAC_BIT_SIZE, iv, null);
- cipher.init(true, parameters);
- byte[] encryptedBytes = new
- byte[cipher.getOutputSize(plainBytes.length)];
- int retLen = cipher.processBytes(plainBytes, 0, plainBytes.length,
- encryptedBytes, 0);
- cipher.doFinal(encryptedBytes, retLen);
- sr = Base64.getEncoder().encodeToString(encryptedBytes);
- } catch (Exception ex) {
- throw new RuntimeException(ex.getMessage());
- }
- return sr;
- }
+// public static String encrypt(String plainText, byte[] key, byte[] iv) {
+// String sr;
+// try {
+// byte[] plainBytes = plainText.getBytes(StandardCharsets.UTF_8);
+// GCMBlockCipher cipher = new GCMBlockCipher(new
+// AESFastEngine());
+// AEADParameters parameters =
+// new AEADParameters(new KeyParameter(key),
+// MAC_BIT_SIZE, iv, null);
+// cipher.init(true, parameters);
+// byte[] encryptedBytes = new
+// byte[cipher.getOutputSize(plainBytes.length)];
+// int retLen = cipher.processBytes(plainBytes, 0, plainBytes.length,
+// encryptedBytes, 0);
+// cipher.doFinal(encryptedBytes, retLen);
+// sr = Base64.getEncoder().encodeToString(encryptedBytes);
+// } catch (Exception ex) {
+// throw new RuntimeException(ex.getMessage());
+// }
+// return sr;
+// }
+//
@Transactional
-// @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/1 * * * ? ") // 分钟
+// @Scheduled(cron = "0 0/20 * * * ? ") // 分钟
+ @Scheduled(cron = "0/10 * * * * ?")
public void execReportDateSchedule() throws UnsupportedEncodingException {
- logger.info("【####】上报数据开始...");
+ logger.info("【¥¥】上报数据开始...");
+
+ String token = "4348187236"; // todo token暂时使用众泰
+ String key = "84702E415A73CE27077B5F726E7BDBB0";
+ String iv = "1C7AA98593AA69F4AAE119BD5C01D9ED";
HttpURLConnection con = null;
BufferedReader buffer = null;
int responseCode = 200;
- SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
//格式化时间,作为token的时间戳
- SimpleDateFormat tokenDate= new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ SimpleDateFormat tokenDate = new SimpleDateFormat("yyyyMMddHHMMssSSS");
String formatDate = tokenDate.format(date);
- 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)){
+ if (ObjectUtils.isNotEmpty(CJRiskAnaUnits)) {
+ logger.info("【【原始数据】】" + JSONObject.toJSONString(CJRiskAnaUnits));
//封装上报数据,时间格式化
List<CJReportRiskAnaUnitDTO> list = new ArrayList<>();
for (PreventCJReportRiskAnaUnit cjRiskAnaUnit : CJRiskAnaUnits) {
CJReportRiskAnaUnitDTO riskAnaUnit = BeanCopyUtils.copyBean(cjRiskAnaUnit, CJReportRiskAnaUnitDTO.class);
+ System.out.println("创建时间:" + dateFormat.format(cjRiskAnaUnit.getCreateDate()));
riskAnaUnit.setCreateDate(dateFormat.format(cjRiskAnaUnit.getCreateDate()));
riskAnaUnit.setUpdateDate(dateFormat.format(cjRiskAnaUnit.getUpdateDate()));
list.add(riskAnaUnit);
}
+
+ logger.info("【【风险单元原始数据】】" + JSONObject.toJSONString(list));
+
// logger.info("【【原始数据】】" + JSONObject.toJSONString(list));
- String AESReportUnitDate = encrypt(JSONObject.toJSONString(list), key.getBytes(), iv.getBytes());
-// logger.info("【【AES加密结果】】"+ AESReportUnitDate);{0JRK`$6X.jpg)min/Desktop/所有桌面文件存放/9}AM56M10$6WX){0JRK`$6X.jpg)
+ String AESReportUnitDate = AesGcm256Util.encrypt(JSONArray.toJSON(list).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
StringBuffer unitResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/unitMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveUnitList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -139,14 +168,15 @@
con.setUseCaches(false);
con.setInstanceFollowRedirects(true);
//设置请求头
- con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+ con.setRequestProperty("Authorization", token + formatDate.toString());
//设置Content-Type,此处根据实际情况确定
con.setRequestProperty("Content-Type", "application/json;charset=utf8");
OutputStream os = con.getOutputStream();
Map paraMap = new HashMap();
- paraMap.put("data", AESReportUnitDate); /**封装数据*/
- logger.info("【【加密请求体】】" + JSONArray.toJSON(paraMap).toString());
+ paraMap.put("data", AESReportUnitDate);
+ /**封装数据*/
+ logger.info("【【加密请求体】】" + JSONArray.toJSON(paraMap).toString());
//组装入参,设置请求体
os.write(JSON.toJSONString(paraMap).getBytes());
@@ -162,74 +192,33 @@
unitResultBuffer.append(line);
}
logger.info("result:" + unitResultBuffer.toString());
+ System.out.println("result:" + unitResultBuffer.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
//接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
+ List<String> errorIdList = new ArrayList<>();
+
+ //拼接上报数据的uuid
+ StringBuffer idTextBuffer = new StringBuffer();
+
//接收参数,转为对象
- CJReportResultData CJUnitResult = JSONObject.parseObject(unitResultBuffer.toString(), CJReportResultData.class);
-// Object parse = JSON.parse(CJUnitResult.getData());
- //取出需要的data部分,再次转换为对象
- Data data = JSONObject.parseObject(CJUnitResult.getData(), Data.class);
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
+ ReportResultDTO unitResult = JSONObject.parseObject(unitResultBuffer.toString(), ReportResultDTO.class);
+ //设置所有数据上报成功
+ for (PreventCJReportRiskAnaUnit riskAnaUnit : CJRiskAnaUnits) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(riskAnaUnit.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJRiskAnaUnitService.updateReportStatus(handlerReportParam);
+ idTextBuffer.append(riskAnaUnit.getId() + ";");
}
- if (CJUnitResult.getCode().equals(CJReportEnum.SUCCESS.getCode())){
- logger.info("【#】RiskAnaUnit所有数据全部入库成功");
- for (PreventCJReportRiskAnaUnit CJRiskAnaUnit : CJRiskAnaUnits) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJRiskAnaUnit.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJRiskAnaUnitService.updateCJReportStatusById(handlerCJReportParam);
- }
- }else if (CJUnitResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- logger.info("【#】RiskAnaUnit部分数据上传失败原因" + CJUnitResult.getErrorMsg());
-
- CJUnitResult.getData();
- //遍历数据,设置数据上报成功
- for (PreventCJReportRiskAnaUnit CJRiskAnaUnit : CJRiskAnaUnits) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJRiskAnaUnit.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJRiskAnaUnitService.updateCJReportStatusById(handlerCJReportParam);
- }
- //遍历失败数据,设置数据上报失败
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJRiskAnaUnitService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
- else if (CJUnitResult.getCode().equals(CJReportEnum.FAIL.getCode())){
- logger.info("【#】RiskAnaUnit所有数据全部入库失败");
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJRiskAnaUnitService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
- logger.info("【1】安全风险分析单元-数据处理完成");
}else {
- logger.info("【1】风险分析单元-无数据上报昌吉州");
+ logger.info("【1】风险单元-无数据上报昌吉州");
}
-
/**
* 2、处理安全风险事件数据
@@ -248,12 +237,14 @@
}
logger.info("【【风险事件原始数据】】" + JSONObject.toJSONString(eventList));
//加密数据
- String AESReportUnitDate = encrypt(JSONObject.toJSONString(eventList), key.getBytes(), iv.getBytes());
-
+// String AESReportEventDate = encrypt(JSONObject.toJSONString(eventList), key.getBytes(), iv.getBytes());
+ String AESReportEventDate = AesGcm256Util.encrypt(JSONArray.toJSON(eventList).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
StringBuffer eventResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/eventMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveEventList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -267,16 +258,16 @@
//不使用缓存
con.setUseCaches(false);
//设置请求头
- con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+ con.setRequestProperty("X-Access-Token",token + formatDate.toString());
con.setInstanceFollowRedirects(true);
OutputStream os = con.getOutputStream();
Map paraMap = new HashMap();
- paraMap.put("data", AESReportUnitDate); /**封装数据*/
+ paraMap.put("data", AESReportEventDate); /**封装数据*/
//组装入参,设置请求体
os.write(JSON.toJSONString(paraMap).getBytes());
//得到响应码
responseCode = con.getResponseCode();
- //本段日志,测试成功后,可注释掉
+ //确认响应流不为空
if (responseCode == HttpURLConnection.HTTP_OK) {
//得到响应流
InputStream inputStream = con.getInputStream();
@@ -293,59 +284,14 @@
e.printStackTrace();
}
- //接收返回值,保存返回值
- CJReportResultData CJEventResult = JSONObject.parseObject(eventResultBuffer.toString(), CJReportResultData.class);
-
- //接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
- Data data = JSONObject.parseObject(CJEventResult.getData(), Data.class);
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
- }
- if (CJEventResult.getCode().equals(CJReportEnum.SUCCESS.getCode())){
- logger.info("【#】Event所有数据全部入库成功");
- for (PreventCJReportRiskEvent CJEvent : CJEvents) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJEvent.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJEventService.updateCJReportStatusById(handlerCJReportParam);
- }
- }else if (CJEventResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- logger.info("【#】Event部分数据上传失败原因" + CJEventResult.getErrorMsg());
- //遍历数据,上报数据设置为成功状态
- for (PreventCJReportRiskEvent CJEvent : CJEvents) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJEvent.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJEventService.updateCJReportStatusById(handlerCJReportParam);
- }
- //遍历失败数据,设置为失败状态
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJEventService.updateCJReportStatusById(handlerCJReportParam);
- }
- } else if (CJEventResult.getCode().equals(CJReportEnum.FAIL.getCode())){
- logger.info("【#】Event所有数据全部入库失败");
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJEventService.updateCJReportStatusById(handlerCJReportParam);
- }
+ //设置所有数据上报成功
+ for (PreventCJReportRiskEvent cjEvent : CJEvents) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(cjEvent.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJEventService.updateEventReportStatus(handlerReportParam);
}
logger.info("【2】安全风险事件-数据处理完成");
}else {
@@ -368,14 +314,16 @@
reportMeasureList.add(cjReportRiskControlMeasureDTO);
}
//数据上报
- String AESReportMeasure = encrypt(JSONObject.toJSONString(reportMeasureList), key.getBytes(), iv.getBytes());
-
+// String AESReportMeasure = encrypt(JSONObject.toJSONString(reportMeasureList), key.getBytes(), iv.getBytes());
+ String AESReportMeasure = AesGcm256Util.encrypt(JSONArray.toJSON(reportMeasureList).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
logger.info("【原始数据】" + JSONObject.toJSONString(reportMeasureList));
StringBuffer measureResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/controlMeasuresMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveControlMeasuresList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -389,7 +337,7 @@
//不使用缓存
con.setUseCaches(false);
//设置请求头
- con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+ con.setRequestProperty("X-Access-Token",token + formatDate.toString());
OutputStream os = con.getOutputStream();
Map paraMap = new HashMap();
paraMap.put("data", AESReportMeasure); /**封装数据*/
@@ -414,40 +362,14 @@
e.printStackTrace();
}
- //接收返回值,保存返回值
- CJReportResultData CJMeasureResult = JSONObject.parseObject(measureResultBuffer.toString(), CJReportResultData.class);
- //接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
- Data data = JSONObject.parseObject(CJMeasureResult.getData(), Data.class);
- //保存失败结果
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
- }
- logger.info("【】管控措施-数据上报结果:" + CJMeasureResult.getCode());
//设置所有数据上报成功
- if (CJMeasureResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJMeasureResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasures) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJMeasure.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJMeasureService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
- //设置上报失败的数据,上报失败
- if (CJMeasureResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJMeasureResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJMeasureService.updateCJReportStatusById(handlerCJReportParam);
- }
+ for (PreventCJReportRiskControlMeasure cjMeasure : CJMeasures) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(cjMeasure.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJMeasureService.updateMeasureReportStatus(handlerReportParam);
}
logger.info("【3】风险管控措施-数据处理完成");
}else {
@@ -467,14 +389,20 @@
CJReportCheckTaskFromWorkDTO cjReportCheckTaskFromWorkDTO = BeanCopyUtils.copyBean(cjTaskFromWork, CJReportCheckTaskFromWorkDTO.class);
cjReportCheckTaskFromWorkDTO.setCreateDate(dateFormat.format(cjTaskFromWork.getCreateDate()));
cjReportCheckTaskFromWorkDTO.setUpdateDate(dateFormat.format(cjTaskFromWork.getUpdateDate()));
+ cjReportCheckTaskFromWorkDTO.setTaskStartTime(dateFormat.format(cjTaskFromWork.getCreateDate()));
reportCheckTaskFromWorkList.add(cjReportCheckTaskFromWorkDTO);
}
+ System.out.println(Arrays.toString(reportCheckTaskFromWorkList.toArray()));
//数据上报
- String AESReportTaskFromWork = encrypt(JSONObject.toJSONString(reportCheckTaskFromWorkList), key.getBytes(), iv.getBytes());
+// String AESReportTaskFromWork = encrypt(JSONObject.toJSONString(reportCheckTaskFromWorkList), key.getBytes(), iv.getBytes());
+ String AESReportTaskFromWork = AesGcm256Util.encrypt(JSONArray.toJSON(reportCheckTaskFromWorkList).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
+
StringBuffer taskFromWorkResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/measuresTaskMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveMeasuresTaskList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -488,10 +416,10 @@
//不使用缓存
con.setUseCaches(false);
//设置请求头
- con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+ 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());
//得到响应码
@@ -513,41 +441,16 @@
e.printStackTrace();
}
- //接收返回值,保存返回值
- CJReportResultData CJTaskFromWorkResult = JSONObject.parseObject(taskFromWorkResultBuffer.toString(), CJReportResultData.class);
- //接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
- Data data = JSONObject.parseObject(CJTaskFromWorkResult.getData(), Data.class);
- //保存失败结果
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
- }
- logger.info("【】任务:数据上报结果:" + CJTaskFromWorkResult.getCode());
//设置所有数据上报成功
- if (CJTaskFromWorkResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJTaskFromWorkResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (PreventCJReportCheckTaskFromWork CJTaskFromWork : CJTaskFromWorks) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJTaskFromWork.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJTaskFromWorkService.updateCJReportStatusById(handlerCJReportParam);
- }
+ for (PreventCJReportCheckTaskFromWork cjTaskFromWork : CJTaskFromWorks) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(cjTaskFromWork.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJTaskFromWorkService.updateWorkReportStatus(handlerReportParam);
}
- //设置上报失败的数据,上报失败
- if (CJTaskFromWorkResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJTaskFromWorkResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJTaskFromWorkService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
+
logger.info("【4】任务-数据处理完成");
}else {
logger.info("【4】任务-无数据上报昌吉州");
@@ -563,18 +466,24 @@
List<CJReportCheckRecordFromTaskDTO> reportRecordFromTaskList = new ArrayList<>();
for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) {
CJReportCheckRecordFromTaskDTO cjReportCheckRecordFromTaskDTO = BeanCopyUtils.copyBean(cjRecordFromTask, CJReportCheckRecordFromTaskDTO.class);
- cjReportCheckRecordFromTaskDTO.setCreateDate(dateFormat.format(cjRecordFromTask.getCreateDate()));
- cjReportCheckRecordFromTaskDTO.setUpdateDate(dateFormat.format(cjRecordFromTask.getUpdateDate()));
+// cjReportCheckRecordFromTaskDTO.setCreateDate(dateFormat.format(cjRecordFromTask.getCreateDate()));
+// cjReportCheckRecordFromTaskDTO.setUpdateDate(dateFormat.format(cjRecordFromTask.getUpdateDate()));
cjReportCheckRecordFromTaskDTO.setCheckTime(dateFormat.format(cjRecordFromTask.getCheckTime()));
+ cjReportCheckRecordFromTaskDTO.setMobileMe(cjRecordFromTask.getMobileCode());
+ cjReportCheckRecordFromTaskDTO.setIsDefend(cjRecordFromTask.getDefend());
reportRecordFromTaskList.add(cjReportCheckRecordFromTaskDTO);
}
+// System.out.println(Arrays.toString(reportRecordFromTaskList.toArray()));
//数据加密
- String AESReportRecordFromTask = encrypt(JSONObject.toJSONString(reportRecordFromTaskList), key.getBytes(), iv.getBytes());
+// String AESReportRecordFromTask = encrypt(JSONObject.toJSONString(reportRecordFromTaskList), key.getBytes(), iv.getBytes());
+ String AESReportRecordFromTask = AesGcm256Util.encrypt(JSONArray.toJSON(reportRecordFromTaskList).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
StringBuffer recordFromTaskResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/measuresTaskRecordMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveMeasuresTaskRecordList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -588,7 +497,7 @@
//不使用缓存
con.setUseCaches(false);
//设置请求头
- con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+ con.setRequestProperty("X-Access-Token",token + formatDate.toString());
OutputStream os = con.getOutputStream();
Map paraMap = new HashMap();
paraMap.put("data", AESReportRecordFromTask);/**封装数据*/
@@ -613,40 +522,14 @@
e.printStackTrace();
}
- //接收返回值,保存返回值
- CJReportResultData CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class);
- //接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
- Data data = JSONObject.parseObject(CJRecordFromTaskResult.getData(), Data.class);
- //保存失败结果
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
- }
- logger.info("【】CJRecordFromTask数据上报结果:" + CJRecordFromTaskResult.getCode());
//设置所有数据上报成功
- if (CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (PreventCJReportCheckRecordFromTask CJRecordFromTask : CJRecordFromTasks) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJRecordFromTask.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJTaskRecordService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
- //设置上报失败的数据,上报失败
- if (CJRecordFromTaskResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJTaskRecordService.updateCJReportStatusById(handlerCJReportParam);
- }
+ for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(cjRecordFromTask.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJTaskRecordService.updateTaskReportStatus(handlerReportParam);
}
logger.info("【5】任务记录-数据处理完成");
}else {
@@ -676,11 +559,15 @@
}
//数据上报
logger.info("【原始数据】" + JSONObject.toJSONString(reportDangerInfoLists));
- String AESReportDangerInfo = encrypt(JSONObject.toJSONString(reportDangerInfoLists), key.getBytes(), iv.getBytes());
+// String AESReportDangerInfo = encrypt(JSONObject.toJSONString(reportDangerInfoLists), key.getBytes(), iv.getBytes());
+ String AESReportDangerInfo = AesGcm256Util.encrypt(JSONArray.toJSON(reportDangerInfoLists).toString(),
+ AesGcm256Util.hexToByte(key),
+ AesGcm256Util.hexToByte(iv));
+
StringBuffer dangerInfoResultBuffer = null;
//上报数据
try {
- URL url = new URL("http://120.71.182.198:9999/v1/data/receive/dangerInvestigationMsg");
+ URL url = new URL("http://117.190.86.66:6022/v2/data/receive/receiveDangerInvestigationList");
//得到连接对象
con = (HttpURLConnection) url.openConnection();
//设置请求类型
@@ -719,46 +606,128 @@
e.printStackTrace();
}
- //接收返回值,保存返回值
- CJReportResultData CJDangerInfoResult = JSONObject.parseObject(dangerInfoResultBuffer.toString(), CJReportResultData.class);
- //接收返回值,保存返回值
- List<String> errorIdList= new ArrayList<>();
- Data data = JSONObject.parseObject(CJDangerInfoResult.getData(), Data.class);
- //保存失败结果
- if (ObjectUtils.isNotEmpty(data)){
- for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
- errorIdList.add(errorMsgDetail.getId());
- }
- }
- logger.info("【】CJDangerInfo数据上报结果:" + CJDangerInfoResult.getCode());
//设置所有数据上报成功
- if (CJDangerInfoResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJDangerInfoResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (PreventCJReportDangerInfo CJDangerInfo : CJDangerInfos) {
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(CJDangerInfo.getId());
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
- handlerCJReportParam.setReportTime(date);
- CJDangerInfoService.updateCJReportStatusById(handlerCJReportParam);
- }
- }
- //设置上报失败的数据,上报失败
- if (CJDangerInfoResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJDangerInfoResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
- for (String failId : errorIdList) {
- //上报失败
- HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
- //封装数据
- handlerCJReportParam.setId(failId);
- handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
- handlerCJReportParam.setReportTime(date);
- CJDangerInfoService.updateCJReportStatusById(handlerCJReportParam);
- }
+ for (PreventCJReportDangerInfo cjDangerInfo : CJDangerInfos) {
+ HandlerCJReportParam handlerReportParam = new HandlerCJReportParam();
+ //封装数据
+ handlerReportParam.setId(cjDangerInfo.getId());
+ handlerReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerReportParam.setReportTime(date);
+ CJDangerInfoService.updateDangerInfoReportStatus(handlerReportParam);
}
logger.info("【6】隐患信息-数据处理完成");
}else {
logger.info("【6】隐患信息-无数据上报昌吉州");
}
- }
+// /**
+// * 7、检修停用记录信息数据
+// * */
+// logger.info("【7】检修停用记录-处理数据...");
+// List<PreventCJReportOverhaulLog> CJOverhaulLogs = CJOverhaulLogService.listReportOverhaulDate();
+// if (ObjectUtils.isNotEmpty(CJOverhaulLogs)){
+// //封装上报数据
+// List<CJReportOverhaulLogDTO> reportOverhaulLogDTOS = new ArrayList<>();
+// for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogs) {
+// CJReportOverhaulLogDTO cjReportOverhaulLogDTO = BeanCopyUtils.copyBean(cjOverhaulLog, CJReportOverhaulLogDTO.class);
+//
+// cjReportOverhaulLogDTO.setCreateDate(dateFormat.format(cjOverhaulLog.getCreateDate()));
+// cjReportOverhaulLogDTO.setUpdateDate(dateFormat.format(cjOverhaulLog.getUpdateDate()));
+// cjReportOverhaulLogDTO.setStopStartTime(dateFormat.format(cjOverhaulLog.getStopStartTime()));
+// if (ObjectUtils.isNotEmpty(cjOverhaulLog.getStopEndTime())){
+// cjReportOverhaulLogDTO.setStopEndTime(dateFormat.format(cjOverhaulLog.getStopEndTime()));
+// }else {
+// cjReportOverhaulLogDTO.setStopEndTime(null);
+// }
+// reportOverhaulLogDTOS.add(cjReportOverhaulLogDTO);
+// }
+//
+// //数据上报
+// logger.info("【原始数据】" + JSONObject.toJSONString(reportOverhaulLogDTOS));
+// String AESReportDangerInfo = encrypt(JSONObject.toJSONString(reportOverhaulLogDTOS), key.getBytes(), iv.getBytes());
+// StringBuffer dangerInfoResultBuffer = null;
+// //上报数据
+// try {
+// URL url = new URL("http://117.190.86.66:6022/v1/data/receive/receiveUnitStop");
+// //得到连接对象
+// con = (HttpURLConnection) url.openConnection();
+// //设置请求类型
+// con.setRequestMethod("POST");
+// //设置Content-Type,此处根据实际情况确定
+// con.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+// //允许写出
+// con.setDoOutput(true);
+// //允许读入
+// con.setDoInput(true);
+// //不使用缓存
+// con.setUseCaches(false);
+// //设置请求头
+// con.setRequestProperty("X-Access-Token",token + formatDate.toString());
+// OutputStream os = con.getOutputStream();
+// Map paraMap = new HashMap();
+// paraMap.put("data", AESReportDangerInfo);/**封装数据*/
+// //组装入参,设置请求体
+// os.write(JSON.toJSONString(paraMap).getBytes());
+// //得到响应码
+// responseCode = con.getResponseCode();
+// //本段日志,测试成功后,可注释掉
+// if (responseCode == HttpURLConnection.HTTP_OK) {
+// //得到响应流
+// InputStream inputStream = con.getInputStream();
+// //将响应流转换成字符串
+// dangerInfoResultBuffer = new StringBuffer();
+// String line;
+// buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+// while ((line = buffer.readLine()) != null) {
+// dangerInfoResultBuffer.append(line);
+// }
+// logger.info("result:" + dangerInfoResultBuffer.toString());
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+//
+// //接收返回值,保存返回值
+// CJReportResultData CJOverhaulLogResult = JSONObject.parseObject(dangerInfoResultBuffer.toString(), CJReportResultData.class);
+// //接收返回值,保存返回值
+// List<String> errorIdList= new ArrayList<>();
+// Data data = JSONObject.parseObject(CJOverhaulLogResult.getData(), Data.class);
+// //保存失败结果
+// if (ObjectUtils.isNotEmpty(data)){
+// for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) {
+// errorIdList.add(errorMsgDetail.getId());
+// }
+// }
+// logger.info("【】CJOverhaulLog数据上报结果:" + CJOverhaulLogResult.getCode());
+// //设置所有数据上报成功
+//
+// if (CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
+// for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogs) {
+// HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
+// //封装数据
+// handlerCJReportParam.setId(cjOverhaulLog.getId());
+// handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+// handlerCJReportParam.setReportTime(date);
+// CJOverhaulLogService.updateCJReportStatusById(handlerCJReportParam);
+// }
+// }
+// //设置上报失败的数据,上报失败
+// if (CJOverhaulLogResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){
+// for (String failId : errorIdList) {
+// //上报失败
+// HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam();
+// //封装数据
+// handlerCJReportParam.setId(failId);
+// handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
+// handlerCJReportParam.setReportTime(date);
+// CJOverhaulLogService.updateCJReportStatusById(handlerCJReportParam);
+// }
+// }
+// logger.info("【7】检修停用记录-数据处理完成");
+// }else {
+// logger.info("【7】检修停用记录-无数据上报昌吉州");
+// }
+
+ }
}
--
Gitblit v1.9.2