diff --git a/src/main/java/com/ai/da/service/impl/StripeSubscriptionServiceImpl.java b/src/main/java/com/ai/da/service/impl/StripeSubscriptionServiceImpl.java index 126a946f..b772b759 100644 --- a/src/main/java/com/ai/da/service/impl/StripeSubscriptionServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/StripeSubscriptionServiceImpl.java @@ -84,24 +84,29 @@ public class StripeSubscriptionServiceImpl implements StripeSubscriptionService SubscriptionInfo passedSubscriptionInfo) { SubscriptionInfo subscriptionInfo = resolveSubscriptionInfo(subscription, type, orderNo, passedSubscriptionInfo); if (subscriptionInfo == null) { + log.info("subscriptionInfo为null,不发送邮件"); return false; } OrderInfo orderByOrderNo = orderInfoService.getOrderByOrderNo(subscriptionInfo.getOrderNo()); if (orderByOrderNo == null) { + log.info("orderByOrderNo为null,不发送邮件"); return false; } Account account = accountMapper.selectById(subscriptionInfo.getAccountId()); if (account == null) { + log.info("account为null,不发送邮件"); return false; } PaymentInfo paymentInfo = resolvePaymentInfo(subscriptionInfo, orderNo, type); if (paymentInfo == null) { + log.info("paymentInfo为null,不发送邮件"); return false; } String resolvedType = resolveEmailType(type, paymentInfo); if (isEmailAlreadySent(subscriptionInfo, resolvedType, paymentInfo)) { + log.info("邮件已发送,取消重复发送"); return true; } diff --git a/src/main/java/com/ai/da/service/stripe/handler/CheckoutSessionCompletedHandler.java b/src/main/java/com/ai/da/service/stripe/handler/CheckoutSessionCompletedHandler.java index 746a7cdc..2d1eefb5 100644 --- a/src/main/java/com/ai/da/service/stripe/handler/CheckoutSessionCompletedHandler.java +++ b/src/main/java/com/ai/da/service/stripe/handler/CheckoutSessionCompletedHandler.java @@ -187,10 +187,13 @@ public class CheckoutSessionCompletedHandler implements StripeEventHandler { log.info("[checkout.session.completed] 订阅记录创建完成,orderNo={},subscriptionId={},periodEnd={}", orderNo, subscriptionId, periodEnd); - stripeSubscriptionService.sendSubscriptionEmail(null, "new", orderNo, null); - - log.info("[checkout.session.completed] 邮件通知完成 类型:new"); + boolean sent = stripeSubscriptionService.sendSubscriptionEmail(null, "new", orderNo, subscriptionInfo); + if (sent) { + log.info("[checkout.session.completed] 邮件通知完成 类型:new"); + } else { + log.info("[checkout.session.completed] 邮件通知未完成"); + } } catch (StripeException e) { log.error("[checkout.session.completed] 处理订阅记录失败,orderNo={},error={}", orderNo, e.getMessage()); } diff --git a/src/main/resources/mapper/primary/SubscriptionInfoMapper.xml b/src/main/resources/mapper/primary/SubscriptionInfoMapper.xml index bfbb6979..f285ddf6 100644 --- a/src/main/resources/mapper/primary/SubscriptionInfoMapper.xml +++ b/src/main/resources/mapper/primary/SubscriptionInfoMapper.xml @@ -1,7 +1,8 @@ - + INSERT IGNORE INTO t_subscription_info (account_id, order_no, subscription_id, type, status, cancel_notified, next_pay_date, current_period_start, current_period_end, create_time)