package jnpf.permission.service; import jnpf.base.service.SuperService; import jnpf.permission.entity.UserEntity; import jnpf.permission.entity.UserRelationEntity; import jnpf.permission.model.position.PosistionCurrentModel; import jnpf.permission.model.user.page.UserPagination; import jnpf.permission.model.user.vo.UserListVO; import jnpf.permission.model.userrelation.UserRelationForm; import java.util.List; /** * 用户关系 * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司 * @date 2019年9月26日 上午9:18 */ public interface UserRelationService extends SuperService { /** * 查询关联用户列表(分页) * * @param pagination * @return */ List getListPage(UserPagination pagination); /** * 根据用户主键获取列表 * * @param userId 用户主键 * @return */ List getListByUserId(String userId); List getListByUserIdAndObjType(String userId, String objectType); /** * 根据用户主键获取列表 * * @param userId 用户主键 * @return */ List getListByUserIdAll(List userId); /** * 根据对象主键获取列表 * * @param objectId 对象主键 * @return */ List getListByObjectId(String objectId); /** * 根据对象主键获取列表 * * @param objectType * @return */ List getListByObjectType(String objectType); List getListByObjectId(String objectId, String objectType); /** * 根据对象主键获取列表 * * @param objectId 对象主键 * @return */ List getListByObjectIdAll(List objectId); /** * 根据对象主键删除数据 * * @param objId 对象主键 * @return */ void deleteAllByObjId(String objId); /** * 删除用户所有的关联关系 * * @param userId 用户ID */ void deleteAllByUserId(String userId); /** * 保存用户关系 * * @param userRelationEntityList 用户关系集合 */ void createByList(List userRelationEntityList); /** * 信息 * * @param id 主键值 * @return */ UserRelationEntity getInfo(String id); /** * 创建 * * @param objectId 对象主键 * @param entitys 实体对象 */ void save(String objectId, List entitys); /** * 创建 * * @param list 实体对象 */ void save(List list); /** * 删除 * * @param form 主键值 */ void delete(UserRelationForm form); /** * 添加岗位、分组、角色成员 */ void saveObjectId(String objectId, UserRelationForm userRelationForm); /** * 通过用户id查询用户组织关系 * * @param userIds */ List getRelationByUserIds(List userIds); /** * 获取用户组织/岗位/角色集合 * * @param userId * @return */ List getListByObjectType(String userId, String objectType); /** * 获取用户所有组织关系 * * @param userId 用户id * @return 组织关系集合 */ List getAllOrgRelationByUserId(String userId); /** * 获取个人信息页面用户岗位列表 */ List getObjectVoList(); /** * 判断岗位/角色与用户是否存在关联关系 * * @param objectType 类型 * @param objectId 岗位/角色ID * @return 存在判断 */ Boolean existByObj(String objectType, String objectId); Boolean existByObj(String objectType, List objectId); /** * 获取用户组织关联关系,通过组织ID */ List getListByRoleId(String roleId); /** * 根据用户id获取关系 * * @param userId 用户主键 * @param objectType 类型 * @return */ List getListByUserId(String userId, String objectType); /** * 判断组织下有哪些人 * * @param orgIdList 组织id * @return */ List getListByOrgId(List orgIdList); /** * 把钉钉用户的组织关联生成 * * @param sysObjId * @param deptIdList */ void syncDingUserRelation(String sysObjId, List deptIdList, String thirdType); List getUserProgeny(List idList, String enableMark); List getUserAndSub(List idList, String enableMark); }