增加无桌台就餐

This commit is contained in:
SongZhang 2024-10-24 11:42:37 +08:00
parent bc90c47f2c
commit db0e01ecf7
2 changed files with 33 additions and 7 deletions

View File

@ -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;

View File

@ -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<TbShopInfo>()
.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<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
.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<TbCashierCart> cashierCarts = cashierCartMapper.selectList(new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, choseModelDTO.getShopId())