BUGFIX:新订阅没发送邮件
This commit is contained in:
@@ -84,24 +84,29 @@ public class StripeSubscriptionServiceImpl implements StripeSubscriptionService
|
|||||||
SubscriptionInfo passedSubscriptionInfo) {
|
SubscriptionInfo passedSubscriptionInfo) {
|
||||||
SubscriptionInfo subscriptionInfo = resolveSubscriptionInfo(subscription, type, orderNo, passedSubscriptionInfo);
|
SubscriptionInfo subscriptionInfo = resolveSubscriptionInfo(subscription, type, orderNo, passedSubscriptionInfo);
|
||||||
if (subscriptionInfo == null) {
|
if (subscriptionInfo == null) {
|
||||||
|
log.info("subscriptionInfo为null,不发送邮件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
OrderInfo orderByOrderNo = orderInfoService.getOrderByOrderNo(subscriptionInfo.getOrderNo());
|
OrderInfo orderByOrderNo = orderInfoService.getOrderByOrderNo(subscriptionInfo.getOrderNo());
|
||||||
if (orderByOrderNo == null) {
|
if (orderByOrderNo == null) {
|
||||||
|
log.info("orderByOrderNo为null,不发送邮件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Account account = accountMapper.selectById(subscriptionInfo.getAccountId());
|
Account account = accountMapper.selectById(subscriptionInfo.getAccountId());
|
||||||
if (account == null) {
|
if (account == null) {
|
||||||
|
log.info("account为null,不发送邮件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
PaymentInfo paymentInfo = resolvePaymentInfo(subscriptionInfo, orderNo, type);
|
PaymentInfo paymentInfo = resolvePaymentInfo(subscriptionInfo, orderNo, type);
|
||||||
if (paymentInfo == null) {
|
if (paymentInfo == null) {
|
||||||
|
log.info("paymentInfo为null,不发送邮件");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
String resolvedType = resolveEmailType(type, paymentInfo);
|
String resolvedType = resolveEmailType(type, paymentInfo);
|
||||||
if (isEmailAlreadySent(subscriptionInfo, resolvedType, paymentInfo)) {
|
if (isEmailAlreadySent(subscriptionInfo, resolvedType, paymentInfo)) {
|
||||||
|
log.info("邮件已发送,取消重复发送");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -187,10 +187,13 @@ public class CheckoutSessionCompletedHandler implements StripeEventHandler {
|
|||||||
log.info("[checkout.session.completed] 订阅记录创建完成,orderNo={},subscriptionId={},periodEnd={}",
|
log.info("[checkout.session.completed] 订阅记录创建完成,orderNo={},subscriptionId={},periodEnd={}",
|
||||||
orderNo, subscriptionId, periodEnd);
|
orderNo, subscriptionId, periodEnd);
|
||||||
|
|
||||||
stripeSubscriptionService.sendSubscriptionEmail(null, "new", orderNo, null);
|
boolean sent = stripeSubscriptionService.sendSubscriptionEmail(null, "new", orderNo, subscriptionInfo);
|
||||||
|
|
||||||
|
if (sent) {
|
||||||
log.info("[checkout.session.completed] 邮件通知完成 类型:new");
|
log.info("[checkout.session.completed] 邮件通知完成 类型:new");
|
||||||
|
} else {
|
||||||
|
log.info("[checkout.session.completed] 邮件通知未完成");
|
||||||
|
}
|
||||||
} catch (StripeException e) {
|
} catch (StripeException e) {
|
||||||
log.error("[checkout.session.completed] 处理订阅记录失败,orderNo={},error={}", orderNo, e.getMessage());
|
log.error("[checkout.session.completed] 处理订阅记录失败,orderNo={},error={}", orderNo, e.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ai.da.mapper.primary.SubscriptionInfoMapper">
|
<mapper namespace="com.ai.da.mapper.primary.SubscriptionInfoMapper">
|
||||||
<insert id="insertIgnore" parameterType="com.ai.da.mapper.primary.entity.SubscriptionInfo">
|
<insert id="insertIgnore" parameterType="com.ai.da.mapper.primary.entity.SubscriptionInfo"
|
||||||
|
useGeneratedKeys="true" keyProperty="id">
|
||||||
INSERT IGNORE INTO
|
INSERT IGNORE INTO
|
||||||
t_subscription_info (account_id, order_no, subscription_id, type, status, cancel_notified,
|
t_subscription_info (account_id, order_no, subscription_id, type, status, cancel_notified,
|
||||||
next_pay_date, current_period_start, current_period_end, create_time)
|
next_pay_date, current_period_start, current_period_end, create_time)
|
||||||
|
|||||||
Reference in New Issue
Block a user