feat 统一先计算变更记录再update user money
This commit is contained in:
parent
4617e5132e
commit
0378999b3e
|
|
@ -167,10 +167,6 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService {
|
|||
rechargeOrder.setRefundStatus(1);
|
||||
rechargeOrderMapper.updateById(rechargeOrder);
|
||||
|
||||
// 更新用户余额
|
||||
user.setUserMoney(user.getUserMoney().subtract(rechargeOrder.getOrderAmount()));
|
||||
userMapper.updateById(user);
|
||||
|
||||
// 记录余额日志
|
||||
userAccountLogMapper.dec(
|
||||
user.getId(),
|
||||
|
|
@ -182,6 +178,11 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService {
|
|||
null
|
||||
);
|
||||
|
||||
|
||||
// 更新用户余额
|
||||
user.setUserMoney(user.getUserMoney().subtract(rechargeOrder.getOrderAmount()));
|
||||
userMapper.updateById(user);
|
||||
|
||||
// 生成退款记录
|
||||
String refundSn = refundRecordMapper.randMakeOrderSn("sn");
|
||||
refundRecord = new RefundRecord();
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public interface UserAccountLogMapper extends IBaseMapper<UserAccountLog> {
|
|||
|
||||
Integer changeObject = AccountLogEnum.getChangeObject(changeType);
|
||||
|
||||
BigDecimal leftAmount = user.getUserMoney(); //.add(changeAmount);
|
||||
BigDecimal leftAmount = user.getUserMoney().add(changeAmount);
|
||||
UserAccountLog logMoney = new UserAccountLog();
|
||||
logMoney.setSn(this.randMakeOrderSn());
|
||||
logMoney.setUserId(userId);
|
||||
|
|
@ -82,7 +82,7 @@ public interface UserAccountLogMapper extends IBaseMapper<UserAccountLog> {
|
|||
break;
|
||||
}
|
||||
|
||||
BigDecimal leftAmount = user.getUserMoney(); //.subtract(changeAmount);
|
||||
BigDecimal leftAmount = user.getUserMoney().subtract(changeAmount);
|
||||
|
||||
UserAccountLog logMoney = new UserAccountLog();
|
||||
logMoney.setSn(this.randMakeOrderSn());
|
||||
|
|
|
|||
|
|
@ -359,10 +359,6 @@ public class PayServiceImpl implements IPayService {
|
|||
rechargeOrder.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
rechargeOrderMapper.updateById(rechargeOrder);
|
||||
|
||||
User user = userMapper.selectById(rechargeOrder.getUserId());
|
||||
user.setUserMoney(user.getUserMoney().add(rechargeOrder.getOrderAmount()));
|
||||
user.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
userMapper.updateById(user);
|
||||
|
||||
logMoneyMapper.add(rechargeOrder.getUserId(),
|
||||
AccountLogEnum.UM_INC_RECHARGE.getCode(),
|
||||
|
|
@ -370,6 +366,11 @@ public class PayServiceImpl implements IPayService {
|
|||
rechargeOrder.getId(),
|
||||
rechargeOrder.getSn(),
|
||||
"用户充值余额", null);
|
||||
|
||||
User user = userMapper.selectById(rechargeOrder.getUserId());
|
||||
user.setUserMoney(user.getUserMoney().add(rechargeOrder.getOrderAmount()));
|
||||
user.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
userMapper.updateById(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue