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