Merge remote-tracking branch 'origin/apps_dev' into apps_dev

This commit is contained in:
Mr-wang 2023-07-27 20:06:37 +08:00
commit 76134d5b14
2 changed files with 47 additions and 39 deletions

View File

@ -8359,15 +8359,17 @@ public class CoeProcessLevelWeb extends ActionWeb {
} }
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限 // 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){ new Thread(() -> {
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo(); if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
allTeamInfo.parallelStream().forEach(teamInfo -> { List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId)); allTeamInfo.parallelStream().forEach(teamInfo -> {
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中 boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId()); if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
} CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
}); }
} });
}
}).start();
// 操作行为日志记录 // 操作行为日志记录
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) { if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
@ -8467,15 +8469,17 @@ public class CoeProcessLevelWeb extends ActionWeb {
} }
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限 // 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){ new Thread(() -> {
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo(); if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
allTeamInfo.parallelStream().forEach(teamInfo -> { List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId)); allTeamInfo.parallelStream().forEach(teamInfo -> {
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中 boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId()); if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
} CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
}); }
} });
}
}).start();
ro.put("id", id); ro.put("id", id);
// 操作行为日志记录 // 操作行为日志记录
@ -8624,15 +8628,17 @@ public class CoeProcessLevelWeb extends ActionWeb {
} }
// 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限 // 新增的架构或者文件夹 自动加权 遍历所有小组 判断父级文件夹/架构是否在该小组下是否有权限
if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){ new Thread(() -> {
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo(); if (UtilString.isNotEmpty(parentId) && parentId.length() == 36){
allTeamInfo.parallelStream().forEach(teamInfo -> { List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId)); allTeamInfo.parallelStream().forEach(teamInfo -> {
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中 boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId()); if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
} CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
}); }
} });
}
}).start();
ro.put("id", id); ro.put("id", id);
// 操作行为日志记录 // 操作行为日志记录
@ -11036,18 +11042,20 @@ public String deleteReply(String replyid, String messageid) {
} }
// 移动的文件/文件夹/架构 只要有一个在当前小组数据权限中 目标文件/文件夹/架构及所有直接父级都放入小组权限中 // 移动的文件/文件夹/架构 只要有一个在当前小组数据权限中 目标文件/文件夹/架构及所有直接父级都放入小组权限中
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo(); new Thread(() -> {
allTeamInfo.parallelStream().forEach(teamInfo -> { List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(verId -> sourceList.stream().anyMatch(palRepositoryModel -> palRepositoryModel.getVersionId().equals(verId))); allTeamInfo.parallelStream().forEach(teamInfo -> {
if (isPerm){ boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(verId -> sourceList.stream().anyMatch(palRepositoryModel -> palRepositoryModel.getVersionId().equals(verId)));
Set<String> toBeInsertPermIds = new HashSet<>(); if (isPerm){
recursionLookUp(targetId, toBeInsertPermIds); Set<String> toBeInsertPermIds = new HashSet<>();
toBeInsertPermIds = toBeInsertPermIds.stream() recursionLookUp(targetId, toBeInsertPermIds);
.filter(permId -> !teamInfo.getVersionIds().contains(permId)) toBeInsertPermIds = toBeInsertPermIds.stream()
.collect(Collectors.toSet()); .filter(permId -> !teamInfo.getVersionIds().contains(permId))
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRoleBatch(teamInfo.getTeamId(), toBeInsertPermIds); .collect(Collectors.toSet());
} CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRoleBatch(teamInfo.getTeamId(), toBeInsertPermIds);
}); }
});
}).start();
/** /**
* by bzp * by bzp