From 83dbfeab6fe421bf11b39429dca32469b8a1b9f8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 25 Sep 2021 18:44:44 +0800
Subject: [PATCH] 20210925

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
index 3a01906..e2c2815 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
@@ -23,7 +23,23 @@
 
     @Override
     public void addBalance(BigDecimal amount, Long memberId) {
+        int i = 0;
+        boolean flag = true;
 
+        while (flag) {
+            i++;
+            MallMemberWallet wallet = this.baseMapper.selectWalletByMemberId(memberId);
+            wallet.setBalance(wallet.getBalance().add(amount));
+
+            int result = this.baseMapper.updateBalanceWithVersion(wallet);
+            if (result > 0) {
+                flag = false;
+            } else {
+                if (i > 2) {
+                    throw new FebsException("余额增加失败");
+                }
+            }
+        }
     }
 
     @Override
@@ -34,7 +50,7 @@
         while (flag) {
             i++;
             MallMemberWallet wallet = this.baseMapper.selectWalletByMemberId(memberId);
-            if (amount.compareTo(wallet.getBalance()) < 0) {
+            if (amount.compareTo(wallet.getBalance()) > 0) {
                 throw new FebsException("余额不足");
             }
 

--
Gitblit v1.9.1