From 4f30cf515e738340a792b03dcd0baf2dfed8958c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 23 Aug 2022 16:56:18 +0800
Subject: [PATCH] 20220822

---
 src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java |   37 ++++++++-----------------------------
 1 files changed, 8 insertions(+), 29 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
index 99ee0aa..5d9a08d 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
@@ -6,9 +6,11 @@
 import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
+import cc.mrbird.febs.pay.model.UniPayCallBackDto;
 import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -35,39 +37,16 @@
     private AgentProducer agentProducer;
 
     @GetMapping(value = "/unipayCallBack")
-    public String unipayCallBack(HttpServletRequest request){
+    public String unipayCallBack(HttpServletRequest request, UniPayCallBackDto uniPayCallBackDto){
         log.info("进入汇聚支付回调");
-        String orderNo = "";
-        BigDecimal orderAmount = BigDecimal.ZERO;
-        String payTradeNo = "";
-        String callBackState = "";
         String requestURI = request.getRequestURI();
 
-        log.info("进入汇聚支付回调"+requestURI);
+        log.info("进入汇聚支付回调"+ JSONUtil.parseObj(uniPayCallBackDto));
+        String orderNo = uniPayCallBackDto.getR2_OrderNo();
+        BigDecimal orderAmount = new BigDecimal(uniPayCallBackDto.getR3_Amount());
+        String callBackState = uniPayCallBackDto.getR6_Status();
+        String payTradeNo = uniPayCallBackDto.getR7_TrxNo();
 //            String output = java.net.URLDecoder.decode(requestURI, "UTF-8");
-        String params = StrUtil.subAfter(requestURI, "?", true);
-        System.out.println(params);
-        List<String> paramStrList = StrUtil.splitTrim(params, "&");
-        if(CollUtil.isNotEmpty(paramStrList)){
-            for(String paramStr :paramStrList){
-                boolean r2orderNo = paramStr.startsWith("r2_OrderNo");
-                if(r2orderNo){
-                    orderNo = StrUtil.subAfter(paramStr, "=", true);
-                }
-                boolean r3Amount = paramStr.startsWith("r3_Amount");
-                if(r3Amount){
-                    orderAmount = new BigDecimal(StrUtil.subAfter(paramStr, "=", true));
-                }
-                boolean r6Status = paramStr.startsWith("r6_Status");
-                if(r6Status){
-                    callBackState = StrUtil.subAfter(paramStr, "=", true);
-                }
-                boolean r7TrxNo = paramStr.startsWith("r7_TrxNo");
-                if(r7TrxNo){
-                    payTradeNo = StrUtil.subAfter(paramStr, "=", true);
-                }
-            }
-        }
 
         log.info("进入汇聚支付回调"+orderNo+";"+orderAmount+";"+payTradeNo+";"+callBackState);
         if("100".equals(callBackState) && StrUtil.isNotBlank(orderNo)){

--
Gitblit v1.9.1