Commit cc495cf0 by huluobin

update

parent 61cc15f2
...@@ -139,9 +139,8 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser ...@@ -139,9 +139,8 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser
public void addBalanceLog(Integer type, BigDecimal amount, Integer agentUserId) { public void addBalanceLog(Integer type, BigDecimal amount, Integer agentUserId) {
AgentUser agentUser = agentUserMapper.selectById(agentUserId); AgentUser agentUser = agentUserMapper.selectById(agentUserId);
Customer customer = customerService.selectByPhone(agentUser.getPhone()); Customer customer = customerService.selectByPhone(agentUser.getPhone());
AgentUserBalanceLog agentUserBalanceLog = new AgentUserBalanceLog();
AgentUserBalanceLog agentUserBalanceLog;
//1 = 充值余额 2 = 商城订单扣余额 3 = 充保证金 4 = 商城订单扣保证金 //1 = 充值余额 2 = 商城订单扣余额 3 = 充保证金 4 = 商城订单扣保证金
switch (type) { switch (type) {
//充值余额 //充值余额
...@@ -151,51 +150,89 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser ...@@ -151,51 +150,89 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser
//预充金额 //预充金额
agentUser.setRechargeAmount(amount); agentUser.setRechargeAmount(amount);
//累计充值 //累计充值
agentUser.setCurrentRechargeAmount(agentUser.getBalance().add(amount)); agentUser.setCurrentRechargeAmount(agentUser.getCurrentRechargeAmount().add(amount));
agentUserMapper.updateById(agentUser); agentUserMapper.updateById(agentUser);
agentUserBalanceLog = AgentUserBalanceLog.getInstance(agentUser);
agentUserBalanceLog.setAmount(amount); agentUserBalanceLog.setAmount(amount);
agentUserBalanceLog.setAgentUserId(agentUserId);
agentUserBalanceLog.setBalance(agentUser.getBalance());
agentUserBalanceLog.setBondAmountBalance(agentUser.getBondAmount());
agentUserBalanceLog.setCreateUser(customer.getNickname()); agentUserBalanceLog.setCreateUser(customer.getNickname());
agentUserBalanceLog.setDiscount(agentUser.getDiscount());
agentUserBalanceLog.setType(type); agentUserBalanceLog.setType(type);
agentUserBalanceLogMapper.insert(agentUserBalanceLog); agentUserBalanceLogMapper.insert(agentUserBalanceLog);
break; break;
//商城订单扣余额 //商城订单扣余额
case 2: case 2:
agentUser.setBalance(agentUser.getBalance().subtract(amount)); //余额不足
if (agentUser.getBalance().compareTo(BigDecimal.ZERO) < 0) { if (agentUser.getBalance().compareTo(amount) < 0) {
//能否抵扣保证金
if (agentUser.canUserBondAmount()) { if (agentUser.canUserBondAmount()) {
//余额不足
} if (agentUser.getBondAmount().add(agentUser.getBalance()).compareTo(amount) < 0) {
throw new RRException("余额不足"); throw new RRException("余额不足");
} }
//商城订单扣余额
this.addBalanceLog(2, agentUser.getBalance(), agentUserId);
//商城订单扣保证金
this.addBalanceLog(4, amount.subtract(agentUser.getBalance()), agentUserId);
}
}
//余额
agentUser.setBalance(agentUser.getBalance().subtract(amount));
//累计消费
agentUser.setCurrentConsumeAmount(agentUser.getCurrentConsumeAmount().add(amount));
agentUserMapper.updateById(agentUser); agentUserMapper.updateById(agentUser);
//消费
agentUserBalanceLog = AgentUserBalanceLog.getInstance(agentUser);
agentUserBalanceLog.setAmount(BigDecimal.ZERO.subtract(amount)); agentUserBalanceLog.setAmount(BigDecimal.ZERO.subtract(amount));
agentUserBalanceLog.setAgentUserId(agentUserId);
agentUserBalanceLog.setBalance(agentUser.getBalance());
agentUserBalanceLog.setBondAmountBalance(agentUser.getBondAmount());
agentUserBalanceLog.setCreateUser(customer.getNickname()); agentUserBalanceLog.setCreateUser(customer.getNickname());
agentUserBalanceLog.setDiscount(agentUser.getDiscount());
agentUserBalanceLog.setType(type); agentUserBalanceLog.setType(type);
agentUserBalanceLogMapper.insert(agentUserBalanceLog); agentUserBalanceLogMapper.insert(agentUserBalanceLog);
break; break;
//充保证金 //充保证金
case 3: case 3:
//余额
agentUser.setBondAmount(agentUser.getBondAmount().add(amount));
//累计充值
agentUser.setCurrentRechargeAmount(agentUser.getCurrentRechargeAmount().add(amount));
agentUserMapper.updateById(agentUser);
agentUserBalanceLog = AgentUserBalanceLog.getInstance(agentUser);
agentUserBalanceLog.setAmount(amount);
agentUserBalanceLog.setCreateUser(customer.getNickname());
agentUserBalanceLog.setType(type);
agentUserBalanceLogMapper.insert(agentUserBalanceLog);
break; break;
//商城订单扣保证金 //商城订单扣保证金
case 4: case 4:
//余额
agentUser.setBondAmount(agentUser.getBondAmount().subtract(amount));
//累计充值
agentUser.setCurrentConsumeAmount(agentUser.getCurrentConsumeAmount().add(amount));
agentUserMapper.updateById(agentUser);
agentUserBalanceLog = AgentUserBalanceLog.getInstance(agentUser);
agentUserBalanceLog.setAmount(amount);
agentUserBalanceLog.setCreateUser(customer.getNickname());
agentUserBalanceLog.setType(type);
agentUserBalanceLogMapper.insert(agentUserBalanceLog);
break; break;
default: default:
throw new RRException("invalid type"); throw new RRException("invalid type");
} }
} AgentConfig agentConfig = agentConfigMapper.selectByRechargeAmount(agentUser.getCurrentRechargeAmount());
agentUser.setLevel(agentConfig.getId());
agentUser.setDiscount(agentConfig.getDiscount());
//计算保证金
if(!agentUser.canUserBondAmount()){
}
}
@Override @Override
......
...@@ -62,4 +62,14 @@ public class AgentUserBalanceLog implements Serializable { ...@@ -62,4 +62,14 @@ public class AgentUserBalanceLog implements Serializable {
private String remarks; private String remarks;
public static AgentUserBalanceLog getInstance(AgentUser agentUser){
AgentUserBalanceLog agentUserBalanceLog = new AgentUserBalanceLog();
agentUserBalanceLog.setAgentUserId(agentUser.getId());
agentUserBalanceLog.setBalance(agentUser.getBalance());
agentUserBalanceLog.setBondAmountBalance(agentUser.getBondAmount());
agentUserBalanceLog.setDiscount(agentUser.getDiscount());
return agentUserBalanceLog;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment