1
zj
2025-08-12 f8c80b2848a6b2e3ef16db317147576f4a4e0714
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());