| src/main/java/project/wallet/internal/WalletServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/project/wallet/internal/WalletServiceImpl.java
@@ -90,6 +90,11 @@ if(!ObjectUtils.isEmpty(money)){ wallet.setMoney(Double.parseDouble(money.toString())); } // 确保余额不会为负数 double newBalance = Arith.add(wallet.getMoney(), amount); if (newBalance < 0) { amount = -wallet.getMoney(); // 如果会负余额,调整 amount 使余额为0 } 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));