From 4c738cc61d05cc177911211e57b950c4bc1546dd Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 6 Feb 2025 17:35:35 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=20=E8=BF=94=E5=9B=9E=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E8=AE=A2=E9=98=85=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ai/da/common/utils/SendEmailUtil.java | 2 +- .../ai/da/service/impl/StripeServiceImpl.java | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java index e5162afa..3fa750e2 100644 --- a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java +++ b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java @@ -1012,7 +1012,7 @@ public class SendEmailUtil { template.setTemplateID(CREDITS_PURCHASE_MERCHANT); JSONObject jsonObject = new JSONObject(); // 设置试用订单相关数据 - jsonObject.put("userName", username); + jsonObject.put("username", username); jsonObject.put("quantity", quantity); jsonObject.put("totalFee", amount); 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 75d2d182..bf3d23c0 100644 --- a/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/StripeServiceImpl.java @@ -515,7 +515,7 @@ public class StripeServiceImpl implements StripeService { public SubscriptionInfo getLatestSubscriptionInfoByAccountId(Long accountId){ QueryWrapper qw = new QueryWrapper<>(); - qw.eq("account_id", accountId); + qw.eq("account_id", accountId).orderByDesc("id"); List subscriptionInfos = subscriptionInfoMapper.selectList(qw); if (subscriptionInfos.isEmpty()){ return null; @@ -541,13 +541,11 @@ 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)); - 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)); - } + // 更新账号到期时间 + 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){ @@ -560,8 +558,8 @@ public class StripeServiceImpl implements StripeService { // 取消连续订阅 将订阅从pause状态转为cancel状态(使用定时器,定期检索DB中,过期且不续订的订阅) public void cancelSubscription(String subscriptionId, String cancelReason) { Stripe.apiKey = privateKey; + log.info("cancel subscription"); Long accountId = UserContext.getUserHolder().getId(); - log.info("用户 {} 申请取消连续订阅 {}", accountId, subscriptionId); com.ai.da.mapper.primary.entity.Account account = accountMapper.selectById(accountId); List subscriptions = getSubscription(account.getUserName(), account.getUserEmail()); // 获取status = active的订阅 @@ -570,7 +568,7 @@ public class StripeServiceImpl implements StripeService { try { Subscription cancel = subscription.cancel(); cancel.getStatus(); - + log.info("用户 {} 申请取消连续订阅 {}", accountId, subscriptionId); // 更新数据库 updateCancelReason(subscriptionId, cancelReason); } catch (StripeException e) {