package com.bonus.canteen.core.allocation.canteen.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bonus.canteen.core.allocation.canteen.dto.AllocMobileCanteenQueryDTO;
import com.bonus.canteen.core.allocation.canteen.dto.AllocStallModifyDTO;
import com.bonus.canteen.core.allocation.canteen.dto.ModifyStallIfReserveDTO;
import com.bonus.canteen.core.allocation.canteen.model.AllocStall;
import com.bonus.canteen.core.allocation.canteen.param.AllocCanteenStallPageParam;
import com.bonus.canteen.core.allocation.canteen.vo.AllocStallVO;

import java.time.LocalDate;
import java.util.List;

public interface AllocStallService extends IService<AllocStall> {

   AllocStall getAllocStallCache(Long stallId);

   List<LocalDate> listReserveDate(AllocMobileCanteenQueryDTO queryDTO);

   boolean checkCanteenStallRelation(Long canteenId);

   void modifyBusinessState(Long stallId, Integer businessState);

   Page<AllocStallVO> pageStall(AllocCanteenStallPageParam param);

   void checkStallNameExist(String stallName, Long stallId);

   void saveStall(AllocStall allocStall);

   void correctStallNum();

   void modifyByStallId(AllocStallModifyDTO stallModifyDTO, Long stallId);

   void deleteStall(Long stallId);

   void modifyStallIfReserve(ModifyStallIfReserveDTO reserveDTO);

   String getLatestStallNum(Long superId);
}
