diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index f9e1b49..33cd4e0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -159,7 +159,12 @@ public class OrderService { */ public ShopEatTypeInfoDTO checkEatModel(Object shopId, String tableId) { String eatModel = StrUtil.isBlank(tableId) ? ShopInfoEatModelEnum.TAKE_OUT.getValue() : ShopInfoEatModelEnum.DINE_IN.getValue(); - return getShopEatTypeInfoDTO(shopId, eatModel, tableId); + return getShopEatTypeInfoDTO(shopId, eatModel, tableId, true); + } + + public ShopEatTypeInfoDTO getEatModelUnCheck(Object shopId, String tableId) { + String eatModel = StrUtil.isBlank(tableId) ? ShopInfoEatModelEnum.TAKE_OUT.getValue() : ShopInfoEatModelEnum.DINE_IN.getValue(); + return getShopEatTypeInfoDTO(shopId, eatModel, tableId, false); } /** @@ -171,7 +176,7 @@ public class OrderService { */ public ShopEatTypeInfoDTO checkEatModel(Object shopId, String tableId, String useType) { String eatModel = OrderUseTypeEnum.TAKEOUT.getValue().equals(useType) ? ShopInfoEatModelEnum.TAKE_OUT.getValue() : ShopInfoEatModelEnum.DINE_IN.getValue(); - return getShopEatTypeInfoDTO(shopId, eatModel, tableId); + return getShopEatTypeInfoDTO(shopId, eatModel, tableId, true); } /** @@ -182,14 +187,14 @@ public class OrderService { * @param tableId 台桌id * @return just餐类型信息 */ - private ShopEatTypeInfoDTO getShopEatTypeInfoDTO(Object shopId, String eatModel, String tableId) { + private ShopEatTypeInfoDTO getShopEatTypeInfoDTO(Object shopId, String eatModel, String tableId, boolean isCheckModel) { TbShopInfo shopInfo = mpShopInfoMapper.selectOne(new LambdaQueryWrapper() .eq(TbShopInfo::getId, shopId)); if (shopInfo == null) { throw new MsgException("店铺信息不存在"); } - if (!shopInfo.getEatModel().contains(eatModel)) { + if (!shopInfo.getEatModel().contains(eatModel) && isCheckModel) { throw new MsgException("当前店铺未开启此就餐模式"); } boolean isTakeout = ShopInfoEatModelEnum.TAKE_OUT.getValue().equals(eatModel); @@ -273,8 +278,13 @@ public class OrderService { if (number == null) { return Result.fail(CodeEnum.PARAM); } - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(shopId, tableId); + ShopEatTypeInfoDTO shopEatTypeInfoDTO; + if (StrUtil.isBlank(tableId)) { + shopEatTypeInfoDTO = getEatModelUnCheck(shopId, tableId); + }else { + shopEatTypeInfoDTO = checkEatModel(shopId, tableId); + } // 台桌点单 boolean isSeatCart = productId != null && TableConstant.CashierCart.ID.equals(productId.toString()); @@ -889,8 +899,12 @@ public class OrderService { if (shopInfo == null) { throw new MsgException("店铺信息不存在"); } - - ShopEatTypeInfoDTO eatTypeInfoDTO = checkEatModel(orderVo.getShopId(), orderVo.getTableId()); + ShopEatTypeInfoDTO eatTypeInfoDTO; + if (StrUtil.isBlank(orderVo.getTableId())) { + eatTypeInfoDTO = getEatModelUnCheck(orderVo.getShopId(), orderVo.getTableId()); + }else { + eatTypeInfoDTO = checkEatModel(orderVo.getShopId(), orderVo.getTableId()); + } if (ShopInfoEatModelEnum.DINE_IN.getValue().equals(eatTypeInfoDTO.getUseType()) && StrUtil.isBlank(eatTypeInfoDTO.getUseType())) { throw new MsgException("店内就餐必须选择桌码");