From cedc78e76e6d031060b557e313316fb8efc1a3fc Mon Sep 17 00:00:00 2001 From: cb <642514070@qq.com> Date: Sat, 14 Jun 2025 21:37:33 +0800 Subject: [PATCH] no message --- .../java/com/ghy/order/domain/OrderMaster.java | 2 ++ .../order/service/impl/OrderMasterServiceImpl.java | 5 +++-- .../resources/mapper/order/OrderMasterMapper.xml | 7 +++++-- .../ghy/quartz/service/impl/OrderServiceImpl.java | 14 ++++++++++---- 4 files changed, 20 insertions(+), 8 deletions(-) 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()); }