From c726bf91d48d23a1e35e822ed34829e0fd3dfdb4 Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Fri, 20 Jun 2025 11:33:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E9=85=8D=E4=BB=B6=E4=B8=BB=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6=E6=B4=BE=E5=8F=91=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E4=B8=BB=E5=8D=95=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ghy/web/controller/order/OrderController.java | 9 +++++---- .../web/controller/order/OrderMasterController.java | 6 ++++++ .../main/java/com/ghy/order/domain/OrderMaster.java | 5 +++++ .../main/resources/mapper/order/OrderMasterMapper.xml | 10 ++++++++-- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 8ba8ff95..06d1c4f1 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -1953,9 +1953,9 @@ public class OrderController extends BaseController { return AjaxResult.error("当前订单不是配件订单,无法生成服务订单"); } - // 检查是否已经有对应的服务商品 - if (accessoryOrderMaster.getServerGoodsId() == null) { - return AjaxResult.error("配件订单未关联服务商品,无法生成服务订单"); + // 检查是否已经派发过服务订单 + if (accessoryOrderMaster.getHasServiceOrder() != null && accessoryOrderMaster.getHasServiceOrder() == 1) { + return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作"); } // 获取服务商品信息 @@ -2043,10 +2043,11 @@ public class OrderController extends BaseController { ); orderGoodsService.insertOrderGoods(serviceOrderGoods); - // 更新配件主单,关联生成的服务订单 + // 更新配件主单,关联生成的服务订单并标记已派发服务订单 OrderMaster accessoryUpdate = new OrderMaster(); accessoryUpdate.setId(accessoryOrderMaster.getId()); accessoryUpdate.setRemark(accessoryOrderMaster.getRemark() + " [已生成服务订单:" + serviceOrderMaster.getCode() + ",服务金额:" + serviceMoney + "]"); + accessoryUpdate.setHasServiceOrder(1); // 标记已派发服务订单 orderMasterService.updateOrderMaster(accessoryUpdate); // 通知服务师傅新订单 diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index bf4a90b8..681e5101 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -1790,6 +1790,12 @@ public class OrderMasterController extends BaseController { // 退还服务金额到商品订单 refundServerMoneyToGoodsOrder(orderMaster.getGoodsOrderMasterId(), orderMaster.getServerGoodsMoney()); + + // 重置配件主单的服务订单派发状态 + OrderMaster goodsOrderUpdate = new OrderMaster(); + goodsOrderUpdate.setId(orderMaster.getGoodsOrderMasterId()); + goodsOrderUpdate.setHasServiceOrder(0); // 重置为未派发状态 + orderMasterService.updateOrderMaster(goodsOrderUpdate); } // 清空id 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 bd17fc51..5b0e6906 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 @@ -245,4 +245,9 @@ public class OrderMaster extends BaseEntity { private Long goodsOrderMasterId; private String trackingNumber; + + /** + * 是否已派发服务订单:0=未派发,1=已派发 + */ + private Integer hasServiceOrder; } diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index ead64433..a785e59d 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -55,6 +55,7 @@ + @@ -107,7 +108,8 @@ server_goods_id, goods_order_master_id, tracking_number, - server_goods_money + server_goods_money, + has_service_order FROM order_master @@ -160,7 +162,8 @@ om.server_goods_id, om.goods_order_master_id, om.tracking_number, - om.server_goods_money + om.server_goods_money, + om.has_service_order 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 @@ -456,6 +459,7 @@ goods_order_master_id = #{goodsOrderMasterId}, tracking_number = #{trackingNumber}, server_goods_money = #{serverGoodsMoney}, + has_service_order = #{hasServiceOrder}, update_time = SYSDATE() WHERE id = #{id} @@ -514,6 +518,7 @@ goods_order_master_id, tracking_number, server_goods_money, + has_service_order, create_time )VALUES( #{deptId}, @@ -553,6 +558,7 @@ #{goodsOrderMasterId}, #{trackingNumber}, #{serverGoodsMoney}, + #{hasServiceOrder}, SYSDATE() )