fix: 转桌必须要求目标桌已开台

This commit is contained in:
张松
2024-12-12 11:07:21 +08:00
parent 90210d304c
commit 082e12d95a

View File

@@ -3370,7 +3370,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (switchTableDTO.isFull()) {
cashierCarts = mpCashierCartService.selectByShopEatTypeAndOrderId(shopEatTypeInfoDTO, switchTableDTO.getMasterId(), switchTableDTO.getOrderId(),
true, TableConstant.OrderInfo.Status.CREATE, TableConstant.OrderInfo.Status.RETURN);
}else {
} else {
if (switchTableDTO.getCartIds().isEmpty()) {
throw new BadRequestException("请选择转单商品");
}
@@ -3400,6 +3400,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
}
if (targetOrderId == null) {
throw new BadRequestException("目标桌未开台");
}
// 修改原有购物车数据
ArrayList<Integer> cartIds = new ArrayList<>();
Integer orderId = switchTableDTO.getOrderId();
@@ -3441,7 +3445,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
mpOrderInfoService.removeById(orderId);
}
if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() != totalSize){
if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() != totalSize) {
// 重新创建订单数据
CreateOrderDTO createOrderDTO = new CreateOrderDTO();
createOrderDTO.setMasterId(switchTableDTO.getMasterId());
@@ -3451,15 +3455,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
createOrder(createOrderDTO, false);
}
if (targetOrderId != null) {
// 重新创建订单数据
CreateOrderDTO createOrderDTO = new CreateOrderDTO();
createOrderDTO.setMasterId(masterId);
createOrderDTO.setShopId(switchTableDTO.getShopId());
createOrderDTO.setTableId(switchTableDTO.getTargetTableId());
createOrderDTO.setUseType(targetShopEatTypeInfoDTO.getUseType());
createOrder(createOrderDTO, false);
}
// 重新创建订单数据
CreateOrderDTO createOrderDTO = new CreateOrderDTO();
createOrderDTO.setMasterId(masterId);
createOrderDTO.setShopId(switchTableDTO.getShopId());
createOrderDTO.setTableId(switchTableDTO.getTargetTableId());
createOrderDTO.setUseType(targetShopEatTypeInfoDTO.getUseType());
createOrder(createOrderDTO, false);
return true;