From d648a79ec47f19d8163a0cb913f1584505188515 Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 6 Feb 2025 16:36:07 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=20=E8=AE=A2=E9=98=85=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=97=B6=E4=BB=8D=E6=9C=89=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/service/impl/StripeServiceImpl.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java b/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java index e81277a3..75d2d182 100644 --- a/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java @@ -356,6 +356,11 @@ public class StripeServiceImpl implements StripeService { // 发送续订失败邮件 response = sendRenewalFailEmail(invoice.getId(), null, paymentInfo.getOrderNo()); + }else { + // 新增支付信息 + PaymentInfo paymentInfoFail = paymentInfoService.createOrUpdatePaymentInfoForStripe(invoice); + // 发送新订阅失败邮件 + response = sendEmail(paymentInfoFail.getOrderNo()); } } }else if (stripeObject instanceof Charge) { @@ -478,11 +483,13 @@ public class StripeServiceImpl implements StripeService { subscriptionInfo.setCreateTime(LocalDateTime.now()); subscriptionInfoMapper.insert(subscriptionInfo); - // 更新账号到期时间 - accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd()); + if (subscriptionInfo.getStatus().equals("active")){ + // 更新账号到期时间 + accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd()); - // 更新账号身份和积分 - accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), interval); + // 更新账号身份和积分 + accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), interval); + } } return subscriptionInfo; } @@ -534,11 +541,13 @@ public class StripeServiceImpl implements StripeService { if (!subscriptionInfo.getCurrentPeriodEnd().equals(subscription.getCurrentPeriodEnd())){ subscriptionInfo.setCurrentPeriodEnd(subscription.getCurrentPeriodEnd()); subscriptionInfo.setNextPayDate(DateUtil.changeTimeStampFormat(subscription.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE)); - // 更新账号到期时间 - accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd()); - // 更新账号身份和积分 - accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), subscriptionInfo.getType()); - log.info("更新 {} 账号到期时间为:{}", subscriptionInfo.getAccountId(), DateUtil.changeTimeStampFormat(subscriptionInfo.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE)); + if (subscription.getStatus().equals("active")){ + // 更新账号到期时间 + accountService.updateAccountValidity(subscriptionInfo.getAccountId(), subscriptionInfo.getCurrentPeriodEnd()); + // 更新账号身份和积分 + accountService.updateUserRoleAndCredits(subscriptionInfo.getAccountId(), subscriptionInfo.getType()); + log.info("更新 {} 账号到期时间为:{}", subscriptionInfo.getAccountId(), DateUtil.changeTimeStampFormat(subscriptionInfo.getCurrentPeriodEnd(), "seconds", CommonConstant.TIME_FORMAT_MMM_dd_yyyy_EEEE)); + } flag = true; } if (flag){