package com.blueland.bpm.identity;

import java.util.List;

import com.blueland.bpm.identity.model.Role;
import com.blueland.bpm.identity.model.Userrole;



public interface RoleService {
	/**
	 * 获取所有角色列表
	 * @return	角色对象列表
	 */
	List<Role> findAllRole();
	/**
	 * 根据角色ID来获取角色对象
	 * @param roleId	角色ID
	 * @return	角色对象
	 */
	Role getRoleById(String roleId);
	/**
	 * 根据用户ID来获取用户绑定的角色列表
	 * @param userId	用户ID
	 * @return	角色对象列表
	 */
	List<Role> findRoleByUserId(String userId);
	/**
	 * 根据角色对象做为查询条件来获取角色列表
	 * @param paramEntity	角色对象
	 * @return	角色对象列表
	 */
	List<Role> findRoleByEntityCriteria(Role paramEntity);
	/**
	 * 判断用户ID是否存在该角色中
	 * @param roleId	角色ID
	 * @param userId	用户ID
	 * @return	true:是,false:否
	 */
	boolean isUserInRole(String roleId,String userId);
	
	/**
	 * 添加用户角色
	 * @param users
	 * @param roleAppId
	 * @param roleId
	 * @return
	 */
	Boolean addUsers2Role(Userrole userrole);
	/**
	 * 删除用户角色
	 * @param users
	 * @param roleAppId
	 * @param roleId
	 * @return
	 */
    int delUsers2Role(Userrole userrole);
    /**
     * 根据userCode得到角色权限
     * @param userCode
     * @return
     */
	List<Role> findRoleByUserCode(String userCode);
}
