BUGFIX:将已存在的账号添加到子账号中,积分计算混乱

This commit is contained in:
2025-08-21 16:03:24 +08:00
parent 3c5a5ff225
commit 6a5282e4d5
3 changed files with 7 additions and 8 deletions

View File

@@ -18,10 +18,9 @@ public class AffiliateQueryDTO extends TimeQueryBaseDTO{
@ApiModelProperty("推广者id")
private Long affiliateId;
@NotBlank(message = "orderBy cannot be empty")
@Pattern(regexp = "id|createTime|totalIncome", message = "允许排序字段只有id|createTime|totalIncome")
@Pattern(regexp = "id|createTime|totalIncome|", message = "允许排序字段只有id|createTime|totalIncome")
@ApiModelProperty("目前允许按id, createTime, totalIncome进行排序")
private String orderBy;
private String orderBy = "id";
@ApiModelProperty("按时间 DESC 降序 || ASC 升序")
private String order = "ASC";

View File

@@ -2227,12 +2227,12 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
subAccount.setSystemUser(subUserRole);
subAccount.setOrganizationName(adminAcc.getOrganizationName());
subAccount.setParentId(adminAcc.getId());
if (Objects.nonNull(subAccount.getCreditsUsageLimit())){
if (remainingCredits.compareTo(subAccount.getCreditsUsageLimit()) < 0) {
if (Objects.nonNull(addSubAccountDTO.getCreditsUsageLimit())){
if (remainingCredits.compareTo(addSubAccountDTO.getCreditsUsageLimit()) < 0) {
throw new BusinessException("Insufficient credits (Balance: " + remainingCredits + ").", ResultEnum.PROMPT.getCode());
}
subAccount.setCreditsUsageLimit(subAccount.getCreditsUsageLimit());
subAccount.setCreditsUsage(subAccount.getCreditsUsageLimit());
subAccount.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit());
subAccount.setCreditsUsage(addSubAccountDTO.getCreditsUsage());
if (Objects.nonNull(subAccount.getCredits())) {
subAccount.setCredits(subAccount.getCreditsUsageLimit().add(subAccount.getCredits()));
}else {

View File

@@ -91,7 +91,7 @@ public class AffiliateServiceImpl extends ServiceImpl<AffiliateMapper, Affiliate
log.info("parameter => {}", affiliateQueryDTO.toString());
int offset = (affiliateQueryDTO.getPage() - 1) * affiliateQueryDTO.getSize();
String orderBy = affiliateQueryDTO.getOrderBy() == null ? "create_time" :
String orderBy = affiliateQueryDTO.getOrderBy() == null ? "id" :
affiliateQueryDTO.getOrderBy().equals("id") ? "id" :
affiliateQueryDTO.getOrderBy().equals("totalIncome") ? "total_earnings" :
"create_time";