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) {