From f278bf1dc5f6091b60acea56a5c19d1fa24a8aff Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 06 九月 2021 15:11:53 +0800
Subject: [PATCH] 优化 代码调整欠费欠费逻辑

---
 service-front/src/main/java/com/java110/front/smo/payment/adapt/chinaums/ChinaUmsOweFeeToNotifyAdapt.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/payment/adapt/chinaums/ChinaUmsOweFeeToNotifyAdapt.java b/service-front/src/main/java/com/java110/front/smo/payment/adapt/chinaums/ChinaUmsOweFeeToNotifyAdapt.java
index 43b9643..4fec642 100644
--- a/service-front/src/main/java/com/java110/front/smo/payment/adapt/chinaums/ChinaUmsOweFeeToNotifyAdapt.java
+++ b/service-front/src/main/java/com/java110/front/smo/payment/adapt/chinaums/ChinaUmsOweFeeToNotifyAdapt.java
@@ -29,6 +29,7 @@
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.PayUtil;
 import com.java110.utils.util.StringUtil;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,7 @@
 import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
+import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.util.SortedMap;
 import java.util.TreeMap;
@@ -123,7 +125,11 @@
             }
             paramMap.put(key, map.get(key).toString());
         }
-        String sign = PayUtil.createSign(paramMap, smallWeChatDto.getPayPassword());
+        String preSign = map.getString("preSign");
+        String text = preSign + smallWeChatDto.getPayPassword();
+        System.out.println("寰呯鍚嶅瓧绗︿覆锛�" + text);
+        String sign = DigestUtils.sha256Hex(getContentBytes(text)).toUpperCase();
+
         if (!sign.equals(map.get("sign"))) {
             throw new IllegalArgumentException("閴存潈澶辫触");
         }
@@ -238,4 +244,14 @@
         return PayUtil.md5(str);
     }
 
+
+    // 鏍规嵁缂栫爜绫诲瀷鑾峰緱绛惧悕鍐呭byte[]
+    public static byte[] getContentBytes(String content) {
+        try {
+            return content.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("绛惧悕杩囩▼涓嚭鐜伴敊璇�");
+        }
+    }
+
 }

--
Gitblit v1.8.0