|
@@ -113,9 +113,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
} else {
|
|
|
throw new RuntimeException("该支付方式还未开通退款功能");
|
|
|
}
|
|
|
- //修改状态已取消,用主订单Id
|
|
|
- UpdateWrapper<MainOrders> mainOrderUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", "6");
|
|
|
- mainOrdersMapper.update(null, mainOrderUpdateWrapper);
|
|
|
+ updatePlatformFinanceChange(secondOrderList,0,1,2);
|
|
|
|
|
|
//平台资金流水表,扣减调总价。
|
|
|
List<PlatformFinance> platformFinanceList = secondOrderList.stream().map(secondOrder -> {
|
|
@@ -125,10 +123,10 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
.build();
|
|
|
}).collect(Collectors.toList());
|
|
|
platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
|
|
|
- //修改,小订单表
|
|
|
- UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().eq("main_order_id", mainOrderId).set("order_status", "6");
|
|
|
- secondOrdersMapper.update(null, secondOrderUpdateWrapper);
|
|
|
|
|
|
+ //修改主、小订单状态 全额退款,设置主订单的状态为6 已取消
|
|
|
+ mainOrders.setOrderStatus("6");
|
|
|
+ updateMainOrderAndSeconderStatus(mainOrders,"7");
|
|
|
//修改志愿者的工作时间以及日期
|
|
|
updateVolunteerWorkDateAndTime(secondOrderList, mainOrders);
|
|
|
|
|
@@ -245,29 +243,22 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
//更改状态 更改更新时间,更改审批状态、退款钱数、原因、图片。
|
|
|
orderRefund.setUpdateTime(DateTimeUtil.getNowTime());
|
|
|
lOrderRefundMapper.updateLOrderRefund(orderRefund);
|
|
|
- //小订单修改状态,并且
|
|
|
+
|
|
|
+ //查询要修改的小订单的列表
|
|
|
QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId).eq("order_status", "1");
|
|
|
List<SecondOrder> secondOrderList = secondOrdersMapper.selectList(secondOrderQueryWrapper);
|
|
|
- List<Long> secondOrderIdList = secondOrderList.stream().map(SecondOrder::getSecondOrderId).collect(Collectors.toList());
|
|
|
- UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().in("second_order_id", secondOrderIdList).set("order_status", "6");
|
|
|
- secondOrdersMapper.update(null, secondOrderUpdateWrapper);
|
|
|
|
|
|
//修改志愿者的工作时间以及日期
|
|
|
updateVolunteerWorkDateAndTime(secondOrderList,mainOrders);
|
|
|
|
|
|
- //向平台流水表更改,减少其中的流水;
|
|
|
- List<PlatformFinance> platformFinanceList = secondOrderList.stream().map(secondOrder -> {
|
|
|
- new PlatformFinance();
|
|
|
- return PlatformFinance.builder()
|
|
|
- .changeMoney(secondOrder.getServiceOnePrice()).changeType(0).moneyType(1).sourceType(2).secondOrderId(secondOrder.getSecondOrderId()).volunteerId(secondOrder.getVolunteerId())
|
|
|
- .build();
|
|
|
- }).collect(Collectors.toList());
|
|
|
- platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
|
|
|
+ //部分退款,设置主订单的状态为 7
|
|
|
+ mainOrders.setOrderStatus("7");
|
|
|
+ //调用方法来修改主、小订单的状态
|
|
|
+ updateMainOrderAndSeconderStatus(mainOrders,"6");
|
|
|
|
|
|
- //主订单修改状态
|
|
|
- UpdateWrapper<MainOrders> mainOrdersMapperUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", 7);
|
|
|
- mainOrdersMapper.update(null, mainOrdersMapperUpdateWrapper);
|
|
|
|
|
|
+ //向平台流水表更改,减少其中的流水;
|
|
|
+ updatePlatformFinanceChange(secondOrderList,0,1,2);
|
|
|
|
|
|
} else if (orderRefund.getStatus().equals("3")) {
|
|
|
//不通过
|
|
@@ -275,7 +266,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
orderRefund.setRefundAmount(BigDecimal.valueOf(0));
|
|
|
orderRefund.setUpdateTime(DateTimeUtil.getNowTime());
|
|
|
//主订单修改状态 返回之前的状态
|
|
|
- if (mainOrders.getTotalTimes() == mainOrders.getFinishTimes()) {
|
|
|
+ if (mainOrders.getTotalTimes().equals(mainOrders.getFinishTimes())) {
|
|
|
UpdateWrapper<MainOrders> mainOrdersMapperUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", 4);
|
|
|
mainOrdersMapper.update(null, mainOrdersMapperUpdateWrapper);
|
|
|
} else {
|
|
@@ -316,4 +307,28 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
workDateMapper.update(null, volunteerWorkDateUpdateWrapper12);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //修改主、小订单的状态 小订单退款都是固定为6
|
|
|
+ public void updateMainOrderAndSeconderStatus(MainOrders mainOrders,String secondOrderStatus){
|
|
|
+ Long mainOrderId = mainOrders.getMainOrderId();
|
|
|
+ String mainOrdersOrderStatus = mainOrders.getOrderStatus();
|
|
|
+ //修改状态已取消,用主订单Id
|
|
|
+ UpdateWrapper<MainOrders> mainOrderUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status",mainOrdersOrderStatus);
|
|
|
+ mainOrdersMapper.update(null, mainOrderUpdateWrapper);
|
|
|
+ //修改,小订单表
|
|
|
+ UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().eq("main_order_id", mainOrderId).eq("order_status","1").set("order_status", secondOrderStatus);
|
|
|
+ secondOrdersMapper.update(null, secondOrderUpdateWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ //订单退款,向平台流水中添加数据
|
|
|
+ public void updatePlatformFinanceChange(List<SecondOrder> secondOrderList,Integer changeType,Integer moneyType, Integer sourceType){
|
|
|
+ //平台资金流水表,扣减调总价。
|
|
|
+ List<PlatformFinance> platformFinanceList = secondOrderList.stream().map(secondOrder -> {
|
|
|
+ new PlatformFinance();
|
|
|
+ return PlatformFinance.builder()
|
|
|
+ .changeMoney(secondOrder.getServiceOnePrice()).changeType(changeType).moneyType(moneyType).sourceType(sourceType).secondOrderId(secondOrder.getSecondOrderId()).volunteerId(secondOrder.getVolunteerId())
|
|
|
+ .build();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
|
|
|
+ }
|
|
|
}
|