From c36b79ea63fe43aa77ab74508505b727e4976a01 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 06 十一月 2023 16:01:04 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 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 9c4bc5a..6574ab5 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,7 @@ import com.google.gson.GsonBuilder; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.order.domain.dto.WechatPaymentRefundDto; import com.ruoyi.order.domain.dto.WeixinPaymentNotifyDto; import com.ruoyi.order.domain.pojo.account.OrderRefund; @@ -45,6 +46,7 @@ import java.util.Enumeration; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; /** * @program: ruoyi @@ -75,6 +77,9 @@ @Resource private OrderRefundService orderRefundService; + + @Resource + private RedisService redisService; @PostMapping(value = "/payNotify") @ApiOperation(value = "微信支付/退款通知") @@ -240,6 +245,14 @@ if("S".equals(transStat)){ PartnerTransactionsResult transaction = new PartnerTransactionsResult(); transaction.setOutTradeNo(data.getReqSeqId()); + + //防止回调频繁导致时间处理异常 + Object cacheObject = redisService.getCacheObject(data.getReqSeqId()); + if(null == cacheObject){ + redisService.setCacheObject(data.getReqSeqId(), "", 10L, TimeUnit.SECONDS); + }else{ + return; + } //开始处理业务数据 orderService.payBack(transaction, data.getFeeFlag() == 1 ? BigDecimal.ZERO : new BigDecimal(data.getFeeAmount())); -- Gitblit v1.7.1