BUGFIX: 订阅付款失败时仍有新建订阅
This commit is contained in:
@@ -356,6 +356,11 @@ public class StripeServiceImpl implements StripeService {
|
|||||||
|
|
||||||
// 发送续订失败邮件
|
// 发送续订失败邮件
|
||||||
response = sendRenewalFailEmail(invoice.getId(), null, paymentInfo.getOrderNo());
|
response = sendRenewalFailEmail(invoice.getId(), null, paymentInfo.getOrderNo());
|
||||||
|
}else {
|
||||||
|
// 新增支付信息
|
||||||
|
PaymentInfo paymentInfoFail = paymentInfoService.createOrUpdatePaymentInfoForStripe(invoice);
|
||||||
|
// 发送新订阅失败邮件
|
||||||
|
response = sendEmail(paymentInfoFail.getOrderNo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if (stripeObject instanceof Charge) {
|
}else if (stripeObject instanceof Charge) {
|
||||||
@@ -478,12 +483,14 @@ public class StripeServiceImpl implements StripeService {
|
|||||||
subscriptionInfo.setCreateTime(LocalDateTime.now());
|
subscriptionInfo.setCreateTime(LocalDateTime.now());
|
||||||
subscriptionInfoMapper.insert(subscriptionInfo);
|
subscriptionInfoMapper.insert(subscriptionInfo);
|
||||||
|
|
||||||
|
if (subscriptionInfo.getStatus().equals("active")){
|
||||||
// 更新账号到期时间
|
// 更新账号到期时间
|
||||||
accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd());
|
accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd());
|
||||||
|
|
||||||
// 更新账号身份和积分
|
// 更新账号身份和积分
|
||||||
accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), interval);
|
accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), interval);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return subscriptionInfo;
|
return subscriptionInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,11 +541,13 @@ public class StripeServiceImpl implements StripeService {
|
|||||||
if (!subscriptionInfo.getCurrentPeriodEnd().equals(subscription.getCurrentPeriodEnd())){
|
if (!subscriptionInfo.getCurrentPeriodEnd().equals(subscription.getCurrentPeriodEnd())){
|
||||||
subscriptionInfo.setCurrentPeriodEnd(subscription.getCurrentPeriodEnd());
|
subscriptionInfo.setCurrentPeriodEnd(subscription.getCurrentPeriodEnd());
|
||||||
subscriptionInfo.setNextPayDate(DateUtil.changeTimeStampFormat(subscription.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE));
|
subscriptionInfo.setNextPayDate(DateUtil.changeTimeStampFormat(subscription.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE));
|
||||||
|
if (subscription.getStatus().equals("active")){
|
||||||
// 更新账号到期时间
|
// 更新账号到期时间
|
||||||
accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd());
|
accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd());
|
||||||
// 更新账号身份和积分
|
// 更新账号身份和积分
|
||||||
accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), subscriptionInfo.getType());
|
accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), subscriptionInfo.getType());
|
||||||
log.info("更新 {} 账号到期时间为:{}", subscriptionInfo.getAccountId(), DateUtil.changeTimeStampFormat(subscriptionInfo.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE));
|
log.info("更新 {} 账号到期时间为:{}", subscriptionInfo.getAccountId(), DateUtil.changeTimeStampFormat(subscriptionInfo.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE));
|
||||||
|
}
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
if (flag){
|
if (flag){
|
||||||
|
|||||||
Reference in New Issue
Block a user