diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java
index 1b4f0171..f374c4ac 100644
--- a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java
+++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java
@@ -235,4 +235,6 @@ public class OrderMaster extends BaseEntity {
private String countryName;
private String streetName;
+
+ private Integer withdrawn;
}
diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java
index dc8422dd..364371e6 100644
--- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java
+++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java
@@ -351,8 +351,9 @@ public class OrderMasterServiceImpl implements OrderMasterService {
logger.error("自动发起提现失败: orderMasterId={}, memberId={}, cashAmt={}", orderMasterId, memberId, amount, e);
}
}));
-// //主订单提现成功 修改主订单状态为已完成
- updateStatus(orderMasterId, OrderStatus.Pending.code());
+// //主订单提现成功 修改主订单状态为提现中
+ orderMaster.setWithdrawn(1);
+ updateOrderMaster(orderMaster);
}
/**
diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml
index e3034597..a7fe4106 100644
--- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml
+++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml
@@ -50,6 +50,7 @@
+
@@ -97,7 +98,8 @@
country_name ,
street_name ,
phone,
- has_dispatched_all
+ has_dispatched_all,
+ withdrawn
FROM order_master
@@ -145,7 +147,8 @@
om.country_name ,
om.street_name ,
om.phone,
- om.has_dispatched_all
+ om.has_dispatched_all,
+ om.withdrawn
FROM order_master om
LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id
LEFT JOIN goods g ON g.goods_id = om.goods_id
diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
index abf075b1..76590757 100644
--- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
+++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
@@ -130,15 +130,21 @@ public class OrderServiceImpl implements OrderService {
return;
}
List list=new ArrayList<>();
- list.add(OrderStatus.Pending.code());
- List orderMasterFinish = orderMasterService.selectByStatus(list);
+ list.add(OrderStatus.FINISH_CHECK.code());
+ OrderMaster orderMasterFinishCheck = new OrderMaster();
+ orderMasterFinishCheck.setOrderStatus(OrderStatus.FINISH_CHECK.code());
+ orderMasterFinishCheck.setWithdrawn(1);
+ List orderMasterFinish = orderMasterService.selectOrderMasterList(orderMasterFinishCheck);
for (OrderMaster orderMaster:orderMasterFinish){
+ log.info("满足完成条件的主订单{}",orderMaster);
List orderDetailList=orderDetailService.selectByOrderMasterId(orderMaster.getId());
boolean allDrawCashStatusIs2 = orderDetailList != null
&& orderDetailList.stream()
.allMatch(detail -> detail.getDrawCashStatus() == 2);
if (allDrawCashStatusIs2){
- orderMasterService.updateStatus(orderMaster.getId(),OrderStatus.FINISH.code());
+ orderMaster.setWithdrawn(2);
+ orderMaster.setOrderStatus(OrderStatus.FINISH.code());
+ orderMasterService.updateOrderMaster(orderMaster);
}
}
@@ -692,7 +698,7 @@ public class OrderServiceImpl implements OrderService {
}
}
// 如果已经不存在"已完成"和"已取消"以外的子订单 就把主订单也改为完成
- if (allFinish) {
+ if (allFinish&&om.getWithdrawn()==null) {
log.info("主订单自动完成[id={} code={}]", om.getId(), om.getCode());
orderMasterService.finish(om.getId());
}