diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index 1836d0d1..f2e17bcf 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -2442,7 +2442,7 @@ public class AccountServiceImpl extends ServiceImpl impl throw new BusinessException("Insufficient credits (Balance: " + remainingCredits + ").", ResultEnum.PROMPT.getCode()); } subAccount.setCreditsUsageLimit(addSubAccountDTO.getCreditsUsageLimit()); - subAccount.setCreditsUsage(addSubAccountDTO.getCreditsUsage()); + subAccount.setCreditsUsage(Objects.isNull(addSubAccountDTO.getCreditsUsage()) ? BigDecimal.ZERO : addSubAccountDTO.getCreditsUsage()); if (Objects.nonNull(subAccount.getCredits())) { subAccount.setCredits(subAccount.getCreditsUsageLimit().add(subAccount.getCredits())); }else { @@ -2667,7 +2667,7 @@ public class AccountServiceImpl extends ServiceImpl impl for (Long id : addSubAccountDTO.getDeleteIdList()) { Account account = baseMapper.selectById(id); 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); int userRole = determineUserRole(account.getId());