新建子账号时已使用积分为空

This commit is contained in:
2025-09-08 16:20:24 +08:00
parent f20a85a0e2
commit c187d25d74

View File

@@ -2442,7 +2442,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
throw new BusinessException("Insufficient credits (Balance: " + remainingCredits + ").", ResultEnum.PROMPT.getCode()); throw new BusinessException("Insufficient credits (Balance: " + remainingCredits + ").", ResultEnum.PROMPT.getCode());
} }
subAccount.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit()); subAccount.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit());
subAccount.setCreditsUsage(addSubAccountDTO.getCreditsUsage()); subAccount.setCreditsUsage(Objects.isNull(addSubAccountDTO.getCreditsUsage()) ? BigDecimal.ZERO : addSubAccountDTO.getCreditsUsage());
if (Objects.nonNull(subAccount.getCredits())) { if (Objects.nonNull(subAccount.getCredits())) {
subAccount.setCredits(subAccount.getCreditsUsageLimit().add(subAccount.getCredits())); subAccount.setCredits(subAccount.getCreditsUsageLimit().add(subAccount.getCredits()));
}else { }else {
@@ -2667,7 +2667,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
for (Long id : addSubAccountDTO.getDeleteIdList()) { for (Long id : addSubAccountDTO.getDeleteIdList()) {
Account account = baseMapper.selectById(id); Account account = baseMapper.selectById(id);
if (Objects.nonNull(account.getParentId()) && account.getParentId().equals(adminAccId)) { if (Objects.nonNull(account.getParentId()) && account.getParentId().equals(adminAccId)) {
BigDecimal unusedCredits = account.getCreditsUsageLimit().subtract(account.getCreditsUsage()); BigDecimal unusedCredits = account.getCreditsUsageLimit().subtract(Objects.isNull(account.getCreditsUsage()) ? BigDecimal.ZERO : account.getCreditsUsage());
BigDecimal finalCredits = calculateFinalCredits(account, unusedCredits); BigDecimal finalCredits = calculateFinalCredits(account, unusedCredits);
int userRole = determineUserRole(account.getId()); int userRole = determineUserRole(account.getId());