| | |
| | | package com.fzzy.push.whhpjl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.fzzy.api.entity.ApiConfs; |
| | | import com.fzzy.push.whhpjl.dto.WhjlPullReqDto; |
| | | import com.fzzy.push.whhpjl.dto.WhjlPullRespDto; |
| | | import com.fzzy.push.whhpjl.dto.WhjlReqDto; |
| | | import com.fzzy.push.whhpjl.dto.WhjlRespDto; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import java.io.BufferedReader; |
| | | import java.io.InputStreamReader; |
| | | import java.io.OutputStream; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.URL; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | /** |
| | | * 武汉军粮省平台-上传数据服务类 |
| | | * |
| | | * @author czt |
| | | * @date 2023/08/04 |
| | | * @date 2023/10/23 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class Whjl2023HttpClientUtil { |
| | | |
| | | @Autowired |
| | | private RestTemplate restTemplate; |
| | | |
| | | |
| | | /** |
| | | * post formData |
| | | * 数据上报post请求 |
| | | * @param url |
| | | * @param reqData |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @SuppressWarnings("resource") |
| | | public static WhjlRespDto postPushData(String url, WhjlReqDto reqData , ApiConfs apiConfs) throws Exception { |
| | | log.info("---------接口请求地址:" +url+ "----------参数:" + reqData +"---------"); |
| | | BufferedReader in = null; |
| | | URL urls = new URL(url); |
| | | HttpURLConnection connection = null; |
| | | OutputStream outputStream = null; |
| | | public WhjlRespDto postPushData(String url, WhjlReqDto reqData) { |
| | | log.info("---------接口请求地址:" + url + "----------参数:" + JSON.toJSONString(reqData) + "---------"); |
| | | String rs = ""; |
| | | WhjlRespDto responseDto; |
| | | |
| | | try { |
| | | rs = restTemplate.postForObject(url, reqData, String.class); |
| | | |
| | | connection = (HttpURLConnection) urls.openConnection(); |
| | | connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); |
| | | connection.setRequestProperty("Accept", "*/*"); |
| | | connection.setRequestProperty("Range", "bytes=" + ""); |
| | | connection.setConnectTimeout(20000); |
| | | connection.setReadTimeout(30000); |
| | | connection.setRequestMethod("POST"); |
| | | |
| | | outputStream = connection.getOutputStream(); |
| | | outputStream.write(reqData.toString().getBytes("UTF-8")); |
| | | try { |
| | | connection.connect(); |
| | | if (connection.getResponseCode() == 200) { |
| | | in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); |
| | | String line = ""; |
| | | while ((line = in.readLine()) != null) { |
| | | rs += line; |
| | | } |
| | | }else{ |
| | | log.error("http状态:" + connection.getResponseCode()); |
| | | log.error("http消息:" + connection.getResponseMessage()); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | System.out.println("发生异常"); |
| | | log.error(e.getMessage(),e); |
| | | rs = null; |
| | | return new WhjlRespDto(99,e.getMessage()); |
| | | } |
| | | log.info("---------接口返回:" + rs +"---------"); |
| | | responseDto = JSON.parseObject(rs,WhjlRespDto.class); |
| | | if(responseDto == null ) return new WhjlRespDto(99,"接口请求发生未知错误"); |
| | | return responseDto; |
| | | } finally { |
| | | try { |
| | | outputStream.close(); |
| | | if (in != null){ |
| | | in.close(); |
| | | } |
| | | } catch (Exception e) { |
| | | } |
| | | outputStream = null; |
| | | if (connection != null) |
| | | connection.disconnect(); |
| | | connection = null; |
| | | } catch (Exception e) { |
| | | System.out.println("发生异常"); |
| | | log.error(e.getMessage(), e); |
| | | rs = null; |
| | | return new WhjlRespDto(99, e.getMessage()); |
| | | } |
| | | log.info("---------接口返回:" + rs + "---------"); |
| | | responseDto = JSON.parseObject(rs, WhjlRespDto.class); |
| | | if (responseDto == null) return new WhjlRespDto(99, "接口请求发生未知错误"); |
| | | return responseDto; |
| | | } |
| | | |
| | | /** |
| | | * 数据上报post请求 |
| | | * @param url |
| | | * @param reqData |
| | | * @return |
| | | */ |
| | | public WhjlPullRespDto postPullData(String url, WhjlPullReqDto reqData) { |
| | | log.info("---------接口请求地址:" + url + "----------参数:" + JSON.toJSONString(reqData) + "---------"); |
| | | String rs = ""; |
| | | WhjlPullRespDto responseDto; |
| | | |
| | | try { |
| | | rs = restTemplate.postForObject(url, reqData, String.class); |
| | | |
| | | } catch (Exception e) { |
| | | System.out.println("发生异常"); |
| | | log.error(e.getMessage(), e); |
| | | rs = null; |
| | | return new WhjlPullRespDto(99, null); |
| | | } |
| | | log.info("---------接口返回:" + rs + "---------"); |
| | | responseDto = JSON.parseObject(rs, WhjlPullRespDto.class); |
| | | if (responseDto == null) return new WhjlPullRespDto(99, "接口请求发生未知错误"); |
| | | return responseDto; |
| | | } |
| | | } |