From 029d0af8d3e0d32dbfff8dc47fb5e997332bc01d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 06 十一月 2023 10:10:40 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java index 6e3df59..9c4bc5a 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java @@ -14,6 +14,8 @@ import com.google.gson.GsonBuilder; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.order.domain.dto.WechatPaymentRefundDto; +import com.ruoyi.order.domain.dto.WeixinPaymentNotifyDto; import com.ruoyi.order.domain.pojo.account.OrderRefund; import com.ruoyi.order.domain.vo.ProfitSharingNotifyNewResult; import com.ruoyi.order.domain.vo.WeixinPaymentNotifyVo; @@ -36,6 +38,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.util.Collection; @@ -94,7 +97,7 @@ PartnerTransactionsResult result = notifyResult.getResult(); // 支付通知回调 if ("SUCCESS".equals(result.getTradeState())) { - orderService.payBack(result); + orderService.payBack(result, BigDecimal.ONE); } resultMessage = GSON.toJson(notifyResult); } else if (WxPayNotifyEventTypeEnum.REFUND_SUCCESS.getCode().equals(eventType) @@ -229,8 +232,8 @@ @RequestMapping(value = "/wechatPaymentCallback", method = RequestMethod.POST) @ApiOperation(value = "微信支付通知(汇付天下)") - public void wechatPaymentCallback(@RequestBody JSONObject jsonObject, HttpServletResponse response){ - R<WeixinPaymentNotifyVo> r = HuiFuTianXiaUtil.weixinPaymentNotify(jsonObject); + public void wechatPaymentCallback(WeixinPaymentNotifyDto dto, HttpServletResponse response){ + R<WeixinPaymentNotifyVo> r = HuiFuTianXiaUtil.weixinPaymentNotify(dto); if(r.getCode() == 200){ WeixinPaymentNotifyVo data = r.getData(); String transStat = data.getTransStat(); @@ -238,7 +241,7 @@ PartnerTransactionsResult transaction = new PartnerTransactionsResult(); transaction.setOutTradeNo(data.getReqSeqId()); //开始处理业务数据 - orderService.payBack(transaction); + orderService.payBack(transaction, data.getFeeFlag() == 1 ? BigDecimal.ZERO : new BigDecimal(data.getFeeAmount())); response.setStatus(200); PrintWriter out = null; @@ -260,8 +263,8 @@ @RequestMapping(value = "/wechatPaymentRefundCallback", method = RequestMethod.POST) @ApiOperation(value = "微信支付退款通知(汇付天下)") - public void wechatPaymentRefundCallback(@RequestBody JSONObject jsonObject, HttpServletResponse response){ - R<WeixinPaymentRefundVo> r = HuiFuTianXiaUtil.weixinPaymentRefundNotify(jsonObject); + public void wechatPaymentRefundCallback(WechatPaymentRefundDto dto, HttpServletResponse response){ + R<WeixinPaymentRefundVo> r = HuiFuTianXiaUtil.weixinPaymentRefundNotify(dto); if(r.getCode() == 200){ WeixinPaymentRefundVo data = r.getData(); String transStat = data.getTransStat(); @@ -269,7 +272,7 @@ //开始处理业务数据 String reqSeqId = data.getReqSeqId(); OrderRefund orderRefund = orderRefundService.getById(reqSeqId); - if(null != orderRefund){ + if(null != orderRefund && orderRefund.getRefundStatus() != 2){ orderRefund.setWxRefundId(data.getPartyOrderId()); orderRefund.setBackTime(data.getTransDate() + data.getTransTime()); orderRefund.setRefundStatus(2); -- Gitblit v1.7.1