From c95812b953a54e60c916c8ca375101376f58de57 Mon Sep 17 00:00:00 2001
From: Administrator <1101184511@qq.com>
Date: 星期日, 20 四月 2025 17:24:09 +0800
Subject: [PATCH] 基础功能的单元测试完成

---
 src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java b/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java
index d464cab..56e370d 100644
--- a/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java
+++ b/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java
@@ -22,9 +22,12 @@
 
     @Override
     public void initializeCreditBalance(Long userId) {
+        if(getCreditBalanceByUserId(userId)!=null){
+            return;
+        }
         UserCreditBalance userCreditBalance = new UserCreditBalance();
         userCreditBalance.setId(userId);
-        userCreditBalance.setCreditBalance(BigDecimal.ZERO);
+        userCreditBalance.setCreditBalance(0);
         userCreditBalance.setCreateTime(new Date());
         userCreditBalance.setUpdateTime(new Date());
         userCreditBalanceMapper.insert(userCreditBalance);
@@ -37,7 +40,7 @@
 
     @Override
     public Map<Long, UserCreditBalance> getCreditBalancesByUserIds(List<Long> userIds) {
-        List<UserCreditBalance> userCreditBalances = userCreditBalanceMapper.selectByIds(userIds);
+        List<UserCreditBalance> userCreditBalances = userCreditBalanceMapper.listByIds(userIds);
         Map<Long, UserCreditBalance> balanceMap = new HashMap<>();
         for (UserCreditBalance balance : userCreditBalances) {
             balanceMap.put(balance.getId(), balance);
@@ -50,19 +53,23 @@
     public void increaseCreditBalance(Long userId, int amount) {
         UserCreditBalance userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId);
         if (userCreditBalance != null) {
-            userCreditBalance.setCreditBalance(userCreditBalance.getCreditBalance().add(amount));
-            userCreditBalance.setUpdateTime(new Date());
-            userCreditBalanceMapper.updateByPrimaryKeySelective(userCreditBalance);
+            userCreditBalanceMapper.updateByPrimaryKeySelective(UserCreditBalance.builder()
+                            .id(userCreditBalance.getId())
+                            .creditBalance(userCreditBalance.getCreditBalance() + amount)
+                            .updateTime(new Date())
+                    .build());
         }
     }
-
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void decreaseCreditBalance(Long userId, int amount) {
         UserCreditBalance userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId);
         if (userCreditBalance != null) {
-            userCreditBalance.setCreditBalance(userCreditBalance.getCreditBalance().subtract(amount));
-            userCreditBalance.setUpdateTime(new Date());
-            userCreditBalanceMapper.updateByPrimaryKeySelective(userCreditBalance);
+            userCreditBalanceMapper.updateByPrimaryKeySelective(UserCreditBalance.builder()
+                    .id(userCreditBalance.getId())
+                    .creditBalance(userCreditBalance.getCreditBalance() - amount)
+                    .updateTime(new Date())
+                    .build());
         }
     }
 }

--
Gitblit v1.8.0