Commit f7e9d8397db58b883c01c67dbe45c162c4a8783f

Authored by dengwei
1 parent 58c17ebf

feat add Scheduled

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 /**