/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package io.renren.modules.sys.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.renren.modules.sys.entity.SysRoleMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色与菜单对应关系
 *
 * @author Mark sunlightcs@gmail.com
 */
@Mapper
public interface SysRoleMenuDao extends BaseMapper<SysRoleMenuEntity> {
	
	/**
	 * 根据角色ID，获取菜单ID列表
	 */
	List<Long> queryMenuIdList(Long roleId);

	/**
	 * 根据角色ID数组，批量删除
	 */
	int deleteBatch(Long[] roleIds);

    /**
     * 查看权限特殊处理  35  155  单独进行实体查询
     */
    SysRoleMenuEntity getInfoByRM(@Param("roleId") String roleId, @Param("menuId") String menuId);

    /**
     * 根据角色id 和功能菜单id 获取查看所有的列表
     * @param roleId
     * @param menuId
     * @return
     */
    List<SysRoleMenuEntity> getInfoByRMCK(@Param("roleId") String roleId,@Param("menuId") String menuId);

    /**
     * 根据角色id 和菜单id批量插入查看权限
     * @param roleId
     * @param menuId
     */
    void insertCk(@Param("roleId") String roleId,@Param("menuId") String menuId);

    /**
     * 根据角色id 和功能菜单id 获取编辑权限所有的列表
     * @param roleId
     * @param menuId
     * @return
     */
    List<SysRoleMenuEntity> getInfoByRMBJ(@Param("roleId") String roleId,@Param("menuId") String menuId);

    /**
     * 根据角色id 和菜单id批量插入编辑权限
     * @param roleId
     * @param menuId
     */
    void insertBJ(@Param("roleId") String roleId,@Param("menuId") String menuId);

    /**
     * 根据查询出来的所有信息去删除
     * @param listSysRME
     */
    void deleteBySysRMList(List<SysRoleMenuEntity> listSysRME);

}
