修改主订单结算时影响到子订单的问题
This commit is contained in:
parent
0d43a7f274
commit
1803c04e4c
|
|
@ -33,7 +33,6 @@ import com.huifu.adapay.core.exception.BaseAdaPayException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
|
@ -45,7 +44,10 @@ import java.math.RoundingMode;
|
|||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeFormatterBuilder;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -63,8 +65,6 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
.appendValue(DAY_OF_MONTH, 2).appendValue(HOUR_OF_DAY, 2)
|
||||
.appendValue(MINUTE_OF_HOUR, 2).appendValue(SECOND_OF_MINUTE, 2).toFormatter();
|
||||
|
||||
@Resource
|
||||
private ThreadPoolTaskExecutor executor;
|
||||
@Resource
|
||||
private OrderDetailMapper orderDetailMapper;
|
||||
@Resource
|
||||
|
|
@ -501,25 +501,6 @@ 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
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.ghy.quartz.service.impl;
|
|||
import com.ghy.common.enums.FinancialDetailType;
|
||||
import com.ghy.common.enums.OrderStatus;
|
||||
import com.ghy.order.domain.OrderDetail;
|
||||
import com.ghy.order.domain.OrderMaster;
|
||||
import com.ghy.order.service.OrderDetailService;
|
||||
import com.ghy.order.service.OrderMasterService;
|
||||
import com.ghy.payment.domain.FinancialDetail;
|
||||
|
|
@ -23,6 +24,8 @@ import java.math.BigDecimal;
|
|||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class OrderServiceImpl implements OrderService {
|
||||
|
|
@ -149,5 +152,27 @@ public class OrderServiceImpl implements OrderService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<OrderMaster> orderMasters = orderMasterService.selectUnfinished();
|
||||
for (OrderMaster om : orderMasters) {
|
||||
try {
|
||||
List<OrderDetail> ods = orderDetailService.selectByOrderMasterId(om.getId());
|
||||
Set<Integer> statusSet = ods.stream().map(OrderDetail::getOrderStatus).collect(Collectors.toSet());
|
||||
boolean allFinish = true;
|
||||
for (Integer integer : statusSet) {
|
||||
if (integer < 5) {
|
||||
allFinish = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
|
||||
if (allFinish) {
|
||||
logger.info("主订单可以完成了[id={} code={}]", om.getId(), om.getCode());
|
||||
orderMasterService.finish(om.getId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue