Browse Source

Merge branch 'dev_20230222_live' of http://git.dayaedu.com/yonge/mec into dev_20230222_live

liujunchi 2 years ago
parent
commit
02757c147f

+ 21 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -45,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.Executors;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -446,17 +447,28 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 
         order.setPaymentBusinessChannel(rpMap.get("channelType"));
         order.setTenantId(this.get(order.getId()).getTenantId());
-        TenantContextHolder.setTenantId(order.getTenantId());
 
-        callOrderCallBack(order);
+        StudentPaymentOrder finalOrder = order;
+        Executors.newCachedThreadPool().submit(() -> {
+
+            try {
+                TenantContextHolder.setTenantId(finalOrder.getTenantId());
+
+                callOrderCallBack(finalOrder);
+
+                if (status.equals(DealStatusEnum.SUCCESS)
+                        && StringUtils.isNotBlank(finalOrder.getPaymentChannel())
+                        && finalOrder.getPaymentChannel().equals("ADAPAY")
+                        && !rpMap.containsKey("simulation")) {
+                    confirmOrder(finalOrder);
+                }
+                TenantContextHolder.clearTenantId();
+            } catch (Exception e) {
+                logger.error("updateOrder 订单回调流程, order={}", JSON.toJSONString(finalOrder), e);
+            }
+
+        });
 
-        if (status.equals(DealStatusEnum.SUCCESS)
-                && StringUtils.isNotBlank(order.getPaymentChannel())
-                && order.getPaymentChannel().equals("ADAPAY")
-                && !rpMap.containsKey("simulation")) {
-            confirmOrder(order);
-        }
-        TenantContextHolder.clearTenantId();
     }
 
     private Boolean confirmOrder(StudentPaymentOrder order) {