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);
|
rechargeOrder.setRefundStatus(1);
|
||||||
rechargeOrderMapper.updateById(rechargeOrder);
|
rechargeOrderMapper.updateById(rechargeOrder);
|
||||||
|
|
||||||
// 更新用户余额
|
|
||||||
user.setUserMoney(user.getUserMoney().subtract(rechargeOrder.getOrderAmount()));
|
|
||||||
userMapper.updateById(user);
|
|
||||||
|
|
||||||
// 记录余额日志
|
// 记录余额日志
|
||||||
userAccountLogMapper.dec(
|
userAccountLogMapper.dec(
|
||||||
user.getId(),
|
user.getId(),
|
||||||
|
|
@ -182,6 +178,11 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService {
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// 更新用户余额
|
||||||
|
user.setUserMoney(user.getUserMoney().subtract(rechargeOrder.getOrderAmount()));
|
||||||
|
userMapper.updateById(user);
|
||||||
|
|
||||||
// 生成退款记录
|
// 生成退款记录
|
||||||
String refundSn = refundRecordMapper.randMakeOrderSn("sn");
|
String refundSn = refundRecordMapper.randMakeOrderSn("sn");
|
||||||
refundRecord = new RefundRecord();
|
refundRecord = new RefundRecord();
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public interface UserAccountLogMapper extends IBaseMapper<UserAccountLog> {
|
||||||
|
|
||||||
Integer changeObject = AccountLogEnum.getChangeObject(changeType);
|
Integer changeObject = AccountLogEnum.getChangeObject(changeType);
|
||||||
|
|
||||||
BigDecimal leftAmount = user.getUserMoney(); //.add(changeAmount);
|
BigDecimal leftAmount = user.getUserMoney().add(changeAmount);
|
||||||
UserAccountLog logMoney = new UserAccountLog();
|
UserAccountLog logMoney = new UserAccountLog();
|
||||||
logMoney.setSn(this.randMakeOrderSn());
|
logMoney.setSn(this.randMakeOrderSn());
|
||||||
logMoney.setUserId(userId);
|
logMoney.setUserId(userId);
|
||||||
|
|
@ -82,7 +82,7 @@ public interface UserAccountLogMapper extends IBaseMapper<UserAccountLog> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal leftAmount = user.getUserMoney(); //.subtract(changeAmount);
|
BigDecimal leftAmount = user.getUserMoney().subtract(changeAmount);
|
||||||
|
|
||||||
UserAccountLog logMoney = new UserAccountLog();
|
UserAccountLog logMoney = new UserAccountLog();
|
||||||
logMoney.setSn(this.randMakeOrderSn());
|
logMoney.setSn(this.randMakeOrderSn());
|
||||||
|
|
|
||||||
|
|
@ -359,10 +359,6 @@ public class PayServiceImpl implements IPayService {
|
||||||
rechargeOrder.setUpdateTime(System.currentTimeMillis() / 1000);
|
rechargeOrder.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
rechargeOrderMapper.updateById(rechargeOrder);
|
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(),
|
logMoneyMapper.add(rechargeOrder.getUserId(),
|
||||||
AccountLogEnum.UM_INC_RECHARGE.getCode(),
|
AccountLogEnum.UM_INC_RECHARGE.getCode(),
|
||||||
|
|
@ -370,6 +366,11 @@ public class PayServiceImpl implements IPayService {
|
||||||
rechargeOrder.getId(),
|
rechargeOrder.getId(),
|
||||||
rechargeOrder.getSn(),
|
rechargeOrder.getSn(),
|
||||||
"用户充值余额", null);
|
"用户充值余额", 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