Commit f7e9d8397db58b883c01c67dbe45c162c4a8783f
1 parent
58c17ebf
feat add Scheduled
Showing
1 changed file
with
12 additions
and
5 deletions
cashier-mall/src/main/java/com/diligrp/cashier/mall/service/sourcechannel/RtMallChannel.java
| @@ -31,6 +31,9 @@ import org.springframework.stereotype.Component; | @@ -31,6 +31,9 @@ import org.springframework.stereotype.Component; | ||
| 31 | import java.util.List; | 31 | import java.util.List; |
| 32 | import java.util.Map; | 32 | import java.util.Map; |
| 33 | import java.util.Objects; | 33 | import java.util.Objects; |
| 34 | +import java.util.concurrent.Executors; | ||
| 35 | +import java.util.concurrent.ScheduledExecutorService; | ||
| 36 | +import java.util.concurrent.TimeUnit; | ||
| 34 | 37 | ||
| 35 | /** | 38 | /** |
| 36 | * @ClassName RtMallChannel.java | 39 | * @ClassName RtMallChannel.java |
| @@ -43,6 +46,8 @@ import java.util.Objects; | @@ -43,6 +46,8 @@ import java.util.Objects; | ||
| 43 | @Component | 46 | @Component |
| 44 | public class RtMallChannel extends AbstractSourceChannel { | 47 | public class RtMallChannel extends AbstractSourceChannel { |
| 45 | private static final Logger LOG = LoggerFactory.getLogger(RtMallChannel.class); | 48 | private static final Logger LOG = LoggerFactory.getLogger(RtMallChannel.class); |
| 49 | + private static final ScheduledExecutorService SCHEDULER = Executors.newScheduledThreadPool(5, | ||
| 50 | + Thread.ofVirtual().name("delay-cashier-", 0).factory()); | ||
| 46 | 51 | ||
| 47 | @Override | 52 | @Override |
| 48 | public String authUrl(AuthLoginCO authLogin, String token, long timestamp) { | 53 | public String authUrl(AuthLoginCO authLogin, String token, long timestamp) { |
| @@ -97,11 +102,13 @@ public class RtMallChannel extends AbstractSourceChannel { | @@ -97,11 +102,13 @@ public class RtMallChannel extends AbstractSourceChannel { | ||
| 97 | */ | 102 | */ |
| 98 | @Override | 103 | @Override |
| 99 | public void refundCallBack(RefundResultBO event, MallBizRefund mallBizRefund) { | 104 | public void refundCallBack(RefundResultBO event, MallBizRefund mallBizRefund) { |
| 100 | - MallBizOrder mallBizOrder = mallBizOrderDao.selectByPrimaryKey(mallBizRefund.getBizOrderId()); | ||
| 101 | - // 目前大润发只对小程序支付存在回调逻辑 | ||
| 102 | - if (Objects.equals(mallBizOrder.getOrderType(), OrderType.MINI_PROGRAM.code)) { | ||
| 103 | - refundCallBack(event, mallBizOrder, mallBizRefund); | ||
| 104 | - } | 105 | + SCHEDULER.schedule(() -> { |
| 106 | + MallBizOrder mallBizOrder = mallBizOrderDao.selectByPrimaryKey(mallBizRefund.getBizOrderId()); | ||
| 107 | + // 目前大润发只对小程序支付存在回调逻辑 | ||
| 108 | + if (Objects.equals(mallBizOrder.getOrderType(), OrderType.MINI_PROGRAM.code)) { | ||
| 109 | + refundCallBack(event, mallBizOrder, mallBizRefund); | ||
| 110 | + } | ||
| 111 | + }, 5, TimeUnit.SECONDS); | ||
| 105 | } | 112 | } |
| 106 | 113 | ||
| 107 | /** | 114 | /** |