From 18e4e2f5e9872b9e09a13be5f79953a805ea91c5 Mon Sep 17 00:00:00 2001 From: anhc <3442943606@qq.com> Date: Thu, 30 Jun 2022 16:22:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E5=BA=94=E7=94=A8=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E6=9D=83=E9=99=90=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CooperationQueryAPIManager.java | 9 +++++++-- .../cooperation/cache/CooperationCache.java | 18 +++++++++++++----- .../pal/cooperation/cache/model/UserInfo.java | 6 +++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/CooperationQueryAPIManager.java b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/CooperationQueryAPIManager.java index 342aa77f..ac468beb 100644 --- a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/CooperationQueryAPIManager.java +++ b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/CooperationQueryAPIManager.java @@ -2,12 +2,15 @@ package com.actionsoft.apps.coe.pal.cooperation; import com.actionsoft.apps.coe.pal.constant.CoEConstant; +import com.actionsoft.apps.coe.pal.cooperation.aslp.ListApps; import com.actionsoft.apps.coe.pal.cooperation.cache.model.TeamInfo; import com.actionsoft.apps.coe.pal.cooperation.cache.model.UserInfo; import com.actionsoft.apps.coe.pal.cooperation.dao.CoeCooperationMemberDao; import com.actionsoft.apps.coe.pal.cooperation.dao.CoeCooperationRoleDao; import com.actionsoft.apps.coe.pal.cooperation.dao.CoeCooperationRolePermDao; import com.actionsoft.apps.coe.pal.cooperation.dao.CoeCooperationTeamDao; +import com.actionsoft.apps.coe.pal.cooperation.extend.CooperationAppManager; +import com.actionsoft.apps.coe.pal.cooperation.extend.CooperationAppProfile; import com.actionsoft.apps.coe.pal.cooperation.model.CoeCooperationMemberModel; import com.actionsoft.apps.coe.pal.cooperation.model.CoeCooperationRoleModel; import com.actionsoft.apps.coe.pal.cooperation.model.CoeCooperationRolePermModel; @@ -18,8 +21,11 @@ import com.actionsoft.apps.coe.pal.pal.repository.PALRepositoryQueryAPIManager; import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache; import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel; import com.actionsoft.apps.coe.pal.pal.repository.util.CoeProcessLevelUtil; +import com.actionsoft.bpms.commons.mvc.view.ResponseObject; import com.actionsoft.bpms.util.UtilString; import com.actionsoft.i18n.I18nRes; +import com.actionsoft.sdk.local.SDK; +import com.actionsoft.sdk.local.api.AppAPI; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang.StringUtils; @@ -163,8 +169,7 @@ public class CooperationQueryAPIManager { //获取角色信息,设置全局权限 CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().queryById(memberModel.getRoleId()); - List appPermList = Arrays.stream(roleModel.getAppPerm().split(",")).collect(Collectors.toList()); - userInfo.getAppPermission().addAll(appPermList); + userInfo.setAppPermission( roleModel.getAppPerm()); List actionPermList = Arrays.stream(roleModel.getActionPerm().split(",")).collect(Collectors.toList()); userInfo.getOperatePermission().addAll(actionPermList); //设置全部数据权限 diff --git a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/CooperationCache.java b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/CooperationCache.java index fdefb8a0..1247ee21 100644 --- a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/CooperationCache.java +++ b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/CooperationCache.java @@ -4,16 +4,15 @@ import com.actionsoft.apps.coe.pal.cooperation.CooperationQueryAPIManager; import com.actionsoft.apps.coe.pal.cooperation.cache.model.TeamInfo; import com.actionsoft.apps.coe.pal.cooperation.cache.model.UserInfo; import com.actionsoft.apps.coe.pal.cooperation.constant.Constant; +import com.actionsoft.apps.coe.pal.cooperation.extend.CooperationAppManager; +import com.actionsoft.apps.coe.pal.cooperation.extend.CooperationAppProfile; import com.actionsoft.apps.resource.plugin.profile.CachePluginProfile; import com.actionsoft.bpms.commons.cache.Cache; import com.actionsoft.bpms.commons.cache.CacheManager; import com.actionsoft.bpms.util.ConsolePrinter; import com.actionsoft.sdk.local.SDK; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; public class CooperationCache extends Cache { @@ -121,7 +120,16 @@ public class CooperationCache extends Cache { if (null == userInfo){ return new HashSet<>(); } - return userInfo.getAppPermission(); + String appPerm = userInfo.getAppPermission(); + if ("all".equals(appPerm)){ + Set set = new HashSet<>(); + List appProfiles = CooperationAppManager.getList(); + for (CooperationAppProfile profile : appProfiles) { + set.add(profile.getId()); + } + return set; + } + return Arrays.stream(appPerm.split(",")).collect(Collectors.toSet()); } /** diff --git a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/model/UserInfo.java b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/model/UserInfo.java index 5a377326..b79e5b16 100644 --- a/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/model/UserInfo.java +++ b/com.actionsoft.apps.coe.pal.cooperation/src/com/actionsoft/apps/coe/pal/cooperation/cache/model/UserInfo.java @@ -9,7 +9,7 @@ public class UserInfo implements Serializable { private String userid; private List roleIds = new ArrayList<>(); private Set operatePermission = new HashSet<>(); - private Set appPermission = new HashSet<>(); + private String appPermission ; private Map> dataPermission = new HashMap<>(); private boolean isAllDataPermission; @@ -40,11 +40,11 @@ public class UserInfo implements Serializable { this.operatePermission = operatePermission; } - public Set getAppPermission() { + public String getAppPermission() { return appPermission; } - public void setAppPermission(Set appPermission) { + public void setAppPermission(String appPermission) { this.appPermission = appPermission; }