package org.dromara.chat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.chat.domain.ChatConfig;
import org.dromara.chat.domain.bo.ChatConfigBo;
import org.dromara.chat.domain.vo.ChatConfigVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;

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

/**
 * 聊天配置Service接口
 *
 * @author pengles
 */
public interface ChatConfigService extends IService<ChatConfig> {

    /**
     * 查询聊天配置
     */
    ChatConfigVo queryById(Long id);

    /**
     * 查询聊天配置列表
     */
    TableDataInfo<ChatConfigVo> queryPageList(ChatConfigBo bo, PageQuery pageQuery);

    /**
     * 查询聊天配置列表
     */
    List<ChatConfigVo> queryList(ChatConfigBo bo);

    /**
     * 新增聊天配置
     */
    Boolean insertByBo(ChatConfigBo bo);

    /**
     * 修改聊天配置
     */
    Boolean updateByBo(ChatConfigBo bo);

    /**
     * 校验并批量删除聊天配置
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据配置分类查询配置列表
     */
    List<ChatConfigVo> queryListByCategory(String category);

    /**
     * 根据配置名称查询配置
     */
    ChatConfigVo queryByConfigName(String configName);

}