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; }