|
|
@@ -25,10 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StopWatch;
|
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.TreeMap;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 银联无感支付的请求
|
|
|
@@ -43,6 +40,8 @@ public class UnionRequestService extends SuperService {
|
|
|
@Autowired
|
|
|
RequestInfoFeignService requestInfoFeignService;
|
|
|
|
|
|
+ private static final List<String> exitKeys = List.of("signType", "sign", "payKey");
|
|
|
+
|
|
|
public SuperResponseModel requestAPI(String url,
|
|
|
Object data,
|
|
|
Class<? extends SuperResponseModel> tClass) {
|
|
|
@@ -106,15 +105,16 @@ public class UnionRequestService extends SuperService {
|
|
|
TreeMap<String, Object> map = new TreeMap<>();
|
|
|
|
|
|
for (String key : entries.keySet()) {
|
|
|
- if (!ObjectUtil.isEmpty(entries.get(key)) && !"sign".equals(key)) {
|
|
|
+ if (!ObjectUtil.isEmpty(entries.get(key)) && !exitKeys.contains(key)) {
|
|
|
map.put(key, String.valueOf(entries.get(key)));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
StringBuffer signPara = buildSignStr(entries); // 代签名的字符串
|
|
|
StringBuffer reqPara = signPara; // 组织请求参数
|
|
|
+ String payKey = entries.get("payKey").toString();
|
|
|
|
|
|
- String signStr = signPara.toString() + UnionPaymentConfig.payKey;
|
|
|
+ String signStr = signPara.toString() + payKey;
|
|
|
log.info("s: {}", signStr);
|
|
|
String sign = AesUtils.signData(signStr);
|
|
|
log.info("sign: {}", sign);
|
|
|
@@ -127,7 +127,9 @@ public class UnionRequestService extends SuperService {
|
|
|
|
|
|
@SneakyThrows
|
|
|
public String sign(JSONObject entries) {
|
|
|
- String signStr = buildSignStr(entries) + UnionPaymentConfig.payKey;
|
|
|
+ String payKey = entries.get("payKey").toString();
|
|
|
+ String signStr = buildSignStr(entries) + payKey;
|
|
|
+ log.info("signStr; {}", signStr);
|
|
|
String sign = AesUtils.signData(signStr);
|
|
|
log.info("sign: {}", sign);
|
|
|
return sign;
|
|
|
@@ -136,7 +138,7 @@ public class UnionRequestService extends SuperService {
|
|
|
private StringBuffer buildSignStr(JSONObject entries) {
|
|
|
TreeMap<String, Object> map = new TreeMap<>();
|
|
|
for (String key : entries.keySet()) {
|
|
|
- if (!ObjectUtil.isEmpty(entries.get(key)) && !"sign".equals(key)) {
|
|
|
+ if (!ObjectUtil.isEmpty(entries.get(key)) && !exitKeys.contains(key)) {
|
|
|
map.put(key, String.valueOf(entries.get(key)));
|
|
|
}
|
|
|
}
|