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