BUGFIX:1. 所有作品中无法查看个人刚发布的作品

2. 100月付用户的邮件中续订金额不对,发送给商家的邮件中夹杂中文
3. 推广码没有截止有效期时使用该推广码报错
This commit is contained in:
2025-09-04 18:29:52 +08:00
parent c67d197da0
commit de16437d08
7 changed files with 1078 additions and 1060 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -385,11 +385,11 @@ public class AccountController {
return Response.success("success");
}*/
@GetMapping("/refreshCreditsMonthly")
/*@GetMapping("/refreshCreditsMonthly")
@ApiOperation(value = "刷新子账号积分")
public void refreshCreditsMonthly() {
accountService.refreshCreditsMonthly();
}
}*/
}

View File

@@ -126,7 +126,7 @@ public class Account implements Serializable {
private BigDecimal creditsUsageLimit;
// 学校分配的积分使用情况
private BigDecimal creditsUsage = BigDecimal.ZERO;
private BigDecimal creditsUsage;
private Integer subAccountNum;

View File

@@ -63,7 +63,7 @@ public class Portfolio implements Serializable {
// 学校/企业id
private Long organizationId;
// 该条作品是否在该组织公开 默认公开 01为公开)
// 该条作品是否在该组织公开 默认公开 10为不公开)
private Integer isPublic;
@ApiModelProperty(value = "创建时间")

View File

@@ -2449,7 +2449,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
subAccount.setCredits(subAccount.getCreditsUsageLimit());
}
adminAcc.setCreditsUsage(adminAcc.getCreditsUsage().add(subAccount.getCreditsUsageLimit()));
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
adminAcc.setCredits(adminAcc.getCredits().subtract(subAccount.getCreditsUsageLimit()));
adminAcc.setUpdateDate(new Date());
log.debug("分配积分: remainingCredits={}, subAccId={}, setCredits={}", remainingCredits, subAccount.getId(), addSubAccountDTO.getCreditsUsageLimit());
}else {
@@ -2483,7 +2483,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
subAccount.setCredits(subAccount.getCreditsUsageLimit());
}
adminAcc.setCreditsUsage(adminAcc.getCreditsUsage().add(subAccount.getCreditsUsageLimit()));
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
adminAcc.setCredits(adminAcc.getCredits().subtract(subAccount.getCreditsUsageLimit()));
adminAcc.setUpdateDate(new Date());
log.debug("分配积分: remainingCredits={}, subAccId={}, setCredits={}", remainingCredits, subAccount.getId(), addSubAccountDTO.getCreditsUsageLimit());
}
@@ -2529,7 +2529,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
if (remainingCredits.compareTo(addedCredits) >= 0) {
// 更新管理员已分配的积分
adminAcc.setCreditsUsage(adminAcc.getCreditsUsage().add(addedCredits));
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
// 管理员账号可以购买积分但是不会加入到可分配积分的池子里只需要加到credits
adminAcc.setCredits(adminAcc.getCredits().subtract(addedCredits));
// 更新子账号的积分上限和目前所有积分总数
exAccountInfo.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit());
exAccountInfo.setCredits(exAccountInfo.getCredits().add(addedCredits));
@@ -2545,7 +2546,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
BigDecimal subtractedCredits = exAccountInfo.getCreditsUsageLimit().subtract(addSubAccountDTO.getCreditsUsageLimit());
// 更新管理员已分配的积分(积分回流)
adminAcc.setCreditsUsage(adminAcc.getCreditsUsage().subtract(subtractedCredits));
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
// 管理员账号可以购买积分但是不会加入到可分配积分的池子里只需要加到credits
adminAcc.setCredits(adminAcc.getCredits().add(subtractedCredits));
// 更新子账号的积分上限和目前所有积分总数
exAccountInfo.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit());
exAccountInfo.setCredits(exAccountInfo.getCredits().subtract(subtractedCredits));
@@ -2626,8 +2628,9 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
} else {
subAcc.setCreditsUsageLimit(BigDecimal.ZERO);
}
subAcc.setCreditsUsage(BigDecimal.ZERO);
adminAcc.setCreditsUsage(adminAcc.getCreditsUsage().add(subAcc.getCreditsUsageLimit()));
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
adminAcc.setCredits(adminAcc.getCredits().subtract(subAcc.getCreditsUsageLimit()));
adminAcc.setUpdateDate(new Date());
log.debug("分配积分: remainingCredits={}, subAccId={}, defaultCredits={}", remainingCredits, subAcc.getId(), defaultCredits);
@@ -2692,7 +2695,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
if (unusedCreditsTotal.compareTo(BigDecimal.ZERO) != 0){
BigDecimal subtracted = adminAcc.getCreditsUsage().subtract(unusedCreditsTotal);
adminAcc.setCreditsUsage(subtracted.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : subtracted);
adminAcc.setCredits(adminAcc.getCreditsUsageLimit().subtract(adminAcc.getCreditsUsage()));
// 管理员账号可以购买积分但是不会加入到可分配积分的池子里只需要加到credits
adminAcc.setCredits(adminAcc.getCredits().add(unusedCreditsTotal));
adminAcc.setUpdateDate(new Date());
baseMapper.updateById(adminAcc);
}
@@ -3464,6 +3468,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
}
addSubAccountDTO.setUserName(dto.getEmail().substring(0, dto.getEmail().indexOf("@")));
addSubAccountDTO.setUserPassword(md5(parent.getOrganizationName().toLowerCase() + "abc"));
addSubAccountDTO.setCreditsUsage(BigDecimal.ZERO);
// 添加用户
addSubAccount(addSubAccountDTO);
}

View File

@@ -187,7 +187,7 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
portfolio.setCanvasId(canvas.getId());
portfolio.setPortfolioDes(portfolioDTO.getPortfolioDes());
if (Objects.isNull(portfolioDTO.getIsPublic())){
portfolio.setIsPublic(0);
portfolio.setIsPublic(1);
}else {
portfolio.setIsPublic(portfolioDTO.getIsPublic());
}

View File

@@ -1200,7 +1200,7 @@ public class StripeServiceImpl implements StripeService {
emailParamsDTO.setFailMessage(orderByOrderNo.getNote());
emailParamsDTO.setSubscriptionType(subscriptionInfo.getType());
emailParamsDTO.setStartDate(DateUtil.changeTimeStampFormat(orderByOrderNo.getCreateTime()));
if (subscriptionInfo.getType().equals("month")){
/*if (subscriptionInfo.getType().equals("month")){
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.MonthlySubscription.getPrice()));
} else if (subscriptionInfo.getType().equals("year")){
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.AnnualSubscription.getPrice()));
@@ -1208,6 +1208,18 @@ public class StripeServiceImpl implements StripeService {
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.DailySubscription.getPrice()));
} else {
emailParamsDTO.setRenewalFee("?");
}*/
if (orderByOrderNo.getTitle().equals(ProductEnum.MonthlySubscription.getName())){
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.MonthlySubscription.getPrice()));
} else if (orderByOrderNo.getTitle().equals(ProductEnum.Eco_MonthlySubscription.getName())){
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.Eco_MonthlySubscription.getPrice()));
} else if (orderByOrderNo.getTitle().equals(ProductEnum.AnnualSubscription.getName())) {
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.AnnualSubscription.getPrice()));
} else if (orderByOrderNo.getTitle().equals(ProductEnum.DailySubscription.getName())) {
emailParamsDTO.setRenewalFee(String.valueOf(ProductEnum.DailySubscription.getPrice()));
} else {
emailParamsDTO.setRenewalFee("?");
}
if (subscriptionInfo.getStatus().equals("active")){
if (language.equals("ENGLISH")){
@@ -1536,7 +1548,7 @@ public class StripeServiceImpl implements StripeService {
// 2、查绑定的Coupons是否存在以及是否过期
long epochSecondNow = Instant.now().getEpochSecond();
Long redeemBy = productCoupons.getRedeemBy();
if (redeemBy < epochSecondNow){
if (Objects.nonNull(redeemBy) && redeemBy < epochSecondNow){
throw new BusinessException("this.promotion.code.has.expired");
} else if (Objects.nonNull(productCoupons.getStartTime()) && productCoupons.getStartTime() > epochSecondNow) {
String startTime = DateUtil.changeTimeStampFormat(productCoupons.getStartTime(), "seconds", CommonConstant.TIME_FORMAT_yyyy_MM_dd_HH_mm_ss);