czt
3 天以前 46ee5aac0c31c352f19344eb3cfd762817f2559e
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023HttpClientUtil.java
@@ -1,21 +1,14 @@
package com.fzzy.push.shjdjw2023;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.utils.AESUtils;
import com.fzzy.api.utils.MyMD5Util;
import com.fzzy.api.utils.SnowflakeIdWorker;
import com.fzzy.push.gd2022.dto.GD2022AuthToken;
import com.fzzy.push.gd2022.dto.GD2022ResponseDto;
import com.fzzy.push.shjdjw2023.dto.ShjdjwRespDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import java.io.*;
import java.lang.reflect.Type;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import java.util.UUID;
/**
 * 上海嘉定纪委监管平台-上传数据服务类
@@ -32,17 +25,15 @@
     * @throws Exception
     */
    @SuppressWarnings("resource")
    public static GD2022ResponseDto postPushData(String url, String data , ApiConfs apiConfs) throws Exception {
    public static ShjdjwRespDto postPushData(String url, String data , ApiConfs apiConfs) throws Exception {
        log.info("---------接口请求地址:" +url+ "----------参数:" + data +"---------");
        BufferedReader in = null;
        URL urls = new URL(url);
        HttpURLConnection connection = null;
        OutputStream outputStream = null;
        String rs = "";
        GD2022ResponseDto responseDto;
        ShjdjwRespDto responseDto = null;
        try {
            String md = AESUtils.encryptByEcb(data, apiConfs.getPublicKey());
            log.info("---------接口请求地址:" +url+ "----------密文参数:" + md +"---------");
            connection = (HttpURLConnection) urls.openConnection();
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setDoOutput(true);
@@ -54,10 +45,10 @@
            connection.setConnectTimeout(20000);
            connection.setReadTimeout(30000);
            connection.setRequestMethod("POST");
            StringBuffer buffer = new StringBuffer();
            buffer.append(md);
            outputStream = connection.getOutputStream();
            outputStream.write(buffer.toString().getBytes("UTF-8"));
            outputStream.write(data.getBytes("UTF-8"));
            try {
                connection.connect();
                if (connection.getResponseCode() == 200) {
@@ -75,11 +66,18 @@
                System.out.println("发生异常");
                log.error(e.getMessage(),e);
                rs = null;
                return new GD2022ResponseDto(99,e.getMessage());
                return new ShjdjwRespDto(99,e.getMessage());
            }
            log.info("---------接口返回:" + rs +"---------");
            responseDto = JSON.parseObject(rs,GD2022ResponseDto.class);
            if(responseDto == null )   return new GD2022ResponseDto(99,"接口请求发生未知错误");
            if(StringUtils.isNotEmpty(rs)){
                rs = rs.replaceAll("\"", "");
                log.info("---------接口返回,秘文:" + rs +"---------");
                rs = AESUtils.decrypt(rs, apiConfs.getPublicKey());
                log.info("---------接口返回,解析后:" + rs +"---------");
                responseDto = JSON.parseObject(rs, ShjdjwRespDto.class);
            }
            if(responseDto == null )  {
                return new ShjdjwRespDto(99,"接口请求发生未知错误");
            }
            return responseDto;
        } finally {
            try {