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()));