Browse Source

CQC 报表代码上传到cqc平台接口联调,bug修复

thing_master
xiachao 1 year ago
parent
commit
7d9e1a076f
  1. 2
      modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/dto/CqcCarbonReportDTO.java
  2. 5
      modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/entity/CqcCarbonReportEntity.java
  3. 5
      modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/service/impl/CqcCarbonReportServiceImpl.java
  4. 2
      modules/cqc-service/src/main/java/com/thing/cqc/rpcService/service/impl/CqcRpcServiceImpl.java
  5. 51
      modules/thing/src/main/java/com/thing/sys/biz/utils/HttpClientUtil.java

2
modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/dto/CqcCarbonReportDTO.java

@ -106,6 +106,8 @@ public class CqcCarbonReportDTO implements Serializable {
private String productModelCn;
@Schema(description = "接受核查的产品型号(英文)")
private String productModelEn;
@Schema(description = "核查产品行业类型")
private String cateId;
@Schema(description = "产品碳足迹数据开始时间")
private String startDate;
@Schema(description = "产品碳足迹数据结束时间")

5
modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/entity/CqcCarbonReportEntity.java

@ -3,6 +3,7 @@ package com.thing.cqc.cqcCarbonReport.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -188,6 +189,10 @@ public class CqcCarbonReportEntity implements Serializable {
* 接受核查的产品型号英文
*/
private String productModelEn;
/**
* 核查产品行业类型
*/
private String cateId;
/**
* 产品碳足迹数据开始时间
*/

5
modules/cqc-service/src/main/java/com/thing/cqc/cqcCarbonReport/service/impl/CqcCarbonReportServiceImpl.java

@ -35,6 +35,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -87,6 +88,7 @@ public class CqcCarbonReportServiceImpl extends BaseServiceImpl<CqcCarbonReportM
@Override
public Result<String> uploadReport(Long id) {
Result<String> result = new Result<>();
List<CqcCarbonReportDTO> dtos = new ArrayList<>();
CqcCarbonReportDTO reportDTO = this.getByIdAs(id,CqcCarbonReportDTO.class);
String applyNo = reportDTO.getApplyNo();
if(ObjectUtils.isNotEmpty(reportDTO.getApplyNo())){
@ -97,7 +99,8 @@ public class CqcCarbonReportServiceImpl extends BaseServiceImpl<CqcCarbonReportM
reportDTO.setEnergyList(cqcCarbonEnergyService.listAs(Map.of("applyNo",applyNo), CqcCarbonEnergyDTO.class));
reportDTO.setWasteList(cqcCarbonDiscardService.listAs(Map.of("applyNo",applyNo), CqcCarbonDiscardDTO.class));
}
String paramBodyStr = JSONObject.toJSONString(reportDTO);
dtos.add(reportDTO);
String paramBodyStr = JSONObject.toJSONString(dtos);
try {
String reqResult = cqcRpcService.doUploadData(paramBodyStr);

2
modules/cqc-service/src/main/java/com/thing/cqc/rpcService/service/impl/CqcRpcServiceImpl.java

@ -21,7 +21,7 @@ public class CqcRpcServiceImpl implements CqcRpcService {
public String doUploadData(String param) throws Exception {
//数据加密
String encryptParam = JsonCryptoUtils.encryptJson(param,JsonCryptoUtils.SECRETKEY);
Map<String,String> paramMap = new HashMap<>();
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("token",token);
paramMap.put("content",encryptParam);
String postUrl = url+uploadDataFix;

51
modules/thing/src/main/java/com/thing/sys/biz/utils/HttpClientUtil.java

@ -1,26 +1,26 @@
package com.thing.sys.biz.utils;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class HttpClientUtil {
public static CloseableHttpClient httpClient = HttpClientBuilder.create().build();
private static final ObjectMapper objectMapper = new ObjectMapper();
/**
* get请求获取String类型数据
* @param url 请求链接
@ -47,38 +47,35 @@ public class HttpClientUtil {
}
/**
* post方式请求数据
* @param url 请求链接
* @param data post数据体
* @return
* POST method to send JSON data
* @param url Request URL
* @param data Map data to be converted to JSON
* @return Response as a string
*/
@SuppressWarnings("unchecked")
public static String post(String url, Map<String, String> data) {
StringBuffer sb = new StringBuffer();
public static String post(String url, Map<String, Object> data) {
StringBuilder sb = new StringBuilder();
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> valuePairs = new ArrayList<>();
// Ensure 'data' is not null
if (data != null) {
// Iterate through the map entries
for (Map.Entry<String, String> entry : data.entrySet()) {
// Create a NameValuePair and add it to the list
valuePairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
}
try {
// Set the entity of the HttpPost with UrlEncodedFormEntity
httpPost.setEntity(new UrlEncodedFormEntity(valuePairs, "UTF-8"));
HttpResponse response = httpClient.execute(httpPost);
// Convert Map to JSON string
String jsonData = objectMapper.writeValueAsString(data);
// Set the entity of the HttpPost with StringEntity containing JSON data
StringEntity stringEntity = new StringEntity(jsonData, "UTF-8");
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
HttpEntity httpEntity = response.getEntity();
BufferedInputStream bis = new BufferedInputStream(httpEntity.getContent());
try (BufferedInputStream bis = new BufferedInputStream(httpEntity.getContent())) {
byte[] buffer = new byte[128];
int bytesRead;
// Read the response content
while ((bytesRead = bis.read(buffer)) != -1) {
sb.append(new String(buffer, 0, bytesRead, "UTF-8"));
}
}
}
} catch (UnsupportedEncodingException e) {
// Handle encoding errors
e.printStackTrace();

Loading…
Cancel
Save