From 59629ae285e39f5705dd0ed4328ec9515d5e3bdc Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Wed, 18 Mar 2026 15:52:42 +0800 Subject: [PATCH] =?UTF-8?q?3.18=20=E7=8E=B0=E9=87=91=E5=85=8D=E8=B4=B9?= =?UTF-8?q?=E9=87=91=E5=B8=81=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java | 3 +++ .../example/demo/serviceImpl/cash/CashRefundServiceImpl.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java b/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java index ec73f34..3da3f5b 100644 --- a/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java +++ b/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java @@ -159,6 +159,9 @@ public class MysqlServiceImpl implements MysqlService { // 👇 执行批量插入 int[] results = mysqlStmt.executeBatch(); logger.info("成功插入新记录 {} 条", results.length); + // 👉【新增一行调用】👈 + // 传入当前连接 + 本批次记录,自动完成路由更新 + updateUserRegionWallet(mysqlConn, batchRecords); } offset += pageSize; diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java index bda455e..5a6f9d1 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java @@ -231,7 +231,10 @@ public class CashRefundServiceImpl implements RefundService { wallet=cashRecordRefund.getWalletId(); } UserRegionWallet userRegionWallet = walletMapper.selectWallet(cashRecordRefund.getJwcode(), wallet); - + User user = userMapper.selectUserByJwcode(cashRecordRefund.getJwcode()); + if (user.getCurrentFreeJune().add(user.getCurrentFreeDecember()).compareTo(BigDecimal.valueOf(cashRecordRefund.getPartRefundFree()))<0){ + throw new BusinessException("用户钱包余额不足"); + } if (userRegionWallet == null) { //初始化钱包 walletMapper.insert(new UserRegionWallet(null, cashRecordRefund.getJwcode(), wallet, BigDecimal.ZERO, new Date(), new Date())); @@ -875,7 +878,10 @@ public class CashRefundServiceImpl implements RefundService { wallet = 8; } UserRegionWallet userRegionWallet = walletMapper.selectWallet(cashRecordRefund.getJwcode(), wallet); - + User user = userMapper.selectUserByJwcode(cashRecordRefund.getJwcode()); + if (user.getCurrentFreeJune().add(user.getCurrentFreeDecember()).compareTo(BigDecimal.valueOf(cashRecordRefund.getPartRefundFree()))<0){ + throw new BusinessException("用户钱包余额不足"); + } if (userRegionWallet == null) { //初始化钱包 walletMapper.insert(new UserRegionWallet(null, cashRecordRefund.getJwcode(), wallet, BigDecimal.ZERO, new Date(), new Date()));