| 
					
				 | 
			
			
				@@ -0,0 +1,99 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.ankaibei.workFlow.webadmin.upms.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ankaibei.workFlow.common.core.base.service.IBaseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ankaibei.workFlow.webadmin.upms.model.SysPerm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 权限资源数据服务接口。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author Buzhanyi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @date 2022-09-25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public interface SysPermService extends IBaseService<SysPerm, String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 保存新增的权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param perm 新增的权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 新增后的权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SysPerm saveNew(SysPerm perm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 更新权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param perm         更新的权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param originalPerm 原有的权限资源对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 更新成功返回true,否则false。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    boolean update(SysPerm perm, SysPerm originalPerm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 删除权限资源。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param permId 权限资源主键Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 删除成功返回true,否则false。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    boolean remove(String permId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取权限数据列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param sysPermFilter 过滤对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 权限列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    List<SysPerm> getPermListWithRelation(SysPerm sysPermFilter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 将指定用户的指定会话的权限集合存入缓存。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param sessionId  会话Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param userId     用户主键Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param permUrlSet URL集合。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    void putUserSysPermCache(String sessionId, String userId, Set<String> permUrlSet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 将指定会话的权限集合从缓存中移除。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param sessionId 会话Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    void removeUserSysPermCache(String sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取与指定用户关联的权限资源列表,已去重。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param userId 关联的用户主键Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 与指定用户Id关联的权限资源列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Collection<String> getPermListByUserId(Long userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询权限资源地址的用户列表。同时返回详细的分配路径。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param permId    权限资源Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param loginName 登录名。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 包含从权限资源到用户的完整权限分配路径信息的查询结果列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    List<Map<String, Object>> getSysUserListWithDetail(Long permId, String loginName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询权限资源地址的角色列表。同时返回详细的分配路径。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param permId   权限资源Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param roleName 角色名。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 包含从权限资源到角色的权限分配路径信息的查询结果列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    List<Map<String, Object>> getSysRoleListWithDetail(Long permId, String roleName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询权限资源地址的菜单列表。同时返回详细的分配路径。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param permId   权限资源Id。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param menuName 菜单名。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 包含从权限资源到菜单的权限分配路径信息的查询结果列表。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    List<Map<String, Object>> getSysMenuListWithDetail(Long permId, String menuName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |