Browse Source

3.18 现金免费金币校验

milestone-20260224-现金钱包
huangqizhen 3 weeks ago
parent
commit
59629ae285
  1. 3
      src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java
  2. 10
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

3
src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java

@ -159,6 +159,9 @@ public class MysqlServiceImpl implements MysqlService {
// 👇 执行批量插入 // 👇 执行批量插入
int[] results = mysqlStmt.executeBatch(); int[] results = mysqlStmt.executeBatch();
logger.info("成功插入新记录 {} 条", results.length); logger.info("成功插入新记录 {} 条", results.length);
// 👉新增一行调用👈
// 传入当前连接 + 本批次记录自动完成路由更新
updateUserRegionWallet(mysqlConn, batchRecords);
} }
offset += pageSize; offset += pageSize;

10
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -231,7 +231,10 @@ public class CashRefundServiceImpl implements RefundService {
wallet=cashRecordRefund.getWalletId(); wallet=cashRecordRefund.getWalletId();
} }
UserRegionWallet userRegionWallet = walletMapper.selectWallet(cashRecordRefund.getJwcode(), wallet); 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) { if (userRegionWallet == null) {
//初始化钱包 //初始化钱包
walletMapper.insert(new UserRegionWallet(null, cashRecordRefund.getJwcode(), wallet, BigDecimal.ZERO, new Date(), new Date())); 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; wallet = 8;
} }
UserRegionWallet userRegionWallet = walletMapper.selectWallet(cashRecordRefund.getJwcode(), wallet); 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) { if (userRegionWallet == null) {
//初始化钱包 //初始化钱包
walletMapper.insert(new UserRegionWallet(null, cashRecordRefund.getJwcode(), wallet, BigDecimal.ZERO, new Date(), new Date())); walletMapper.insert(new UserRegionWallet(null, cashRecordRefund.getJwcode(), wallet, BigDecimal.ZERO, new Date(), new Date()));

Loading…
Cancel
Save