package com.sckw.system.dao;

import com.sckw.system.model.KwsRole;
import com.sckw.system.model.vo.res.RoleResVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * 角色
 * @author zk
 * @date 2023-05-31
 */
@Mapper
public interface KwsRoleDao {
    /**
     * 新增
     * @param record
     * @return
     */
    int insert(KwsRole record);

    /**
     * 更新
     * @param record
     * @return
     */
    int update(KwsRole record);

    /**
     * 详情查询
     * @param id
     * @return
     */
    KwsRole selectByKey(Long id);

    /**
     * 查询
     * @param params
     * @return
     * @throws Exception
     */
    List<RoleResVo> findPage(Map<String, Object> params);

    /**
     * @param  userId 用户id
     * @return KwsRoleResDto
     * @desc: 根据用户id查角色
     * @author: czh
     * @date: 2023/6/12
     */
    List<KwsRole> queryRoleByUserId(Long userId);

    /**
     * @param id 主键id
     * @return
     * @desc: 根据主键批量查
     * @author: czh
     * @date: 2023/6/14
     */
    List<KwsRole> selectBatchByKeys(@Param(value = "list") List<Long> id);

    /**
     * @param list 机构/企业id集合
     * @return KwsRole
     * @desc: 根据机构id批量查
     * @author: czh
     * @date: 2023/6/14
     */
    List<KwsRole> selectBatchByUnitIds(List<Long> list);

}
