BUGFIX: 返回最新的订阅号

This commit is contained in:
2025-02-06 17:35:35 +08:00
parent d648a79ec4
commit 4c738cc61d
2 changed files with 9 additions and 11 deletions

View File

@@ -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);

View File

@@ -515,7 +515,7 @@ public class StripeServiceImpl implements StripeService {
public SubscriptionInfo getLatestSubscriptionInfoByAccountId(Long accountId){
QueryWrapper<SubscriptionInfo> qw = new QueryWrapper<>();
qw.eq("account_id", accountId);
qw.eq("account_id", accountId).orderByDesc("id");
List<SubscriptionInfo> 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));
}
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<Subscription> 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) {