1
zj
2024-12-04 fe1859da132aa4eaf5c2149ca2068c608147e0e9
1
1 files modified
5 ■■■■■ changed files
src/main/java/project/wallet/internal/WalletServiceImpl.java 5 ●●●●● 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));