diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java index 13db70d2..6926a8aa 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java @@ -7,11 +7,18 @@ import lombok.Data; @Data @AllArgsConstructor public class ShopEatTypeInfoDTO { + // 是否外带 private boolean isTakeout; + // 是否快餐 private boolean isMunchies; + // 是否后付费 private boolean isDineInAfter; + // 是否先付费 private boolean isDineInBefore; + // 是否需要餐位费 private boolean needSeatFee; + // 是否无桌台下单 + private boolean isNoneTable; private TbShopInfo shopInfo; private String useType; private Object shopId; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index cb167d41..0b91d414 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -151,7 +151,26 @@ public class TbShopTableServiceImpl implements TbShopTableService { return getShopEatTypeInfoDTO(shopId, eatModel, tableId); } + /** + * 校验就餐模式是否存在并返回就餐类型信息 + * + * @param tableId 台桌id + * @param shopId 店铺id + * @return 就餐类型信息 + */ + 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); + } + /** + * 通过店铺id和就餐模式获取当前店铺的就餐类型信息 + * + * @param shopId 店铺id + * @param eatModel 就餐模式 + * @param tableId 台桌id + * @return just餐类型信息 + * */ private ShopEatTypeInfoDTO getShopEatTypeInfoDTO(Object shopId, String eatModel, String tableId) { TbShopInfo shopInfo = mpShopInfoMapper.selectOne(new LambdaQueryWrapper() .eq(TbShopInfo::getId, shopId) @@ -172,8 +191,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { boolean isDineInBefore = isMunchies && !isTakeout; boolean needSeatFee = shopInfo.getIsTableFee() == null || shopInfo.getIsTableFee() == 0; + boolean isNoneTable = StrUtil.isBlank(tableId) && !isTakeout; - return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() : + return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, isNoneTable, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() : isMunchies ? OrderUseTypeEnum.DINE_IN_BEFORE.getValue() : OrderUseTypeEnum.DINE_IN_AFTER.getValue(), shopId, tableId, isTakeout ? OrderSendTypeEnums.TAKE_SELF.getValue() : OrderSendTypeEnums.TABLE.getValue()); } @@ -1797,8 +1817,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { LambdaQueryWrapper query = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, choseCountDTO.getShopId()) .and(q -> q.eq(TbCashierCart::getMasterId, choseCountDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId).or().eq(TbCashierCart::getMasterId, "")) - .eq(TbCashierCart::getProductId, "-999") - .eq(TbCashierCart::getSkuId, "-999") + .eq(TbCashierCart::getProductId, TableConstant.CART_SEAT_ID) .eq(TbCashierCart::getUseType, choseCountDTO.getUseType()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue()) @@ -1925,10 +1944,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public Object choseModel(ChoseModelDTO choseModelDTO) { - if (!OrderUseTypeEnum.TAKEOUT.getValue().equals(choseModelDTO.getUseType()) && StrUtil.isBlank(choseModelDTO.getTableId())) { - throw new BadRequestException("堂食tableId必须传递"); - // 外带设置餐位费 - } +// if (!OrderUseTypeEnum.TAKEOUT.getValue().equals(choseModelDTO.getUseType()) && StrUtil.isBlank(choseModelDTO.getTableId())) { +// throw new BadRequestException("堂食tableId必须传递"); +// // 外带设置餐位费 +// } List cashierCarts = cashierCartMapper.selectList(new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, choseModelDTO.getShopId())