From 8d0d2ac5db499a72cc029c6c5ced1d4f82c2c4d1 Mon Sep 17 00:00:00 2001
From: 1098226878 <1098226878@qq.com>
Date: 星期一, 06 九月 2021 16:46:12 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-front/src/main/java/com/java110/front/controller/app/PaymentController.java |  154 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 154 insertions(+), 0 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
old mode 100644
new mode 100755
index c0a2425..de97ad6
--- 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
@@ -15,12 +15,15 @@
  */
 package com.java110.front.controller.app;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.controller.BaseController;
 import com.java110.core.context.IPageData;
 import com.java110.core.context.PageData;
 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;
@@ -31,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;
 
 /**
  * 鏀粯 澶勭悊绫�
@@ -63,6 +71,10 @@
 
     @Autowired
     private IToQrPayOweFeeSMO toQrPayOweFeeSMOImpl;
+    @Autowired
+    private IToPayInGoOutSMO toPayInGoOutSMOImpl;
+    @Autowired
+    private IToPayBackCitySMO toPayBackCitySMOImpl;
 
     /**
      * <p>缁熶竴涓嬪崟鍏ュ彛</p>
@@ -111,6 +123,48 @@
      * @param request
      * @throws Exception
      */
+    @RequestMapping(path = "/toQrInGoOutPay", method = RequestMethod.POST)
+    public ResponseEntity<String> toQrInGoOutPay(@RequestBody String postInfo, HttpServletRequest request) {
+        IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
+        /*IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);*/
+        String appId = request.getHeader("APP_ID");
+        if (StringUtil.isEmpty(appId)) {
+            appId = request.getHeader("APP-ID");
+        }
+
+        IPageData newPd = PageData.newInstance().builder(pd.getUserId(), pd.getUserName(), pd.getToken(), postInfo,
+                "", "", "", pd.getSessionId(),
+                appId);
+        return toPayInGoOutSMOImpl.toPay(newPd);
+    }
+
+    /**
+     * <p>缁熶竴涓嬪崟鍏ュ彛</p>
+     *
+     * @param request
+     * @throws Exception
+     */
+    @RequestMapping(path = "/toQrBackCityPay", method = RequestMethod.POST)
+    public ResponseEntity<String> toQrBackCityPay(@RequestBody String postInfo, HttpServletRequest request) {
+        IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
+        /*IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);*/
+        String appId = request.getHeader("APP_ID");
+        if (StringUtil.isEmpty(appId)) {
+            appId = request.getHeader("APP-ID");
+        }
+
+        IPageData newPd = PageData.newInstance().builder(pd.getUserId(), pd.getUserName(), pd.getToken(), postInfo,
+                "", "", "", pd.getSessionId(),
+                appId);
+        return toPayBackCitySMOImpl.toPay(newPd);
+    }
+
+    /**
+     * <p>缁熶竴涓嬪崟鍏ュ彛</p>
+     *
+     * @param request
+     * @throws Exception
+     */
     @RequestMapping(path = "/toPayTempCarInout", method = RequestMethod.POST)
     public ResponseEntity<String> toPayTempCarInout(@RequestBody String postInfo, HttpServletRequest request) {
         IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
@@ -138,9 +192,41 @@
         logger.debug("寰俊鏀粯鍥炶皟鎶ユ枃" + postInfo);
 
         return toNotifySMOImpl.toNotify(postInfo, request);
+    }
+
+    /**
+     * <p>鏀粯鍥炶皟Api</p>
+     *
+     * @param request
+     * @throws Exception
+     */
+    @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));
+            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);
+
+
+        String preStr = buildSignString(params);
+        paramIn.put("preSign",preStr);
+        paramIn.put("sign",sign);
+        //鍒ゆ柇绛惧悕鏄惁鐩哥瓑
+
+        // 鏀跺埌閫氱煡鍚庤寰楄繑鍥濻UCCESS
+        return toNotifySMOImpl.toNotify(paramIn.toJSONString(), request);
 
 
     }
+
 
     /**
      * <p>鍑虹缁熶竴涓嬪崟鍏ュ彛</p>
@@ -160,6 +246,33 @@
                 "", "", "", pd.getSessionId(),
                 appId);
         return rentingToPaySMOImpl.toPay(newPd);
+    }
+
+    /**
+     * <p>娆犺垂閾惰仈鍥炶皟</p>
+     *
+     * @param request
+     * @throws Exception
+     */
+    @RequestMapping(path = "/oweFeeNotifyChinaUms", method = RequestMethod.POST)
+    public ResponseEntity<String> oweFeeNotifyChinaUms(HttpServletRequest request) {
+        JSONObject paramIn = new JSONObject();
+        for (String key : request.getParameterMap().keySet()) {
+            paramIn.put(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);
+
+
+        String preStr = buildSignString(params);
+        paramIn.put("preSign",preStr);
+        paramIn.put("sign",sign);
+
+        return oweFeeToNotifySMOImpl.toNotify(paramIn.toJSONString(), request);
     }
 
     /**
@@ -211,4 +324,45 @@
         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 ("wId".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