package com.cl.privilege.biz;
import java.util.List;
import com.cl.privilege.model.Role;
import com.cl.privilege.model.RoleSearchModel;
import com.cl.privilege.model.User;
/**
* 角色表相关操作
*/
public interface IRoleService {
/**
* 根据id获取Role对象
* @param id
* @return
*/
Role getRoleById(Integer id);
/**
* 新增记录
* @param role
* @param user
* @return
*/
Integer createRole(Role role,User user);
/**
* 根据id修改一条记录
* @param role
* @return
*/
Integer updateRoleById(Role role,User user);
/**
* 根据id删除角色
* @param id
* @return
*/
Integer deleteRoleById(Integer id);
/**
* 根据条件查询角色列表总数
* @return
*/
Integer getRoleTotalBySearch(RoleSearchModel searchModel);
/**
* 根据条件查询角色列表
* @return
*/
List<Role> getRoleListBySearch(RoleSearchModel searchModel);
/**
* 角色是否被用户使用
* @param roleId
* @return
*/
Boolean isUsedByUser(Integer roleId);
/**
* 根据选择的字符串(,分割),对角色赋予模块和资源
* @param roleId
* @param checkedStr
*/
String assignModuleAndResource(Integer roleId,String checkedStr);
/**
* 根据userId获取关联的权限列表
* @param userId
* @return
*/
List<Role> getRoleListByUserId(Integer userId);
/**
* 所有角色列表
* @return
*/
List<Role> getRoleList();
/**
* 根据查询条件,返回DataTables控件需要的Json数据格式
* @param searchModel
* @return
*/
String getRoleDataTables(RoleSearchModel searchModel);
/**
* 返回DataTables控件需要的一行Json数据格式
* @param id
* @return
*/
String getRoleDataRow(Integer id);
/**
* 返回jquery-multi-select需要的options数据
* @param userId
* @return
*/
String getRoleForOptions(Integer userId);
}