|
@@ -43,17 +43,10 @@ public class Monitor {
|
|
|
List<Long> orderFrozenFundsIdList = needThawMoneyList.stream().map(OrderFrozenFunds::getOrderFrozenFundsId).collect(Collectors.toList());
|
|
|
List<String> seconderOrderIdList = needThawMoneyList.stream().map(OrderFrozenFunds::getSecondOrderId).collect(Collectors.toList());
|
|
|
|
|
|
- /*List<BigDecimal> volunteerMoneyList = needThawMoneyList.stream().map(OrderFrozenFunds::getVolunteerMoney).collect(Collectors.toList());
|
|
|
- List<BigDecimal> platformBrokerageList = needThawMoneyList.stream().map(OrderFrozenFunds::getPlatformBrokerage).collect(Collectors.toList());
|
|
|
- List<BigDecimal> scoreMoneyList = needThawMoneyList.stream().map(OrderFrozenFunds::getScoreMoney).collect(Collectors.toList());*/
|
|
|
-
|
|
|
// needThawMoneyList.stream().map(OrderFrozenFunds::).collect(Collectors.toList());
|
|
|
//Map<Long, OrderFrozenFunds> totalMoneyMap = needThawMoneyList.stream().collect(Collectors.toMap(OrderFrozenFunds::getVolunteerId, Function.identity()));
|
|
|
|
|
|
-
|
|
|
//查到旧的志愿者账户表的余额(用来存放志愿者月变更记录)
|
|
|
- /* QueryWrapper<VolunteerAccount> volunteerAccountQueryWrapper = new QueryWrapper<VolunteerAccount>().in("volunteer_id", volunteerMoneyMap.keySet());
|
|
|
- List<VolunteerAccount> oldVolunteerAccountList = volunteerAccountMapper.selectList(volunteerAccountQueryWrapper);*/
|
|
|
//更新表,直接解冻。
|
|
|
UpdateWrapper<OrderFrozenFunds> updateFrozenWrapper = new UpdateWrapper<OrderFrozenFunds>().in("order_frozen_funds_id", orderFrozenFundsIdList).set("status", 1);
|
|
|
orderFrozenFundsMapper.update(null,updateFrozenWrapper);
|
|
@@ -72,8 +65,7 @@ public class Monitor {
|
|
|
for (PlatformFinance platformFinance : sourceTypePlatformList) {
|
|
|
platformFinance.setRemark("奖金");
|
|
|
}
|
|
|
-
|
|
|
- System.out.println("只剩change记录和余额变动了");
|
|
|
+ /*System.out.println("只剩change记录和余额变动了");*/
|
|
|
// ---------------------------
|
|
|
//解冻后:
|
|
|
//判断,如果志愿者有多个订单???????????
|
|
@@ -83,16 +75,22 @@ public class Monitor {
|
|
|
//生成所有的记录对象
|
|
|
volunteerAccountChangeGroupByVId.forEach((volunteerId,orderFrozenFunds) -> {
|
|
|
//查看用户当前的余额
|
|
|
- BigDecimal oldVolunteerBalance = jdbcTemplate.queryForObject("select balance from l_volunteer_account where volunteer_id = ? FOR UPDATE",
|
|
|
+ BigDecimal oldVolunteerBalance = jdbcTemplate.queryForObject("select balance from l_volunteer_account where volunteer_id = ? ",
|
|
|
BigDecimal.class, volunteerId);
|
|
|
//生成所有的记录
|
|
|
List<Object[]> volunteerAccountChanges = new ArrayList<>();
|
|
|
- BigDecimal theBalance = oldVolunteerBalance;
|
|
|
+ BigDecimal beforeChangeBalance = BigDecimal.valueOf(0);
|
|
|
+
|
|
|
for (OrderFrozenFunds orderFrozenFund : orderFrozenFunds) {
|
|
|
- BigDecimal volunteerAddMoney = theBalance.add(orderFrozenFund.getVolunteerMoney());
|
|
|
- volunteerAccountChanges.add(new Object[]{volunteerId,1,1,volunteerAddMoney,orderFrozenFund.getVolunteerMoney(),volunteerAddMoney.add(orderFrozenFund.getVolunteerMoney())
|
|
|
+ volunteerAccountChanges.add(new Object[]{volunteerId,1,1,orderFrozenFund.getVolunteerMoney(),beforeChangeBalance.add(oldVolunteerBalance),orderFrozenFund.getVolunteerMoney().add(beforeChangeBalance).add(oldVolunteerBalance)
|
|
|
});
|
|
|
- theBalance = volunteerAddMoney;
|
|
|
+ beforeChangeBalance = beforeChangeBalance.add(orderFrozenFund.getVolunteerMoney());
|
|
|
+
|
|
|
+ if (orderFrozenFund.getScoreMoney() != null && orderFrozenFund.getScoreMoney().compareTo(BigDecimal.ZERO) != 0){
|
|
|
+ volunteerAccountChanges.add(new Object[]{volunteerId,1,1,orderFrozenFund.getScoreMoney(),beforeChangeBalance.add(oldVolunteerBalance),orderFrozenFund.getScoreMoney().add(beforeChangeBalance).add(oldVolunteerBalance)
|
|
|
+ });
|
|
|
+ }
|
|
|
+ beforeChangeBalance = beforeChangeBalance.add(orderFrozenFund.getScoreMoney());
|
|
|
}
|
|
|
//批量插入记录
|
|
|
jdbcTemplate.batchUpdate("insert into l_volunteer_account_change (volunteer_id,change_type,source_type,change_money,before_balance,after_balance) values (?,?,?,?,?,?)" , volunteerAccountChanges);
|
|
@@ -100,24 +98,28 @@ public class Monitor {
|
|
|
|
|
|
//还是获取map<userId,list<解冻数据>>
|
|
|
|
|
|
- //生成所有的记录对象
|
|
|
+/*
|
|
|
+ //生成所有的奖金记录对象
|
|
|
volunteerAccountChangeGroupByVId.forEach((volunteerId,orderFrozenFunds) -> {
|
|
|
//查看用户当前的余额
|
|
|
- BigDecimal oldVolunteerBalance = jdbcTemplate.queryForObject("select balance from l_volunteer_account where volunteer_id = ? FOR UPDATE",
|
|
|
+ BigDecimal oldVolunteerBalance = jdbcTemplate.queryForObject("select balance from l_volunteer_account where volunteer_id = ? ",
|
|
|
BigDecimal.class, volunteerId);
|
|
|
//生成所有的记录
|
|
|
List<Object[]> volunteerAccountChanges = new ArrayList<>();
|
|
|
- BigDecimal theBalance = oldVolunteerBalance;
|
|
|
+ BigDecimal beforeChangeBalance = BigDecimal.valueOf(0);
|
|
|
for (OrderFrozenFunds orderFrozenFund : orderFrozenFunds) {
|
|
|
- BigDecimal volunteerAddMoney = theBalance.add(orderFrozenFund.getScoreMoney());
|
|
|
- volunteerAccountChanges.add(new Object[]{volunteerId,1,2,volunteerAddMoney,orderFrozenFund.getScoreMoney(),volunteerAddMoney.add(orderFrozenFund.getScoreMoney())
|
|
|
+ if (orderFrozenFund.getScoreMoney() != null && orderFrozenFund.getScoreMoney().compareTo(BigDecimal.ZERO) != 0){
|
|
|
+ volunteerAccountChanges.add(new Object[]{volunteerId,1,1,orderFrozenFund.getScoreMoney(),beforeChangeBalance.add(oldVolunteerBalance),orderFrozenFund.getScoreMoney().add(beforeChangeBalance).add(oldVolunteerBalance)
|
|
|
});
|
|
|
- theBalance = volunteerAddMoney;
|
|
|
+ }
|
|
|
+ beforeChangeBalance = beforeChangeBalance.add(orderFrozenFund.getScoreMoney());
|
|
|
}
|
|
|
//批量插入记录
|
|
|
jdbcTemplate.batchUpdate("insert into l_volunteer_account_change (volunteer_id,change_type,source_type,change_money,before_balance,after_balance) values (?,?,?,?,?,?)" , volunteerAccountChanges);
|
|
|
});
|
|
|
+*/
|
|
|
|
|
|
+ /* */
|
|
|
|
|
|
//解冻后:
|
|
|
//获取冻结表中的志愿者id和志愿者总共需要解冻到账户的金额 封装成map集合 有相同的 也直接加起来。
|