package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.dto.RoleEditDTO;
import com.kcim.dao.model.dto.RoleSaveDTO;
import com.kcim.dao.model.Role;

import java.util.List;

/**
 * 角色
 *
 * @author huangrui
 * @email 
 * @date 2021-08-03 08:56:22
 */
public interface RoleService extends IService<Role> {

    /**
     * 保存角色
     *
     * @param roleSaveDTO {@link RoleSaveDTO}
     */
    void saveRole(RoleSaveDTO roleSaveDTO);

    /**
     * 查询角色列表并分页
     *
     * @param page      页码
     * @param pageSize  每页展示数据条数
     * @param keyword   模糊匹配关键字
     * @param startDate
     * @return {@link PageUtils} 分页对象
     */
    PageUtils selectList(Integer page, Integer pageSize, String keyword, String startDate, String endDate);

    /**
     * 编辑某个角色
     * @param roleEditDTO {@link RoleEditDTO}
     * @param userId 当前登录人id
     */
    void updateRole(RoleEditDTO roleEditDTO, Long userId);

    /**
     * 批量删除角色信息
     * @param asList 角色的Id集合
     */
    void deleteByIds(List<Long> asList);
}

