修改子订单完成的逻辑
This commit is contained in:
parent
5606c8fdbc
commit
adecf6be3b
|
|
@ -366,19 +366,6 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
|
||||
// 更新订单状态
|
||||
orderDetailMapper.updateStatus(orderDetailId, OrderStatus.FINISH.code());
|
||||
List<OrderDetail> orderDetails = orderDetailMapper.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
Set<Integer> statusSet = orderDetails.stream().map(OrderDetail::getOrderStatus).collect(Collectors.toSet());
|
||||
boolean allFinish = true;
|
||||
for (Integer integer : statusSet) {
|
||||
if (integer < 5) {
|
||||
allFinish = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
|
||||
if (allFinish) {
|
||||
orderMasterMapper.updateStatus(orderDetail.getOrderMasterId(), OrderStatus.FINISH.code());
|
||||
}
|
||||
|
||||
// 加价单手续费补偿成功与否
|
||||
boolean compensate = false;
|
||||
|
|
@ -514,6 +501,25 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
logger.error("自动发起提现失败: 子订单code={}, deptId={}, memberId={}", odCode, financialDetail.getDeptId(), memberId, e);
|
||||
}
|
||||
// --------------------- 自动提现流程 end ---------------------
|
||||
|
||||
// --------------------- 触发主订单完单流程 start ---------------------
|
||||
try {
|
||||
List<OrderDetail> orderDetails = orderDetailMapper.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
Set<Integer> statusSet = orderDetails.stream().map(OrderDetail::getOrderStatus).collect(Collectors.toSet());
|
||||
boolean allFinish = true;
|
||||
for (Integer integer : statusSet) {
|
||||
if (integer < 5) {
|
||||
allFinish = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
|
||||
if (allFinish) {
|
||||
orderMasterService.finish(orderDetail.getOrderMasterId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue