| | |
| | | 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; |
| | |
| | | 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)){ |