package com.srs.dormitory.service;

import com.srs.common.core.domain.AjaxResult;
import com.srs.dormitory.domain.DmsHolidayStayApplication;
import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.dormitory.domain.Dto.ApplicationListDto;
import com.srs.dormitory.domain.Dto.CheckoutApplicationDto;
import com.srs.dormitory.domain.Dto.HolidayStayApplicationDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 假期留宿申请表 服务类
 * </p>
 *
 * @author szz
 * @since 2023年07月31日
 */
public interface IDmsHolidayStayApplicationService extends IService<DmsHolidayStayApplication> {

    /**
     * 提交假期留校申请表
     * @param applicationDto
     * @return
     */
    AjaxResult addHolidayStayApplication(HolidayStayApplicationDto applicationDto);

    /**
     * 查看假期留宿申请详情
     * @param id 假期留宿申请表Id
     * @return
     */
    AjaxResult getHolidayStayApplication(Long id);

    /**
     * 批量删除假期留宿申请表
     * @param ids 假期留宿申请表Id列表
     * @return
     */
    AjaxResult batchDeleteHolidayStayApplication(List<Long> ids);

    /**
     * 查看假期留宿申请表列表
     * @param dto
     * @return
     */
    List<Map<String, Object>> getList(ApplicationListDto dto);

    /**
     * 取消申请
     * @param id 申请表id
     * @return
     */
    AjaxResult cancel(Long id);
}
