From b160f874fda18ef0adad8e9145ad42d534d47818 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 03 九月 2021 16:58:09 +0800
Subject: [PATCH] 优化代码
---
service-front/src/main/java/com/java110/front/controller/app/PaymentController.java | 75 +++++++++++++++++++++++++++++++++++--
1 files changed, 70 insertions(+), 5 deletions(-)
diff --git a/service-front/src/main/java/com/java110/front/controller/app/PaymentController.java b/service-front/src/main/java/com/java110/front/controller/app/PaymentController.java
index 7729259..33b4b57 100755
--- a/service-front/src/main/java/com/java110/front/controller/app/PaymentController.java
+++ b/service-front/src/main/java/com/java110/front/controller/app/PaymentController.java
@@ -22,6 +22,8 @@
import com.java110.front.smo.payment.*;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.util.StringUtil;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +34,11 @@
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
/**
* 鏀粯 澶勭悊绫�
@@ -196,12 +203,31 @@
@RequestMapping(path = "/notifyChinaUms", method = RequestMethod.POST)
public ResponseEntity<String> notifyChinaUms(HttpServletRequest request) {
JSONObject paramIn = new JSONObject();
- for(String key :request.getParameterMap().keySet()){
- paramIn.put(key,request.getParameter(key));
+ for (String key : request.getParameterMap().keySet()) {
+ paramIn.put(key, request.getParameter(key));
+ logger.debug("閾惰仈鍥炶皟鎶ユ枃form" + key + ":: " + request.getParameter(key));
}
logger.debug("寰俊鏀粯鍥炶皟鎶ユ枃" + paramIn.toJSONString());
+ /*鎺ユ敹鍙傛暟*/
+ Map<String, String> params = getRequestParams(request);
+ System.out.println("params:" + params);
+ String sign = params.get("sign");
+ System.out.println(sign);
+
+ /*楠岀*/
+ //瀵归�氱煡鍐呭鐢熸垚sign
+ //String strSign = makeSign(md5key, params);
+ //System.out.println("strSign="+strSign);
+ String preStr = buildSignString(params);
+ paramIn.put("preSign",preStr);
+ paramIn.put("sign",sign);
+ //鍒ゆ柇绛惧悕鏄惁鐩哥瓑
+
+ // 鏀跺埌閫氱煡鍚庤寰楄繑鍥濻UCCESS
return toNotifySMOImpl.toNotify(paramIn.toJSONString(), request);
+
+
}
@@ -232,10 +258,10 @@
* @throws Exception
*/
@RequestMapping(path = "/oweFeeNotifyChinaUms", method = RequestMethod.POST)
- public ResponseEntity<String> oweFeeNotifyChinaUms( HttpServletRequest request) {
+ public ResponseEntity<String> oweFeeNotifyChinaUms(HttpServletRequest request) {
JSONObject paramIn = new JSONObject();
- for(String key :request.getParameterMap().keySet()){
- paramIn.put(key,request.getParameter(key));
+ for (String key : request.getParameterMap().keySet()) {
+ paramIn.put(key, request.getParameter(key));
}
logger.debug("寰俊鏀粯鍥炶皟鎶ユ枃" + paramIn.toJSONString());
@@ -291,4 +317,43 @@
return toQrPayOweFeeSMOImpl.toPay(newPd);
}
+ // 鏋勫缓绛惧悕瀛楃涓�
+ public static String buildSignString(Map<String, String> params) {
+
+ // params.put("Zm","test_test");
+
+ if (params == null || params.size() == 0) {
+ return "";
+ }
+
+ List<String> keys = new ArrayList<>(params.size());
+
+ for (String key : params.keySet()) {
+ if ("sign".equals(key))
+ continue;
+ if (StringUtils.isEmpty(params.get(key)))
+ continue;
+ keys.add(key);
+ }
+ //System.out.println(listToString(keys));
+
+ Collections.sort(keys);
+
+ StringBuilder buf = new StringBuilder();
+
+ for (int i = 0; i < keys.size(); i++) {
+ String key = keys.get(i);
+ String value = params.get(key);
+
+ if (i == keys.size() - 1) {// 鎷兼帴鏃讹紝涓嶅寘鎷渶鍚庝竴涓�&瀛楃
+ buf.append(key + "=" + value);
+ } else {
+ buf.append(key + "=" + value + "&");
+ }
+ }
+
+ return buf.toString();
+ }
+
+
}
--
Gitblit v1.8.0