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

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.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,20 +46,27 @@ 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 orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId());
if(orderMaster.getOrderStatus() != OrderStatus.PLAIN.code()){
orderMaster.setOrderStatus(orderStatus);
orderMasterMapper.updateOrderMaster(orderMaster);
}
}
return result;
}