From af6d33f7c16b121538a6cdd417728e03c4ad0ef1 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 19 六月 2025 16:55:19 +0800
Subject: [PATCH] 准东数据推送

---
 src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java |  740 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 405 insertions(+), 335 deletions(-)

diff --git a/src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java b/src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java
index cdc07c5..587750a 100644
--- a/src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java
+++ b/src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java
@@ -1,335 +1,405 @@
-package com.ruoyi.project.tr.specialCheck.Test;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.ruoyi.project.tr.riskList.service.IRiskListService;
-import com.ruoyi.project.tr.specialCheck.domin.DownloadDTO.*;
-import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckItem;
-import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckScore;
-import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckTask;
-import com.ruoyi.project.tr.specialCheck.domin.TbCheckConfig;
-import com.ruoyi.project.tr.specialCheck.mapper.*;
-import org.bouncycastle.crypto.engines.AESFastEngine;
-import org.bouncycastle.crypto.modes.GCMBlockCipher;
-import org.bouncycastle.crypto.params.AEADParameters;
-import org.bouncycastle.crypto.params.KeyParameter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.text.SimpleDateFormat;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
-@Component
-public class SpecialCheckTaskDownload {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private TbBaseCheckCompanyMapper companyTbRepository;
-    @Autowired
-    private TbBaseCheckItemMapper itemTbRepository;
-    @Autowired
-    private TbBaseCheckScoreMapper scoreTbRepository;
-    @Autowired
-    private TbBaseCheckTaskMapper taskTbRepository;
-    @Autowired
-    private TbSpecialCheckTaskLogMapper taskSpecialLogMapper;
-    @Autowired
-    private IRiskListService riskListService;
-    @Autowired
-    private TbCheckConfigMapper configMapper;
-
-    String token = "GT6gGJV7JV";
-    String key = "Bv+NeBolwqg2Pbc1yVwrZA==";
-    String iv = "4QC9V8eAiB7tdlgBkMsTAw==";
-
-    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;
-    }
-
-
-    @Transactional
-//    @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/5 * * * * ?")
-    public void execReportDateSchedule() throws UnsupportedEncodingException {
-        logger.info("【####】拉取专项检查数据开始...");
-
-        HttpURLConnection con = null;
-        BufferedReader buffer = null;
-        int responseCode = 200;
-
-        DateTimeFormatter dateFormatCheckData = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:MM:ss");
-
-        Date date = new Date();
-        //格式化时间,作为token的时间戳
-        SimpleDateFormat tokenDate= new SimpleDateFormat("yyyyMMddHHmmssSSS");
-        String formatDate = tokenDate.format(date);
-
-        logger.info("【token时间】" + formatDate);
-
-        /**
-         * 1
-         * */
-        logger.info("【####】拉取专项任务数据开始...");
-        TbCheckConfig specialCheckConfig = configMapper.getSpecialCheckConfig();
-        if (specialCheckConfig.getStatus() == 2){
-
-            StringBuffer specialCheckBuffer = null;
-
-            //上报数据
-             try {
-             URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckTask");
-             //得到连接对象
-             con = (HttpURLConnection) url.openConnection();
-             //设置请求类型
-             con.setRequestMethod("POST");
-             //允许写出
-             con.setDoOutput(true);
-             //允许读入
-             con.setDoInput(true);
-             //不使用缓存
-             con.setUseCaches(false);
-             con.setInstanceFollowRedirects(true);
-             //设置请求头
-             con.setRequestProperty("X-Access-Token",token+formatDate.toString());
-             //设置Content-Type,此处根据实际情况确定
-             con.setRequestProperty("Content-Type", "application/json;charset=utf8");
-
-             OutputStream os = con.getOutputStream();
-
-            //本段日志,测试成功后,可注释掉
-            if (responseCode == HttpURLConnection.HTTP_OK) {
-                //得到响应流
-                InputStream inputStream = con.getInputStream();
-                //将响应流转换成字符串
-                specialCheckBuffer = new StringBuffer();
-                String line;
-                buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
-                while ((line = buffer.readLine()) != null) {
-                    specialCheckBuffer.append(line);
-                }
-//                    logger.info("result:" + unitResultBuffer.toString());
-                System.out.println("result:" + specialCheckBuffer.toString());
-            }
-
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-            //接收返回值,保存返回值
-            TbBaseCheckTaskDownloadBO checkTaskDownloadDTO = JSONObject.parseObject(specialCheckBuffer.toString(), TbBaseCheckTaskDownloadBO.class);
-            //接收返回值,保存返回值
-            CheckTaskData tasks = JSONObject.parseObject(checkTaskDownloadDTO.getData(), CheckTaskData.class);
-            if (tasks.getCheckTaskLists().size() > 0){
-                for (TbBaseCheckTask checkTask : tasks.getCheckTaskLists()) {
-                    checkTask.setStatus(1);
-                    int insert = taskTbRepository.insert(checkTask);
-                }
-            }
-
-            logger.info("【专项检查任务】-读取任务结果:" + checkTaskDownloadDTO.getCode());
-            System.out.println("【专项检查任务】-读取任务完成");
-        }else {
-            System.out.println("【专项检查任务】- 不读取任务");
-        }
-
-        /**
-         * 2
-         * */
-        logger.info("【####】拉取检查项数据开始...");
-        if (specialCheckConfig.getStatus() == 2){
-
-            StringBuffer specialCheckBuffer = null;
-
-            ItemDownloadRespDTO itemDownloadRespDTO = new ItemDownloadRespDTO();
-            TbBaseCheckTask baseCheckTask = taskTbRepository.getBaseCheckTaskByStatus(date);
-            Page page = new Page();
-            page.setCurrent(String.valueOf(1));
-            page.setSize(String.valueOf(1000));
-
-            itemDownloadRespDTO.setTaskId(baseCheckTask.getId());
-            itemDownloadRespDTO.setPage(page);
-            //加密请求数据
-            String AESReportUnitDate = encrypt(JSONObject.toJSONString(itemDownloadRespDTO), key.getBytes(), iv.getBytes());
-            //上报数据
-            try {
-                URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckItem");
-                //得到连接对象
-                con = (HttpURLConnection) url.openConnection();
-                //设置请求类型
-                con.setRequestMethod("POST");
-                //允许写出
-                con.setDoOutput(true);
-                //允许读入
-                con.setDoInput(true);
-                //不使用缓存
-                con.setUseCaches(false);
-                con.setInstanceFollowRedirects(true);
-                //设置请求头
-                con.setRequestProperty("X-Access-Token",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); /**封装数据*/
-                System.out.println("【【加密请求体】】" +  JSONArray.toJSON(paraMap).toString());
-                //组装入参,设置请求体
-                os.write(JSON.toJSONString(paraMap).getBytes());
-
-                //本段日志,测试成功后,可注释掉
-                if (responseCode == HttpURLConnection.HTTP_OK) {
-                    //得到响应流
-                    InputStream inputStream = con.getInputStream();
-                    //将响应流转换成字符串
-                    specialCheckBuffer = new StringBuffer();
-                    String line;
-                    buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
-                    while ((line = buffer.readLine()) != null) {
-                        specialCheckBuffer.append(line);
-                    }
-//                    logger.info("result:" + unitResultBuffer.toString());
-                    System.out.println("result:" + specialCheckBuffer.toString());
-                }
-
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-            //接收返回值,保存返回值
-            ItemDownloadRespBO itemDownloadRespBO = JSONObject.parseObject(specialCheckBuffer.toString(), ItemDownloadRespBO.class);
-            //接收返回值,保存返回值
-            CheckItemData itemData = JSONObject.parseObject(itemDownloadRespBO.getData(), CheckItemData.class);
-            if (itemData.getItemLists().size() > 0){
-                for (TbBaseCheckItem item : itemData.getItemLists()) {
-                    item.setStatus(1);
-                    int insert = itemTbRepository.insert(item);
-                }
-            }
-
-            taskTbRepository.updateStatusById(baseCheckTask.getId());
-
-            logger.info("【专项任务检查项】-读取检查项结果:" + itemDownloadRespBO.getCode());
-            System.out.println("【专项任务检查项】-读取检查项完成");
-        }else {
-            System.out.println("【专项任务检查项】- 不读取检查项");
-        }
-
-        /**
-         * 3
-         * */
-        logger.info("【####】拉取评分细则开始...");
-        if (specialCheckConfig.getStatus() == 2){
-
-            StringBuffer specialCheckBuffer = null;
-
-            ScoreDownloadRespDTO scoreDownloadRespDTO = new ScoreDownloadRespDTO();
-            TbBaseCheckItem baseItemByStatus = itemTbRepository.getBaseItemByStatus(date);
-            Page page = new Page();
-            page.setCurrent(String.valueOf(1));
-            page.setSize(String.valueOf(1000));
-
-            scoreDownloadRespDTO.setTaskId(baseItemByStatus.getTaskId());
-            scoreDownloadRespDTO.setCheckItemId(baseItemByStatus.getId());
-            scoreDownloadRespDTO.setPage(page);
-            //加密请求数据
-            String AESReportUnitDate = encrypt(JSONObject.toJSONString(scoreDownloadRespDTO), key.getBytes(), iv.getBytes());
-            //上报数据
-            try {
-                URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckItem");
-                //得到连接对象
-                con = (HttpURLConnection) url.openConnection();
-                //设置请求类型
-                con.setRequestMethod("POST");
-                //允许写出
-                con.setDoOutput(true);
-                //允许读入
-                con.setDoInput(true);
-                //不使用缓存
-                con.setUseCaches(false);
-                con.setInstanceFollowRedirects(true);
-                //设置请求头
-                con.setRequestProperty("X-Access-Token",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); /**封装数据*/
-                System.out.println("【【加密请求体】】" +  JSONArray.toJSON(paraMap).toString());
-                //组装入参,设置请求体
-                os.write(JSON.toJSONString(paraMap).getBytes());
-
-                //本段日志,测试成功后,可注释掉
-                if (responseCode == HttpURLConnection.HTTP_OK) {
-                    //得到响应流
-                    InputStream inputStream = con.getInputStream();
-                    //将响应流转换成字符串
-                    specialCheckBuffer = new StringBuffer();
-                    String line;
-                    buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
-                    while ((line = buffer.readLine()) != null) {
-                        specialCheckBuffer.append(line);
-                    }
-//                    logger.info("result:" + unitResultBuffer.toString());
-                    System.out.println("result:" + specialCheckBuffer.toString());
-                }
-
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-            //接收返回值,保存返回值
-            ScoreDownloadRespBO scoreDownloadRespBO = JSONObject.parseObject(specialCheckBuffer.toString(), ScoreDownloadRespBO.class);
-            //接收返回值,保存返回值
-            CheckScoreData scoreData = JSONObject.parseObject(scoreDownloadRespBO.getData(), CheckScoreData.class);
-            if (scoreData.getScoreLists().size() > 0){
-                for (TbBaseCheckScore score : scoreData.getScoreLists()) {
-                    int insert = scoreTbRepository.insert(score);
-                }
-
-            }
-            itemTbRepository.updateStatusById(baseItemByStatus.getId());
-
-            logger.info("【评分细则】-读取结果:" + scoreDownloadRespBO.getCode());
-            System.out.println("【评分细则】-读取完成");
-        }else {
-            System.out.println("【评分细则】- 不读取");
-        }
-
-
-    }
-}
+package com.ruoyi.project.tr.specialCheck.Test;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.ruoyi.project.tr.riskList.service.IRiskListService;
+import com.ruoyi.project.tr.specialCheck.domin.DownloadDTO.*;
+import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckItem;
+import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckScore;
+import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckTask;
+import com.ruoyi.project.tr.specialCheck.domin.TbCheckConfig;
+import com.ruoyi.project.tr.specialCheck.mapper.*;
+import org.bouncycastle.crypto.engines.AESFastEngine;
+import org.bouncycastle.crypto.modes.GCMBlockCipher;
+import org.bouncycastle.crypto.params.AEADParameters;
+import org.bouncycastle.crypto.params.KeyParameter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.chrono.ChronoLocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+@Component
+public class SpecialCheckTaskDownload {
+
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    @Autowired
+    private TbBaseCheckCompanyMapper companyTbRepository;
+    @Autowired
+    private TbBaseCheckItemMapper itemTbRepository;
+    @Autowired
+    private TbBaseCheckScoreMapper scoreTbRepository;
+    @Autowired
+    private TbBaseCheckTaskMapper taskTbRepository;
+    @Autowired
+    private TbSpecialCheckTaskLogMapper taskSpecialLogMapper;
+    @Autowired
+    private IRiskListService riskListService;
+    @Autowired
+    private TbCheckConfigMapper configMapper;
+
+    String token = "GT6gGJV7JV";
+    String key = "Bv+NeBolwqg2Pbc1yVwrZA==";
+    String iv = "4QC9V8eAiB7tdlgBkMsTAw==";
+
+    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 decrypt(String encryptedText, byte[] key, byte[] iv) {
+        String sr;
+        try {
+            byte[] encryptedBytes = Base64.getDecoder().decode(encryptedText);
+            GCMBlockCipher cipher = new GCMBlockCipher(new AESFastEngine());
+            AEADParameters parameters = new AEADParameters(new KeyParameter(key), MAC_BIT_SIZE, iv, null);
+            cipher.init(false, parameters);
+            byte[] decryptedBytes = new byte[cipher.getOutputSize(encryptedBytes.length)];
+            int retLen = cipher.processBytes(encryptedBytes, 0, encryptedBytes.length, decryptedBytes, 0);
+            cipher.doFinal(decryptedBytes, retLen);
+            sr = new String(decryptedBytes, StandardCharsets.UTF_8);
+        } catch (Exception ex) {
+            throw new RuntimeException(ex.getMessage());
+        }
+        return sr;
+    }
+
+
+    @Transactional
+//    @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/15 * * * * ?")
+    public void execReportDateSchedule() throws UnsupportedEncodingException {
+        logger.info("【####】拉取专项检查数据开始...");
+
+        HttpURLConnection con = null;
+        BufferedReader buffer = null;
+        int responseCode = 200;
+
+        DateTimeFormatter dateFormatCheckData = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:MM:ss");
+
+        Date date = new Date();
+        //格式化时间,作为token的时间戳
+        SimpleDateFormat tokenDate= new SimpleDateFormat("yyyyMMddHHmmssSSS");
+        String formatDate = tokenDate.format(date);
+
+        logger.info("【token时间】" + formatDate);
+
+        // 获取当前日期
+        LocalDate currentDate = LocalDate.now();
+
+        // 获取今年的1月1号
+        LocalDate startOfYear = LocalDate.of(currentDate.getYear(), 1, 1);
+
+
+        //String taskId = "84766708-9b18-4133-8acf-08aba67792c7";
+
+        String taskId = "a8de03f0-4c3e-43fe-a139-0e4ed34edd35";
+        /**
+         * 1
+         * */
+//        logger.info("【####】拉取专项任务数据开始...");
+        TbCheckConfig specialCheckConfig = configMapper.getSpecialCheckConfig();
+        if (specialCheckConfig.getStatus() == 2){
+
+            StringBuffer specialCheckBuffer = null;
+
+            //上报数据
+             try {
+             URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckTask");
+             //得到连接对象
+             con = (HttpURLConnection) url.openConnection();
+             //设置请求类型
+             con.setRequestMethod("POST");
+             //允许写出
+             con.setDoOutput(true);
+             //允许读入
+             con.setDoInput(true);
+             //不使用缓存
+             con.setUseCaches(false);
+             con.setInstanceFollowRedirects(true);
+             //设置请求头
+             con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+             //设置Content-Type,此处根据实际情况确定
+             con.setRequestProperty("Content-Type", "application/json;charset=utf8");
+
+             OutputStream os = con.getOutputStream();
+
+                 System.out.println("token:"+token+formatDate.toString());
+
+            //本段日志,测试成功后,可注释掉
+            if (responseCode == HttpURLConnection.HTTP_OK) {
+                //得到响应流
+                InputStream inputStream = con.getInputStream();
+                //将响应流转换成字符串
+                specialCheckBuffer = new StringBuffer();
+                String line;
+                buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+                while ((line = buffer.readLine()) != null) {
+                    specialCheckBuffer.append(line);
+                }
+//                    logger.info("result:" + unitResultBuffer.toString());
+                System.out.println("result:" + specialCheckBuffer.toString());
+            }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            //接收返回值,保存返回值
+            TbBaseCheckTaskDownloadBO checkTaskDownloadDTO = JSONObject.parseObject(specialCheckBuffer.toString(), TbBaseCheckTaskDownloadBO.class);
+            //接收返回值,保存返回值
+            List<TbBaseCheckTask> tbBaseCheckTasks = JSONArray.parseArray(checkTaskDownloadDTO.getData(), TbBaseCheckTask.class);
+            if (tbBaseCheckTasks.size() > 0){
+                for (TbBaseCheckTask tbBaseCheckTask : tbBaseCheckTasks) {
+                    LocalDateTime taskStartTime = tbBaseCheckTask.getTaskStartTime();
+                    LocalDate localDate = taskStartTime.toLocalDate();
+                    if (localDate.isAfter(startOfYear)) {
+                        logger.info("当前日期大于今年的1月1号");
+                        tbBaseCheckTask.setStatus(1);
+                        tbBaseCheckTask.setId(tbBaseCheckTask.getTaskId());
+                        taskId = tbBaseCheckTask.getTaskId();
+
+                        int insert = taskTbRepository.insert(tbBaseCheckTask);
+
+                    }
+                }
+            }
+
+            logger.info("【专项检查任务】-读取任务结果:" + checkTaskDownloadDTO.getCode());
+            System.out.println("【专项检查任务】-读取任务完成");
+        }else {
+            System.out.println("【专项检查任务】- 不读取任务");
+        }
+
+        /**
+         * 2
+         * */
+        logger.info("【####】拉取检查项数据开始...");
+        if (specialCheckConfig.getStatus() == 2){
+
+            StringBuffer specialCheckBuffer = null;
+
+            ItemDownloadRespDTO itemDownloadRespDTO = new ItemDownloadRespDTO();
+            TbBaseCheckTask baseCheckTask = taskTbRepository.getBaseCheckTaskByStatus(date);
+            Page page = new Page();
+            page.setCurrent(String.valueOf(1));
+            page.setSize(String.valueOf(1000));
+
+            itemDownloadRespDTO.setTaskId(taskId);
+            itemDownloadRespDTO.setPage(page);
+            System.out.println("请求参数:" + JSONObject.toJSONString(itemDownloadRespDTO));
+
+            JSONObject itemDownloadRespDTOJson = new JSONObject();
+            itemDownloadRespDTOJson.put("taskId",taskId);
+            itemDownloadRespDTOJson.put("page",page);
+            System.out.println("【【原始数据2】】" + JSONObject.toJSONString(itemDownloadRespDTOJson));
+            String encrypted = encrypt(JSONObject.toJSONString(itemDownloadRespDTOJson), key.getBytes(), iv.getBytes());
+            System.out.println("【【加密数据2】】" + encrypted);
+            //加密请求数据
+            String AESReportUnitDate = encrypt(JSONObject.toJSONString(itemDownloadRespDTO), key.getBytes(), iv.getBytes());
+            System.out.println("【【加密数据2】】" + AESReportUnitDate);
+            //上报数据
+            try {
+                URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckItem");
+                //得到连接对象
+                con = (HttpURLConnection) url.openConnection();
+                //设置请求类型
+                con.setRequestMethod("POST");
+                //允许写出
+                con.setDoOutput(true);
+                //允许读入
+                con.setDoInput(true);
+                //不使用缓存
+                con.setUseCaches(false);
+                con.setInstanceFollowRedirects(true);
+                //设置请求头
+                con.setRequestProperty("X-Access-Token",token+formatDate.toString());
+                //设置Content-Type,此处根据实际情况确定
+                con.setRequestProperty("Content-Type", "application/json;charset=utf8");
+
+                OutputStream os = con.getOutputStream();
+//                Map paraMap = new HashMap();
+//                paraMap.put("data", encrypted); /**封装数据*/
+               // System.out.println("【【加密请求体】】" +  JSONArray.toJSON(paraMap).toString());
+                //组装入参,设置请求体
+                os.write(JSON.toJSONString(itemDownloadRespDTOJson).getBytes());
+
+                //本段日志,测试成功后,可注释掉
+                if (responseCode == HttpURLConnection.HTTP_OK) {
+                    //得到响应流
+                    InputStream inputStream = con.getInputStream();
+                    //将响应流转换成字符串
+                    specialCheckBuffer = new StringBuffer();
+                    String line;
+                    buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+                    while ((line = buffer.readLine()) != null) {
+                        specialCheckBuffer.append(line);
+                    }
+//                    logger.info("result:" + unitResultBuffer.toString());
+                    System.out.println("result:" + specialCheckBuffer.toString());
+                }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            //接收返回值,保存返回值
+            ItemDownloadRespBO itemDownloadRespBO = JSONObject.parseObject(specialCheckBuffer.toString(), ItemDownloadRespBO.class);
+            //接收返回值,保存返回值
+            String data = itemDownloadRespBO.getData();
+            if (ObjectUtils.isNotEmpty(data)){
+                JSONObject jsonObject = JSON.parseObject(data);
+                String data1 = jsonObject.get("data").toString();
+                List<TbBaseCheckItem> tbBaseCheckItems = JSONObject.parseArray(data1, TbBaseCheckItem.class);
+                    if (ObjectUtils.isNotEmpty(tbBaseCheckItems)){
+                        for (TbBaseCheckItem item : tbBaseCheckItems) {
+                            item.setStatus(1);
+                            item.setId(item.getCheckItemId());
+                            int insert = itemTbRepository.insertBatch(item);
+                        }
+
+                    }
+            }
+
+            taskTbRepository.updateStatusById(baseCheckTask.getTaskId());
+
+            logger.info("【专项任务检查项】-读取检查项结果:" + itemDownloadRespBO.getCode());
+            System.out.println("【专项任务检查项】-读取检查项完成");
+        }else {
+            System.out.println("【专项任务检查项】- 不读取检查项");
+        }
+
+        /**
+         * 3
+         * */
+        logger.info("【####】拉取评分细则开始...");
+        if (specialCheckConfig.getStatus() == 2){
+
+            StringBuffer specialCheckBuffer = null;
+
+            ScoreDownloadRespDTO scoreDownloadRespDTO = new ScoreDownloadRespDTO();
+            TbBaseCheckItem baseItemByStatus = itemTbRepository.getBaseItemByStatus(date);
+            Page page = new Page();
+            page.setCurrent(String.valueOf(1));
+            page.setSize(String.valueOf(1000));
+
+            scoreDownloadRespDTO.setTaskId(baseItemByStatus.getTaskId());
+            scoreDownloadRespDTO.setCheckItemId(baseItemByStatus.getId());
+            scoreDownloadRespDTO.setPage(page);
+            System.out.println("【【加密前请求体】】" +JSON.toJSONString(scoreDownloadRespDTO));
+            //加密请求数据
+            String AESReportUnitDate = encrypt(JSON.toJSONString(scoreDownloadRespDTO), key.getBytes(), iv.getBytes());
+            System.out.println("【【加密请求体】】" +AESReportUnitDate);
+            String decrypt = decrypt(AESReportUnitDate, key.getBytes(), iv.getBytes());
+            System.out.println("【【解密请求体】】" +decrypt);
+            //上报数据
+            try {
+                URL url = new URL("http://120.71.182.198:9999/v1/data/receive/getCheckScore");
+                //得到连接对象
+                con = (HttpURLConnection) url.openConnection();
+                //设置请求类型
+                con.setRequestMethod("POST");
+                //允许写出
+                con.setDoOutput(true);
+                //允许读入
+                con.setDoInput(true);
+                //不使用缓存
+                con.setUseCaches(false);
+                con.setInstanceFollowRedirects(true);
+                //设置请求头
+                con.setRequestProperty("X-Access-Token",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); /**封装数据*/
+//                System.out.println("【【加密请求体】】" +  JSONArray.toJSON(paraMap).toString());
+                //组装入参,设置请求体
+                os.write(JSON.toJSONString(scoreDownloadRespDTO).getBytes());
+
+                //本段日志,测试成功后,可注释掉
+                if (responseCode == HttpURLConnection.HTTP_OK) {
+                    //得到响应流
+                    InputStream inputStream = con.getInputStream();
+                    //将响应流转换成字符串
+                    specialCheckBuffer = new StringBuffer();
+                    String line;
+                    buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+                    while ((line = buffer.readLine()) != null) {
+                        specialCheckBuffer.append(line);
+                    }
+//                    logger.info("result:" + unitResultBuffer.toString());
+                    System.out.println("result:" + specialCheckBuffer.toString());
+                }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            //接收返回值,保存返回值
+            ScoreDownloadRespBO scoreDownloadRespBO = JSONObject.parseObject(specialCheckBuffer.toString(), ScoreDownloadRespBO.class);
+
+            String data = scoreDownloadRespBO.getData();
+            if (ObjectUtils.isNotEmpty(data)){
+                JSONObject jsonObject = JSON.parseObject(data);
+                String data1 = jsonObject.get("data").toString();
+                List<TbBaseCheckScore> tbBaseCheckScores = JSONObject.parseArray(data1, TbBaseCheckScore.class);
+                    if (ObjectUtils.isNotEmpty(tbBaseCheckScores)){
+                        for (TbBaseCheckScore item : tbBaseCheckScores) {
+                            item.setId(item.getScoreId());
+                            int insert = scoreTbRepository.save(item);
+                        }
+
+                    }
+            }
+
+            itemTbRepository.updateStatusById(baseItemByStatus.getId());
+
+            logger.info("【评分细则】-读取结果:" + scoreDownloadRespBO.getCode());
+            System.out.println("【评分细则】-读取完成");
+        }else {
+            System.out.println("【评分细则】- 不读取");
+        }
+
+
+    }
+}

--
Gitblit v1.9.2