双重预防项目-国泰新华二开定制版
kongzy
2024-08-14 135a322f44708b1187d37ea4b6859b5d82113e89
src/main/java/com/ruoyi/project/tr/specialCheck/Test/SpecialCheckTaskDownload.java
@@ -1,335 +1,335 @@
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.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("【评分细则】- 不读取");
        }
    }
}