mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	修复支付通知的通知 Transaction 不生效的问题
This commit is contained in:
		@@ -6,10 +6,10 @@ import cn.hutool.http.HttpResponse;
 | 
				
			|||||||
import cn.hutool.http.HttpUtil;
 | 
					import cn.hutool.http.HttpUtil;
 | 
				
			||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 | 
					import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 | 
				
			||||||
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 | 
					import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 | 
				
			||||||
import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
 | 
					 | 
				
			||||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 | 
					import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 | 
				
			||||||
import cn.iocoder.yudao.framework.common.util.spring.SpringAopUtils;
 | 
					 | 
				
			||||||
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
 | 
					import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
 | 
				
			||||||
 | 
					import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
 | 
				
			||||||
 | 
					import cn.iocoder.yudao.module.pay.api.notify.dto.PayRefundNotifyReqDTO;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyLogDO;
 | 
					import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyLogDO;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyTaskDO;
 | 
					import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyTaskDO;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
 | 
					import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
 | 
				
			||||||
@@ -20,18 +20,14 @@ import cn.iocoder.yudao.module.pay.dal.redis.notify.PayNotifyLockRedisDAO;
 | 
				
			|||||||
import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
 | 
					import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyTypeEnum;
 | 
					import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyTypeEnum;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.service.notify.dto.PayNotifyTaskCreateReqDTO;
 | 
					import cn.iocoder.yudao.module.pay.service.notify.dto.PayNotifyTaskCreateReqDTO;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
 | 
					 | 
				
			||||||
import cn.iocoder.yudao.module.pay.api.notify.dto.PayRefundNotifyReqDTO;
 | 
					 | 
				
			||||||
import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
 | 
					import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
 | 
				
			||||||
import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
 | 
					import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
 | 
				
			||||||
import lombok.extern.slf4j.Slf4j;
 | 
					import lombok.extern.slf4j.Slf4j;
 | 
				
			||||||
import org.springframework.context.ApplicationContext;
 | 
					 | 
				
			||||||
import org.springframework.context.annotation.Lazy;
 | 
					import org.springframework.context.annotation.Lazy;
 | 
				
			||||||
import org.springframework.scheduling.annotation.Async;
 | 
					import org.springframework.scheduling.annotation.Async;
 | 
				
			||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 | 
					import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
import org.springframework.transaction.annotation.Transactional;
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.annotation.Resource;
 | 
					import javax.annotation.Resource;
 | 
				
			||||||
import javax.validation.Valid;
 | 
					import javax.validation.Valid;
 | 
				
			||||||
@@ -44,7 +40,8 @@ import java.util.Objects;
 | 
				
			|||||||
import java.util.concurrent.CountDownLatch;
 | 
					import java.util.concurrent.CountDownLatch;
 | 
				
			||||||
import java.util.concurrent.TimeUnit;
 | 
					import java.util.concurrent.TimeUnit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
 | 
					import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime;
 | 
				
			||||||
 | 
					import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.afterNow;
 | 
				
			||||||
import static cn.iocoder.yudao.module.pay.framework.job.config.PayJobConfiguration.NOTIFY_THREAD_POOL_TASK_EXECUTOR;
 | 
					import static cn.iocoder.yudao.module.pay.framework.job.config.PayJobConfiguration.NOTIFY_THREAD_POOL_TASK_EXECUTOR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -88,9 +85,6 @@ public class PayNotifyServiceImpl implements PayNotifyService {
 | 
				
			|||||||
    @Lazy // 循环依赖(自己依赖自己),避免报错
 | 
					    @Lazy // 循环依赖(自己依赖自己),避免报错
 | 
				
			||||||
    private PayNotifyServiceImpl self;
 | 
					    private PayNotifyServiceImpl self;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Resource
 | 
					 | 
				
			||||||
    private ApplicationContext applicationContext;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) {
 | 
					    public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) {
 | 
				
			||||||
        PayNotifyTaskDO task = new PayNotifyTaskDO();
 | 
					        PayNotifyTaskDO task = new PayNotifyTaskDO();
 | 
				
			||||||
@@ -184,7 +178,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // 执行通知
 | 
					            // 执行通知
 | 
				
			||||||
            applicationContext.getBean(PayNotifyServiceImpl.class).executeNotify(dbTask);
 | 
					            self.executeNotify(dbTask);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user