Преглед на файлове

铸造订单回调出错

(cherry picked from commit c0cfc57b1440bafd71d79f7f7b8c085fb5cfddb9)
xiongzhu преди 3 години
родител
ревизия
cb89c2db10
променени са 1 файла, в които са добавени 18 реда и са изтрити 12 реда
  1. 18 12
      src/main/java/com/izouma/nineth/service/MintOrderService.java

+ 18 - 12
src/main/java/com/izouma/nineth/service/MintOrderService.java

@@ -490,18 +490,24 @@ public class MintOrderService {
             return;
         }
 
-        MintOrder order = mintOrderRepo.findById(orderId).orElseThrow(new BusinessException("订单不存在"));
-        MintActivity activity = mintActivityRepo.findById(order.getMintActivityId())
-                .orElseThrow(new BusinessException("无活动"));
-        //活动是否需要审核
-        if (activity.isAudit()) {
-            order.setStatus(MintOrderStatus.PENDING);
-            order.setTransactionId(transactionId);
-            order.setPayMethod(payMethod);
-            order.setPayAt(LocalDateTime.now());
-            mintOrderRepo.save(order);
-        } else {
-            this.notify(order, payMethod, transactionId, true);
+        try {
+            MintOrder order = mintOrderRepo.findById(orderId).orElseThrow(new BusinessException("订单不存在"));
+            if (order.getStatus() == MintOrderStatus.NOT_PAID) {
+                MintActivity activity = mintActivityRepo.findById(order.getMintActivityId())
+                        .orElseThrow(new BusinessException("无活动"));
+                //活动是否需要审核
+                if (activity.isAudit()) {
+                    order.setStatus(MintOrderStatus.PENDING);
+                    order.setTransactionId(transactionId);
+                    order.setPayMethod(payMethod);
+                    order.setPayAt(LocalDateTime.now());
+                    mintOrderRepo.save(order);
+                } else {
+                    this.notify(order, payMethod, transactionId, true);
+                }
+            }
+        } catch (Exception e) {
+            log.info("铸造订单回调出错 orderId={}", orderId, e);
         }
 
         releaseOrderLock(orderId);