From a949bf71283aeabbf4ac26adb7f183b67c02dfc7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 14 Aug 2024 06:18:45 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/project/wallet/internal/WalletServiceImpl.java b/src/main/java/project/wallet/internal/WalletServiceImpl.java
index 2f86bc3..a27dee8 100644
--- a/src/main/java/project/wallet/internal/WalletServiceImpl.java
+++ b/src/main/java/project/wallet/internal/WalletServiceImpl.java
@@ -21,6 +21,7 @@
 import kernel.util.UUIDGenerator;
 import kernel.web.ApplicationUtil;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 import project.Constants;
 import project.data.DataService;
 import project.data.model.Realtime;
@@ -84,10 +85,17 @@
 
 	@Override
 	public void update(String partyId, double amount) {
+		Object money = redisHandler.get("PARTY_ID_MONEY_" + partyId);
 		Wallet wallet = (Wallet) redisHandler.get(WalletRedisKeys.WALLET_PARTY_ID + partyId.toString());
+		if(!ObjectUtils.isEmpty(money)){
+			wallet.setMoney(Double.parseDouble(money.toString()));
+		}
 		wallet.setMoney(Arith.add(wallet.getMoney(), amount));
 		redisHandler.setSync(WalletRedisKeys.WALLET_PARTY_ID + wallet.getPartyId().toString(), wallet);
 		redisHandler.pushAsyn(WalletRedisKeys.WALLET_QUEUE_UPDATE, new WalletMessage(partyId, amount));
+
+		//用于计算合约亏损
+		redisHandler.setSync("PARTY_ID_MONEY_"+partyId, wallet.getMoney());
 	}
 
 	@Override

--
Gitblit v1.9.3