This commit is contained in:
Lemon
2023-11-06 17:04:38 +08:00
parent 9299513d09
commit bc32e7237d
8 changed files with 130 additions and 99 deletions

View File

@@ -227,4 +227,61 @@ public class HttpRequestUtil {
// System.out.println("解密数据:" + plainData);
return resultMsg;
}
public static String YCBCSendPost(String token, String data, String url, String dataSecret,
String dataSecretIV, String operatorId, String sigSecret){
log.info("甬城泊车平台发送请求 data:{}", data);
//加密
byte[] encryptText = Cryptos.aesEncrypt(data.getBytes(),
dataSecret.getBytes(), dataSecretIV.getBytes());
String encryptData = Encodes.encodeBase64(encryptText);
log.info("甬城泊车平台发送请求 加密数据:" + encryptData);
Map<String, String> params = Maps.newLinkedHashMap();
params.put("OperatorID", operatorId);
params.put("Data", encryptData);
params.put("TimeStamp", DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date()));
params.put("Seq", "001");
String sign = GBSignUtils.sign(params, sigSecret);
params.put("Portname", "wcc-pro");
params.put("Sig", sign);
String postData = JSON.toJSONString(params);
log.info("甬城泊车平台发送请求 最终提交数据:{}, 加密数据:{}", params, postData);
// System.out.println("最终提交数据:" + postData);
String hutoolRequest = HttpRequest.post(url).header("Authorization", "Bearer " + token).body(postData).execute().body();
log.info("甬城泊车平台发送请求 接收到返回数据:{}", hutoolRequest);
// System.out.println("接收到返回数据:" + hutoolRequest);
if (StringUtils.isBlank(hutoolRequest)) {
return "返回数据为空";
}
Map<String, Object> map = (Map<String, Object>) JSON.parse(hutoolRequest);
log.info("甬城泊车平台发送请求 返回数据map:{}", JSON.toJSONString(map));
int ret = (int) map.get("Ret");
String resultMsg = (String) map.get("Msg");
if (ret != 0) {
// 表示请求有异常
log.error("甬城泊车平台发送请求 error:{}, 源数据:{}", resultMsg, data);
return resultMsg;
}
String rData = (String) map.get("Data");
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(rData),
dataSecret.getBytes(), dataSecretIV.getBytes());
String plainData = "";
try {
plainData = new String(plainText, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
log.info("甬城泊车平台发送请求 解密数据:{}", plainData);
// System.out.println("解密数据:" + plainData);
return resultMsg;
}
}