From ae31838c9d94264fa89b639e56a714daf170902b Mon Sep 17 00:00:00 2001 From: donqi Date: Thu, 23 Jun 2022 15:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=90=E5=8D=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderDetailServiceImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 4cefaccc..9ac184f6 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -2,6 +2,7 @@ package com.ghy.order.service.impl; import com.ghy.common.constant.UserConstants; import com.ghy.common.core.text.Convert; +import com.ghy.common.enums.OrderStatus; import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderMaster; import com.ghy.order.mapper.OrderDetailMapper; @@ -45,19 +46,26 @@ public class OrderDetailServiceImpl implements OrderDetailService { @Override public int updateOrderDetail(OrderDetail orderDetail) { + if(orderDetail.getOrderStatus() == null){ + return orderDetailMapper.updateOrderDetail(orderDetail); + } int orderStatus = orderDetail.getOrderStatus(); boolean flag = Boolean.TRUE; int result = orderDetailMapper.updateOrderDetail(orderDetail); + // 查子单信息 + OrderDetail detailInfo = this.orderDetailMapper.selectById(orderDetail.getId()); // 判断是否需要更新主单状态.即是否有 - for (OrderDetail detail : orderDetailMapper.selectByOrderMasterId(orderDetail.getOrderMasterId())) { + for (OrderDetail detail : orderDetailMapper.selectByOrderMasterId(detailInfo.getOrderMasterId())) { if (detail.getOrderStatus() < orderStatus) { flag = false; } } if(flag){ - OrderMaster orderMaster = orderMasterMapper.selectById(orderDetailMapper.selectById(orderDetail.getId()).getOrderMasterId()); - orderMaster.setOrderStatus(orderStatus); - orderMasterMapper.updateOrderMaster(orderMaster); + OrderMaster orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId()); + if(orderMaster.getOrderStatus() != OrderStatus.PLAIN.code()){ + orderMaster.setOrderStatus(orderStatus); + orderMasterMapper.updateOrderMaster(orderMaster); + } } return result; }