|
@@ -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);
|
|
|
|
+}
|