diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/notify/WxPayNotifyController.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/notify/WxPayNotifyController.java index 4f1b31759..1568c8b58 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/notify/WxPayNotifyController.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/notify/WxPayNotifyController.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.shop.controller.admin.notify; import cn.hutool.core.util.NumberUtil; import cn.hutool.json.JSONUtil; +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.module.shop.dal.dataobject.recharge.RechargeOrderDO; import cn.iocoder.yudao.module.shop.dal.mysql.recharge.RechargeOrderMapper; import cn.iocoder.yudao.module.shop.service.order.StoreOrderService; @@ -115,6 +116,7 @@ public class WxPayNotifyController { * @return: */ @PostMapping("/refund_notify") + @TenantIgnore public String wxPayRefundNotify(@RequestBody String jsonData, HttpServletRequest request, HttpServletResponse response) throws Exception { // 支付结果通用通知文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7 // 支付成功结果通知 @@ -134,18 +136,20 @@ public class WxPayNotifyController { BigDecimal payerTotal = NumberUtil.div(result.getAmount().getPayerTotal() + "", "100", 2); // 处理相关逻辑 RechargeOrderDO orderDO = rechargeOrderMapper.selectOne(Wrappers.lambdaQuery().eq(RechargeOrderDO::getOrderId, result.getOutTradeNo())); - if (payerTotal.compareTo(orderDO.getPayPrice()) != 0) { - log.error("支付金额不匹配,订单实际支付金额:{},微信入参验证金额:{}", orderDO.getPayPrice(), payerTotal); - return "failure"; + if(orderDO!=null){ + if (payerTotal.compareTo(orderDO.getPayPrice()) != 0) { + log.error("支付金额不匹配,订单实际支付金额:{},微信入参验证金额:{}", orderDO.getPayPrice(), payerTotal); + return "failure"; + } + orderDO.setRefundStatus(2); + orderDO.setPaid(2); + rechargeOrderMapper.updateById(orderDO); + //删除提报记录 + phoneRecordService.deletePhoneGear(orderDO.getOrderId()); + // 修改订单状态 + // 写入 + response.setStatus(HttpServletResponse.SC_OK); } - orderDO.setRefundStatus(2); - orderDO.setPaid(2); - rechargeOrderMapper.updateById(orderDO); - //删除提报记录 - phoneRecordService.deletePhoneGear(orderDO.getOrderId()); - // 修改订单状态 - // 写入 - response.setStatus(HttpServletResponse.SC_OK); return "success"; } } catch (Exception e) {