Merge remote-tracking branch 'origin/apps_dev' into apps_dev
This commit is contained in:
commit
326ea88fce
Binary file not shown.
@ -621,6 +621,50 @@ public class CoeCooperationAPIManager {
|
||||
CooperationCache.updateTeamInfo(teamId);
|
||||
}
|
||||
|
||||
public void addPermDataToTeamAndRole(String teamId, String permId){
|
||||
// 1、向小组权限中添加数据
|
||||
CoeCooperationTeamPermModel teamPerm = new CoeCooperationTeamPermModel(UUIDGener.getUUID(), teamId, permId);
|
||||
new CoeCooperationTeamPermDao().insert(teamPerm);
|
||||
|
||||
// 2、获取小组下非隐藏角色(用户权限)的角色
|
||||
List<CoeCooperationRoleModel> coeCooperationRoleModels = queryCooperationRoleList(teamId);
|
||||
for (CoeCooperationRoleModel roleModel : coeCooperationRoleModels) {
|
||||
// 判断是否设定的默认全部权限
|
||||
if (!CoeCooperationConst.PERM_ALL.equals(roleModel.getDataPerm())) {
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, roleModel.getId(), permId);
|
||||
new CoeCooperationRolePermDao().insert(rolePerm);
|
||||
}
|
||||
}
|
||||
//更新用户权限缓存
|
||||
CooperationCache.updateTeamInfo(teamId);
|
||||
}
|
||||
|
||||
// 批量添加数据
|
||||
public void addPermDataToTeamAndRoleBatch(String teamId, Set<String> permIds){
|
||||
// 1、向小组权限中添加数据
|
||||
List<CoeCooperationTeamPermModel> permModels = permIds.stream().map(permId -> {
|
||||
CoeCooperationTeamPermModel teamPerm = new CoeCooperationTeamPermModel(UUIDGener.getUUID(), teamId, permId);
|
||||
return teamPerm;
|
||||
}).collect(Collectors.toList());
|
||||
new CoeCooperationTeamPermDao().batchInsert(permModels);
|
||||
|
||||
// 2、获取小组下非隐藏角色(用户权限)的角色
|
||||
List<CoeCooperationRoleModel> coeCooperationRoleModels = queryCooperationRoleList(teamId);
|
||||
for (CoeCooperationRoleModel roleModel : coeCooperationRoleModels) {
|
||||
// 判断是否设定的默认全部权限
|
||||
if (!CoeCooperationConst.PERM_ALL.equals(roleModel.getDataPerm())) {
|
||||
List<CoeCooperationRolePermModel> permRoleModels = permIds.stream().map(permId -> {
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, roleModel.getId(), permId);
|
||||
return rolePerm;
|
||||
}).collect(Collectors.toList());
|
||||
new CoeCooperationRolePermDao().batchInsert(permRoleModels);
|
||||
}
|
||||
}
|
||||
|
||||
//更新用户权限缓存
|
||||
CooperationCache.updateTeamInfo(teamId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户在指定小组中的角色
|
||||
* @param teamId
|
||||
|
||||
@ -8363,8 +8363,8 @@ public class CoeProcessLevelWeb extends ActionWeb {
|
||||
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
|
||||
allTeamInfo.parallelStream().forEach(teamInfo -> {
|
||||
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
|
||||
if (isPerm){
|
||||
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
|
||||
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
|
||||
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -8471,8 +8471,8 @@ public class CoeProcessLevelWeb extends ActionWeb {
|
||||
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
|
||||
allTeamInfo.parallelStream().forEach(teamInfo -> {
|
||||
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
|
||||
if (isPerm){
|
||||
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
|
||||
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
|
||||
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -8628,8 +8628,8 @@ public class CoeProcessLevelWeb extends ActionWeb {
|
||||
List<TeamInfo> allTeamInfo = CoeCooperationAPIManager.getInstance().getAllTeamInfo();
|
||||
allTeamInfo.parallelStream().forEach(teamInfo -> {
|
||||
boolean isPerm = teamInfo.getVersionIds().stream().anyMatch(teamPermId -> teamPermId.equals(parentId));
|
||||
if (isPerm){
|
||||
CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), model.getVersionId());
|
||||
if (isPerm && !teamInfo.getVersionIds().contains(model.getVersionId())){ // 当前新建的文件 父级有权限且自身没在小组权限中
|
||||
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRole(teamInfo.getTeamId(), model.getVersionId());
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -11042,7 +11042,10 @@ public String deleteReply(String replyid, String messageid) {
|
||||
if (isPerm){
|
||||
Set<String> toBeInsertPermIds = new HashSet<>();
|
||||
recursionLookUp(targetId, toBeInsertPermIds);
|
||||
toBeInsertPermIds.forEach(permId -> CoeCooperationAPIManager.getInstance().addRepositoryToTeamAndRolePerm(teamInfo.getTeamId(), permId));
|
||||
toBeInsertPermIds = toBeInsertPermIds.stream()
|
||||
.filter(permId -> !teamInfo.getVersionIds().contains(permId))
|
||||
.collect(Collectors.toSet());
|
||||
CoeCooperationAPIManager.getInstance().addPermDataToTeamAndRoleBatch(teamInfo.getTeamId(), toBeInsertPermIds);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user