package org.dromara.system.service.xiake;


import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.xiake.bo.XiakeConfigBo;
import org.dromara.system.domain.xiake.vo.XiakeConfigVo;

import java.util.Collection;
import java.util.List;

/**
 * 下课时间配置Service接口
 *
 * @author boman
 * @date 2023-08-16
 */
public interface IXiakeConfigService {

    /**
     * 查询下课时间配置
     */
    XiakeConfigVo queryById(Long configId);
    /**
     * 根据键名查询参数配置信息
     *
     * @param bo 参数键名
     * @return 参数键值
     */
    String selectConfigByKey(XiakeConfigBo bo);
    /**
     * 根据参数键名修改参数值
     */
    int updateConfigValue(XiakeConfigBo bo);



    /**
     * 查询下课时间配置列表
     */
    TableDataInfo<XiakeConfigVo> queryPageList(XiakeConfigBo bo, PageQuery pageQuery);

    /**
     * 查询下课时间配置列表
     */
    List<XiakeConfigVo> queryList(XiakeConfigBo bo);

    /**
     * 新增下课时间配置
     */
    Boolean insertByBo(XiakeConfigBo bo);

    /**
     * 修改下课时间配置
     */
    Boolean updateByBo(XiakeConfigBo bo);

    /**
     * 校验并批量删除下课时间配置信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 加载参数缓存数据
     */
    public void loadingConfigCache();

    /**
     * 清空参数缓存数据
     */
    public void clearConfigCache();

    /**
     * 重置参数缓存数据
     */
    public void resetConfigCache();
}
