package com.yuchen.saas.park.service.service.door;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.door.DoorHolidayGroupDTO;
import com.yuchen.saas.park.api.dto.door.DoorHolidayGroupPlanDTO;
import com.yuchen.saas.park.api.dto.door.DoorHolidayPlanDTO;
import com.yuchen.saas.park.api.entity.door.DoorHolidayGroup;
import com.yuchen.saas.park.api.vo.door.DoorHolidayGroupVO;
import com.yuchen.saas.park.api.vo.door.DoorIotHolidayGroupPlanVO;
import com.yuchen.saas.park.api.vo.door.DoorIotHolidayPlanVO;

import java.util.List;

/**
 * <p>
 * 节假日组 服务类
 * </p>
 *
 * @author miaoqs
 * @since 2023-12-14
 */
public interface DoorHolidayGroupService extends IService<DoorHolidayGroup> {

    /**
     * 新增或修改
     * @param doorHolidayGroupDTO
     * @return
     */
    Boolean saveOrUpdate(DoorHolidayGroupDTO doorHolidayGroupDTO);

    /**
     * 根据id获取详情
     * @param id
     * @return
     */
    DoorHolidayGroupVO detail(Long id);

    /**
     * 根据主键移除
     * @param id
     */
    String deleteById(Long id);

    /**
     * 获取列表
     * @return
     */
    List<DoorHolidayGroup> getList();

    /**
     * 批量删除
     * @param idList
     */
    String batchRemoveId(List<Long> idList);

    /**
     * 调用iot接口 配置人员权限假日计划
     * @param doorHolidayPlanDTO
     * @return
     * @throws Exception
     */
    boolean setIotHolidayPlan(DoorHolidayPlanDTO doorHolidayPlanDTO) throws Exception;

    /**
     * 调用iot接口 配置人员权限假日组
     * @param doorHolidayPlanDTO
     * @return
     */
    boolean setIotHolidayGroupPlan(DoorHolidayPlanDTO doorHolidayPlanDTO) throws Exception;

    /**
     * 调用iot接口 获取人员权限假日组
     * @param doorHolidayPlanDTO
     * @return
     */
    DoorIotHolidayGroupPlanVO getHolidayGroupPlan(DoorHolidayPlanDTO doorHolidayPlanDTO) throws Exception;

    /**
     * 调用iot接口 获取人员权限假日计划
     * @param doorHolidayPlanDTO
     * @return
     */
    DoorIotHolidayPlanVO getIotHolidayPlan(DoorHolidayPlanDTO doorHolidayPlanDTO) throws Exception;
}
