《优化需求23.5.29反馈-6.6更新》中小组权限问题相关代码删除

This commit is contained in:
qinoy 2023-07-12 10:47:57 +08:00
parent 6b60c9a557
commit 6e44cecf3f
5 changed files with 0 additions and 109 deletions

View File

@ -283,23 +283,11 @@ public class CooperationWeb extends ActionWeb {
msg = "保存小组管理员信息";
if (isOk && repositoryVerIds.size() > 0) {
// 创建权限信息
Set<String> toBeInsertPermIds = new HashSet<>();
List<CoeCooperationTeamPermModel> perms = new ArrayList<>();
for (int i = 0; i < repositoryVerIds.size(); i++) {
CoeCooperationTeamPermModel perm = new CoeCooperationTeamPermModel(UUIDGener.getUUID(), teamId, repositoryVerIds.getString(i));
perms.add(perm);
// 将当前数据的所有直接父级也加权限
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(repositoryVerIds.getString(i));
if (repositoryModel == null) continue;
String parentId = repositoryModel.getParentId();
recursionLookUp(parentId, toBeInsertPermIds);
}
for (String permId : toBeInsertPermIds) {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamId, permId);
}
isOk = api.createCooperationTeamPerms(perms);
msg = "保存小组数据权限信息";
}
@ -389,23 +377,11 @@ public class CooperationWeb extends ActionWeb {
if (repositoryVerIds.size() > 0) {
// 创建权限信息
Set<String> toBeInsertPermIds = new HashSet<>();
List<CoeCooperationTeamPermModel> perms = new ArrayList<>();
for (int i = 0; i < repositoryVerIds.size(); i++) {
CoeCooperationTeamPermModel perm = new CoeCooperationTeamPermModel(UUIDGener.getUUID(), teamId, repositoryVerIds.getString(i));
perms.add(perm);
// 将当前数据的所有直接父级也加权限
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(repositoryVerIds.getString(i));
if (repositoryModel == null) continue;
String parentId = repositoryModel.getParentId();
recursionLookUp(parentId, toBeInsertPermIds);
}
for (String permId : toBeInsertPermIds) {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamId, permId);
}
isOk = api.createCooperationTeamPerms(perms);
msg = "更新小组数据权限信息";

View File

@ -588,39 +588,6 @@ public class CoeCooperationAPIManager {
return true;
}
/**
* 向小组及其下的非隐藏角色的权限数据中添加数据
* @param teamId
* @param palVersionId
*/
public void addRepositoryToTeamAndRolePerm(String teamId, String palVersionId){
// 1向小组权限中添加数据
List<String> teamPermList = queryCooperationTeamPermVerIds(teamId);
// 获取现有数据权限判断是否已存在
if (!teamPermList.contains(palVersionId)) {
// 添加
CoeCooperationTeamPermModel teamPerm = new CoeCooperationTeamPermModel(UUIDGener.getUUID(), teamId, palVersionId);
new CoeCooperationTeamPermDao().insert(teamPerm);
}
// 2获取小组下非隐藏角色用户权限的角色
List<CoeCooperationRoleModel> coeCooperationRoleModels = queryCooperationRoleList(teamId);
for (CoeCooperationRoleModel roleModel : coeCooperationRoleModels) {
// 判断是否设定的默认全部权限
if (!CoeCooperationConst.PERM_ALL.equals(roleModel.getDataPerm())) {
// 获取现有角色数据权限判断是否已存在
List<String> rolePermList = new CoeCooperationRolePermDao().getRolePermListByRole(teamId, roleModel.getId());
if (!rolePermList.contains(palVersionId)){
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, roleModel.getId(), palVersionId);
new CoeCooperationRolePermDao().insert(rolePerm);
}
}
}
//更新用户权限缓存
CooperationCache.updateTeamInfo(teamId);
}
/**
* 查询用户在指定小组中的角色
* @param teamId

View File

@ -4,7 +4,6 @@ import com.actionsoft.apps.AppPlatformConfig;
import com.actionsoft.apps.AppsConst;
import com.actionsoft.apps.coe.pal.cooperation.CoeCooperationAPIManager;
import com.actionsoft.apps.coe.pal.cooperation.cache.CooperationCache;
import com.actionsoft.apps.coe.pal.cooperation.cache.model.TeamInfo;
import com.actionsoft.apps.coe.pal.cooperation.constant.CoeCooperationConst;
import com.actionsoft.apps.coe.pal.cooperation.model.CoeCooperationMemberModel;
import com.actionsoft.apps.coe.pal.cooperation.model.CoeCooperationTeamModel;
@ -8358,17 +8357,6 @@ public class CoeProcessLevelWeb extends ActionWeb {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(_uc, teamId, model.getVersionId(), true, true);
}
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
for (TeamInfo teamInfo : allTeamInfo) {
Set<String> teamPermVersionIds = teamInfo.getVersionIds();
if (teamPermVersionIds.contains(parentId)){ // 当前新增的架构/文件夹的父级在小组权限中
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
}
}
}
// 操作行为日志记录
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_REPOSITORY, CoEOpLogConst.OP_CREATE, CoEOpLogConst.INFO_REPOSITORY_CREATE);
@ -8466,17 +8454,6 @@ public class CoeProcessLevelWeb extends ActionWeb {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(_uc, teamId, model.getVersionId(), true, true);
}
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
for (TeamInfo teamInfo : allTeamInfo) {
Set<String> teamPermVersionIds = teamInfo.getVersionIds();
if (teamPermVersionIds.contains(parentId)){ // 当前新增的架构/文件夹的父级在小组权限中
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
}
}
}
ro.put("id", id);
// 操作行为日志记录
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
@ -8623,17 +8600,6 @@ public class CoeProcessLevelWeb extends ActionWeb {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(_uc, teamId, model.getVersionId(), true, true);
}
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
for (TeamInfo teamInfo : allTeamInfo) {
Set<String> teamPermVersionIds = teamInfo.getVersionIds();
if (teamPermVersionIds.contains(parentId)){ // 当前新增的架构/文件夹的父级在小组权限中
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
}
}
}
ro.put("id", id);
// 操作行为日志记录
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
@ -11035,24 +11001,6 @@ public String deleteReply(String replyid, String messageid) {
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_REPOSITORY, CoEOpLogConst.OP_UPDATE, CoEOpLogConst.INFO_REPOSITORY_MOVE_UPDATE);
}
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
for (TeamInfo teamInfo : allTeamInfo) {
boolean isPerm = false; // 移动的文件/文件夹/架构 只要有一个在当前小组数据权限中 目标文件/文件夹/架构及所有直接父级都放入小组权限中
Set<String> teamInfoPermIds = teamInfo.getVersionIds();
Set<String> toBeInsertPermIds = new HashSet<>();
for (PALRepositoryModel repositoryModel : sourceList) {
isPerm = teamInfoPermIds.contains(repositoryModel.getVersionId());
if (isPerm) break;
}
if (isPerm){
recursionLookUp(targetId, toBeInsertPermIds);
for (String permId : toBeInsertPermIds) {
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), permId);
}
}
}
/**
* by bzp
*/