Skip to content

Commit 0f8361e

Browse files
committed
🎨 优化部分代码
1 parent 8467852 commit 0f8361e

File tree

1 file changed

+7
-13
lines changed
  • weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util

1 file changed

+7
-13
lines changed

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
*/
2626
@Slf4j
2727
public class SignUtils {
28-
2928
/**
3029
* 签名的时候不携带的参数
3130
*/
32-
private static List<String> NO_SIGN_PARAMS = Lists.newArrayList("sign", "key", "xmlString", "xmlDoc", "couponList");
31+
private static final List<String> NO_SIGN_PARAMS = Lists.newArrayList("sign", "key", "xmlString", "xmlDoc", "couponList");
3332

3433
/**
3534
* 请参考并使用 {@link #createSign(Object, String, String, String[])}.
@@ -89,10 +88,8 @@ public static String createSign(Object xmlBean, String signType, String signKey,
8988
* @return 签名字符串 string
9089
*/
9190
public static String createSign(Map<String, String> params, String signType, String signKey, String[] ignoredParams) {
92-
SortedMap<String, String> sortedMap = new TreeMap<>(params);
93-
9491
StringBuilder toSign = new StringBuilder();
95-
for (String key : sortedMap.keySet()) {
92+
for (String key : new TreeMap<>(params).keySet()) {
9693
String value = params.get(key);
9794
boolean shouldSign = false;
9895
if (StringUtils.isNotEmpty(value) && !ArrayUtils.contains(ignoredParams, key)
@@ -121,7 +118,7 @@ public static String createSign(Map<String, String> params, String signType, Str
121118
public static String createEntSign(String actName, String mchBillNo, String mchId, String nonceStr,
122119
String reOpenid, Integer totalAmount, String wxAppId, String signKey,
123120
String signType) {
124-
Map<String, String> sortedMap = new HashMap<>();
121+
Map<String, String> sortedMap = new HashMap<>(8);
125122
sortedMap.put("act_name", actName);
126123
sortedMap.put("mch_billno", mchBillNo);
127124
sortedMap.put("mch_id", mchId);
@@ -130,21 +127,18 @@ public static String createEntSign(String actName, String mchBillNo, String mchI
130127
sortedMap.put("total_amount", totalAmount + "");
131128
sortedMap.put("wxappid", wxAppId);
132129

133-
Map<String, String> sortParams = new TreeMap<>(sortedMap);
134-
Set<Map.Entry<String, String>> entries = sortParams.entrySet();
135-
Iterator<Map.Entry<String, String>> iterator = entries.iterator();
130+
Iterator<Map.Entry<String, String>> iterator = new TreeMap<>(sortedMap).entrySet().iterator();
136131
StringBuilder toSign = new StringBuilder();
137132
while (iterator.hasNext()) {
138-
Map.Entry entry = iterator.next();
139-
String key = String.valueOf(entry.getKey());
140-
String value = String.valueOf(entry.getValue());
133+
Map.Entry<String, String> entry = iterator.next();
134+
String value = entry.getValue();
141135
boolean shouldSign = false;
142136
if (StringUtils.isNotEmpty(value)) {
143137
shouldSign = true;
144138
}
145139

146140
if (shouldSign) {
147-
toSign.append(key).append("=").append(value).append("&");
141+
toSign.append(entry.getKey()).append("=").append(value).append("&");
148142
}
149143
}
150144
//企业微信这里字段名不一样

0 commit comments

Comments
 (0)