修改子单信息接口问题修复

This commit is contained in:
donqi 2022-06-23 15:37:48 +08:00
parent 00e14f4170
commit ae31838c9d
1 changed files with 12 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package com.ghy.order.service.impl;
import com.ghy.common.constant.UserConstants; import com.ghy.common.constant.UserConstants;
import com.ghy.common.core.text.Convert; import com.ghy.common.core.text.Convert;
import com.ghy.common.enums.OrderStatus;
import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderDetail;
import com.ghy.order.domain.OrderMaster; import com.ghy.order.domain.OrderMaster;
import com.ghy.order.mapper.OrderDetailMapper; import com.ghy.order.mapper.OrderDetailMapper;
@ -45,19 +46,26 @@ public class OrderDetailServiceImpl implements OrderDetailService {
@Override @Override
public int updateOrderDetail(OrderDetail orderDetail) { public int updateOrderDetail(OrderDetail orderDetail) {
if(orderDetail.getOrderStatus() == null){
return orderDetailMapper.updateOrderDetail(orderDetail);
}
int orderStatus = orderDetail.getOrderStatus(); int orderStatus = orderDetail.getOrderStatus();
boolean flag = Boolean.TRUE; boolean flag = Boolean.TRUE;
int result = orderDetailMapper.updateOrderDetail(orderDetail); 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) { if (detail.getOrderStatus() < orderStatus) {
flag = false; flag = false;
} }
} }
if(flag){ if(flag){
OrderMaster orderMaster = orderMasterMapper.selectById(orderDetailMapper.selectById(orderDetail.getId()).getOrderMasterId()); OrderMaster orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId());
orderMaster.setOrderStatus(orderStatus); if(orderMaster.getOrderStatus() != OrderStatus.PLAIN.code()){
orderMasterMapper.updateOrderMaster(orderMaster); orderMaster.setOrderStatus(orderStatus);
orderMasterMapper.updateOrderMaster(orderMaster);
}
} }
return result; return result;
} }