Commit 5656a0b0b728694790d2bc24b7965a840d7cc65e

Authored by YunaiV
1 parent e2d68987

修复支付通知的通知 Transaction 不生效的问题

yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/notify/PayNotifyServiceImpl.java
... ... @@ -6,10 +6,10 @@ import cn.hutool.http.HttpResponse;
6 6 import cn.hutool.http.HttpUtil;
7 7 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
8 8 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
9   -import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
10 9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
11   -import cn.iocoder.yudao.framework.common.util.spring.SpringAopUtils;
12 10 import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
  11 +import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
  12 +import cn.iocoder.yudao.module.pay.api.notify.dto.PayRefundNotifyReqDTO;
13 13 import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyLogDO;
14 14 import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyTaskDO;
15 15 import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
... ... @@ -20,18 +20,14 @@ import cn.iocoder.yudao.module.pay.dal.redis.notify.PayNotifyLockRedisDAO;
20 20 import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
21 21 import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyTypeEnum;
22 22 import cn.iocoder.yudao.module.pay.service.notify.dto.PayNotifyTaskCreateReqDTO;
23   -import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
24   -import cn.iocoder.yudao.module.pay.api.notify.dto.PayRefundNotifyReqDTO;
25 23 import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
26 24 import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
27 25 import lombok.extern.slf4j.Slf4j;
28   -import org.springframework.context.ApplicationContext;
29 26 import org.springframework.context.annotation.Lazy;
30 27 import org.springframework.scheduling.annotation.Async;
31 28 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
32 29 import org.springframework.stereotype.Service;
33 30 import org.springframework.transaction.annotation.Transactional;
34   -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
35 31  
36 32 import javax.annotation.Resource;
37 33 import javax.validation.Valid;
... ... @@ -44,7 +40,8 @@ import java.util.Objects;
44 40 import java.util.concurrent.CountDownLatch;
45 41 import java.util.concurrent.TimeUnit;
46 42  
47   -import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
  43 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime;
  44 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.afterNow;
48 45 import static cn.iocoder.yudao.module.pay.framework.job.config.PayJobConfiguration.NOTIFY_THREAD_POOL_TASK_EXECUTOR;
49 46  
50 47 /**
... ... @@ -88,9 +85,6 @@ public class PayNotifyServiceImpl implements PayNotifyService {
88 85 @Lazy // 循环依赖(自己依赖自己),避免报错
89 86 private PayNotifyServiceImpl self;
90 87  
91   - @Resource
92   - private ApplicationContext applicationContext;
93   -
94 88 @Override
95 89 public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) {
96 90 PayNotifyTaskDO task = new PayNotifyTaskDO();
... ... @@ -184,7 +178,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
184 178 }
185 179  
186 180 // 执行通知
187   - applicationContext.getBean(PayNotifyServiceImpl.class).executeNotify(dbTask);
  181 + self.executeNotify(dbTask);
188 182 });
189 183 }
190 184  
... ...