From 63dbede8fd302de185b4ea7e085cbc9fab7419ec Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 11:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/TransferUtil.java |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/TransferUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/TransferUtil.java
index d8dbcab..6ce1a8b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/TransferUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/TransferUtil.java
@@ -56,7 +56,7 @@
 		//商户编号
 		body.put("userNo", merchantNo);
 		//报备商户号
-		body.put("tradeMerchantNo", singlePay.getTradeMerchantNo());
+//		body.put("tradeMerchantNo", singlePay.getTradeMerchantNo());
 		//产品类型
 		body.put("productCode", "BANK_PAY_DAILY_ORDER");
 		//交易请求时间
@@ -216,17 +216,11 @@
 	
 	
 	public static String sign(JSONObject body) {
+		//构建字段顺序必须按照文档签名顺序
 		Set<Map.Entry<String, Object>> entries = body.entrySet();
-		List<Map.Entry<String, Object>> infoIds = new ArrayList<Map.Entry<String, Object>>(entries);
-		// 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
-		Collections.sort(infoIds, new Comparator<Map.Entry<String, Object>>() {
-			public int compare(Map.Entry<String, Object> o1, Map.Entry<String, Object> o2) {
-				return (o1.getKey()).compareTo(o2.getKey());
-			}
-		});
 		// 构造签名键值对的格式
 		StringBuilder sb = new StringBuilder();
-		for (Map.Entry<String, Object> item : infoIds) {
+		for (Map.Entry<String, Object> item : entries) {
 			if (item.getKey() != null || item.getKey() != "") {
 				Object val = item.getValue();
 				if (!(val == "" || val == null)) {
@@ -235,6 +229,7 @@
 			}
 		}
 		sb.append(key);
+		log.info("待签名串:{}", sb.toString());
 		return MD5AndKL.MD5(sb.toString());
 	}
 	

--
Gitblit v1.7.1