package com.artfess.uc.manager;
import java.time.LocalDateTime;
import java.util.List;
import com.artfess.base.manager.BaseManager;
import com.artfess.base.query.PageList;
import com.artfess.base.query.QueryFilter;
import com.artfess.uc.model.UserRole;
/**
*
*
* 描述:用户角色管理 处理接口
* 构建组:x5-bpmx-platform
* 作者:ray
* 邮箱:zhangyg@jee-soft.cn
* 日期:2016-06-30 10:28:34
* 版权:广州宏天软件有限公司
*
*/
public interface UserRoleManager extends BaseManager{
/**
* 删除所有已逻辑删除的实体(物理删除)
* @param entityId 实体对象ID
*/
Integer removePhysical();
/**
* 根据用户和角色id 查询 关联关系。
* @param roleId
* @param userId
* @return
*/
UserRole getByRoleIdUserId(String roleId,String userId);
/**
* 获取用户的角色。
* @param userId
* @return
*/
List getListByUserId(String userId);
/**
* 根据角色ID查询关联的用户。
* @param roleId
* @return
*/
List getListByRoleId(String roleId);
/**
* 根据角色别名查询关联的用户。
* @param roleId
* @return
*/
List getListByAlias(String alias);
/**
* 保存用户与角色的关系(排他性保存,除了传入的角色以外,用户拥有的其他角色会被删除)
* @param account 用户账号
* @param roleCode 角色代码
*/
void saveUserRole(String account, String...roleCodes) throws Exception;
/**
* 获取用户的角色列表
* @param queryFilter
* @return
*/
PageList getUserRolePage(QueryFilter queryFilter);
void removeByUserId(String id, LocalDateTime now);
void removeByRoleId(String roleId, LocalDateTime now);
/**
* 批量插入
* @param list
* @return
*/
boolean insertBatch(List list);
}