From f8c80b2848a6b2e3ef16db317147576f4a4e0714 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 12 Aug 2025 01:00:48 +0800
Subject: [PATCH] 1

---
 src/main/java/project/wallet/internal/WalletServiceImpl.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/project/wallet/internal/WalletServiceImpl.java b/src/main/java/project/wallet/internal/WalletServiceImpl.java
index a27dee8..f265811 100644
--- a/src/main/java/project/wallet/internal/WalletServiceImpl.java
+++ b/src/main/java/project/wallet/internal/WalletServiceImpl.java
@@ -90,9 +90,16 @@
 		if(!ObjectUtils.isEmpty(money)){
 			wallet.setMoney(Double.parseDouble(money.toString()));
 		}
-		wallet.setMoney(Arith.add(wallet.getMoney(), amount));
+		// 确保余额不会为负数
+		double newBalance = Arith.add(wallet.getMoney(), amount);
+		if (newBalance < 0) {
+			wallet.setMoney(0);
+		}else{
+			wallet.setMoney(Arith.add(wallet.getMoney(), amount));
+		}
+		logger.info("----------------tmd钱包的钱为什么不对"+wallet.getMoney());
 		redisHandler.setSync(WalletRedisKeys.WALLET_PARTY_ID + wallet.getPartyId().toString(), wallet);
-		redisHandler.pushAsyn(WalletRedisKeys.WALLET_QUEUE_UPDATE, new WalletMessage(partyId, amount));
+		redisHandler.pushAsyn(WalletRedisKeys.WALLET_QUEUE_UPDATE, new WalletMessage(partyId, wallet.getMoney()));
 
 		//用于计算合约亏损
 		redisHandler.setSync("PARTY_ID_MONEY_"+partyId, wallet.getMoney());

--
Gitblit v1.9.3