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 a0af361..b012363 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()); @@ -633,8 +643,12 @@ public class OrderService { if (StringUtils.isEmpty(shopId)) { return Result.fail(CodeEnum.SHOPINFONOEXIST); } - - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(Integer.valueOf(shopId), tableId); + ShopEatTypeInfoDTO shopEatTypeInfoDTO; + if (StrUtil.isBlank(tableId)) { + shopEatTypeInfoDTO = getEatModelUnCheck(Integer.valueOf(shopId), tableId); + }else { + shopEatTypeInfoDTO = checkEatModel(Integer.valueOf(shopId), tableId); + } String day = DateUtils.getDay(); String finalMasterId1 = masterId; @@ -889,8 +903,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("店内就餐必须选择桌码"); diff --git a/src/main/resources/mapper/TbProductMapper.xml b/src/main/resources/mapper/TbProductMapper.xml index 6e95051..bf0d4c5 100644 --- a/src/main/resources/mapper/TbProductMapper.xml +++ b/src/main/resources/mapper/TbProductMapper.xml @@ -486,6 +486,7 @@ and a.name like CONCAT('%',#{commdityName},'%') + and type != 'coupon' and b.is_grounding=1 GROUP BY a.id ORDER BY a.`sort` @@ -512,6 +513,8 @@ and a.name like CONCAT('%',#{commdityName},'%') + and type != 'coupon' + and b.is_grounding=1 GROUP BY a.id ORDER BY a.`sort` @@ -524,6 +527,8 @@ and a.name like CONCAT('%',#{commdityName},'%') + and type != 'coupon' + and b.is_grounding=0 GROUP BY a.id ORDER BY a.`sort`