package com.dcit.authority.service;

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

import com.dcit.authority.dto.RoleResourcesInfoDTO;
import com.dcit.authority.dto.UserRoleMenuInfoDTO;
import com.dcit.authority.model.SysRole;
import com.dcit.authority.model.SysRoleExample;
import com.dcit.authority.model.SysRoleResources;


/**
* <p>Title: AuthRoles</p>
* <p>Description: </p>
* <p>Company: SJZ DC-IT co. LTD</p> 
* @author ZZZ
* @date 2018年9月6日 上午10:11:59
*/
public interface SysRoleService {
	
	int countByExample(SysRoleExample example);

    int deleteByExample(SysRoleExample example);

    int deleteByPrimaryKey(String id);

    int insert(SysRole record);

    int insertSelective(SysRole record);

    List<SysRole> selectByExample(SysRoleExample example);

    SysRole selectByPrimaryKey(String id);

    int updateByExampleSelective(SysRole record, SysRoleExample example);

    int updateByExample(SysRole record, SysRoleExample example);

    int updateByPrimaryKeySelective(SysRole record);

    int updateByPrimaryKey(SysRole record);
	
    boolean authorityRoleResource(String roleId, String resourceId);

    boolean addRole(SysRole role);

    boolean updateRole(SysRole role);

    boolean deleteRoleByRoleId(String roleId);

    List<SysRole> getRoleList();
    
    List<RoleResourcesInfoDTO> selectRoleResourcesByRoleId(Map<String, Object> map);
    
    List<UserRoleMenuInfoDTO> selectUserRoleMenuByRoleId(Map<String, Object> map);
    
    int deleteRoleResourcesByRoleId(String roleId);
    
    int addRoleResources(SysRoleResources sysRoleResources);
    
}
