新增文件接口中调整权限赋予位置,用户权限缓存补充对隐藏角色权限
This commit is contained in:
parent
c3d516f7ae
commit
524cd4a96c
Binary file not shown.
@ -482,21 +482,38 @@ public class CoeCooperationAPIManager {
|
||||
}
|
||||
}
|
||||
if (addToRolePerm) {
|
||||
//Todo: 根据权限转化新建文件权限
|
||||
CoeCooperationMemberModel memberModel = new CoeCooperationMemberDao().getModelByTeamUser(teamId, userId);
|
||||
String roleId = memberModel.getRoleId();
|
||||
CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().getInstance(roleId);
|
||||
// 判断是否设定的默认全部权限
|
||||
if (!CoeCooperationConst.PERM_ALL.equals(roleModel.getDataPerm())) {
|
||||
// 获取现有角色数据权限,判断是否已存在
|
||||
List<String> rolePermList = new CoeCooperationRolePermDao().getRolePermListByRole(teamId, roleId);
|
||||
if (!rolePermList.contains(palVersionId)) {
|
||||
// 添加
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, roleId, palVersionId);
|
||||
new CoeCooperationRolePermDao().insert(rolePerm);
|
||||
//新版权限向隐藏角色中添加
|
||||
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
||||
if (isOlderVersion){
|
||||
CoeCooperationMemberModel memberModel = new CoeCooperationMemberDao().getModelByTeamUser(teamId, userId);
|
||||
String roleId = memberModel.getRoleId();
|
||||
CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().getInstance(roleId);
|
||||
// 判断是否设定的默认全部权限
|
||||
if (!CoeCooperationConst.PERM_ALL.equals(roleModel.getDataPerm())) {
|
||||
// 获取现有角色数据权限,判断是否已存在
|
||||
List<String> rolePermList = new CoeCooperationRolePermDao().getRolePermListByRole(teamId, roleId);
|
||||
if (!rolePermList.contains(palVersionId)) {
|
||||
// 添加
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, roleId, palVersionId);
|
||||
new CoeCooperationRolePermDao().insert(rolePerm);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//查询用户权限
|
||||
CoeCooperationRoleModel hideRole = new CoeCooperationRoleDao().getCooperationHideRoleByRoleName(teamId, userId);
|
||||
if (!CoeCooperationConst.PERM_ALL.equals(hideRole.getDataPerm())) {
|
||||
// 获取用户权限,判断是否已存在
|
||||
List<String> rolePermList = new CoeCooperationRolePermDao().getRolePermListByRole(teamId, hideRole.getId());
|
||||
if (!rolePermList.contains(palVersionId)) {
|
||||
// 添加角色权限
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, hideRole.getId(), palVersionId);
|
||||
new CoeCooperationRolePermDao().insert(rolePerm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//更新用户权限缓存
|
||||
CooperationCache.updateTeamInfo(teamId);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -855,6 +872,11 @@ public class CoeCooperationAPIManager {
|
||||
}else {
|
||||
userInfo.getRoleIds().add(memberModel.getRoleId());
|
||||
}
|
||||
//加载隐藏角色
|
||||
CoeCooperationRoleModel hideRole = new CoeCooperationRoleDao().getCooperationHideRoleByRoleName(teamId, memberModel.getUserId());
|
||||
if (null != hideRole && !userInfo.getRoleIds().contains(hideRole.getId())){
|
||||
userInfo.getRoleIds().add(hideRole.getId());
|
||||
}
|
||||
userMap.put(memberModel.getUserId(),userInfo);
|
||||
}
|
||||
|
||||
@ -883,6 +905,7 @@ public class CoeCooperationAPIManager {
|
||||
Set<String> set = new HashSet<>();
|
||||
for (String roleId : roleIds) {
|
||||
CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().queryById(roleId);
|
||||
//TODO:可在这里做隐藏角色判断,判断是否为新版权限,否则去除isUser为1的角色
|
||||
if (null == roleModel){
|
||||
continue;
|
||||
}
|
||||
@ -897,6 +920,7 @@ public class CoeCooperationAPIManager {
|
||||
Set<String> set = new HashSet<>();
|
||||
for (String roleId : roleIds) {
|
||||
CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().queryById(roleId);
|
||||
//TODO:可在这里做隐藏角色判断,判断是否为新版权限,否则去除isUser为1的角色
|
||||
if (null == roleModel){
|
||||
continue;
|
||||
}
|
||||
@ -910,6 +934,7 @@ public class CoeCooperationAPIManager {
|
||||
private boolean isAllDataPerm(List<String> roleIds){
|
||||
for (String roleId : roleIds) {
|
||||
CoeCooperationRoleModel roleModel = new CoeCooperationRoleDao().queryById(roleId);
|
||||
//TODO:可在这里做隐藏角色判断,判断是否为新版权限,否则去除isUser为1的角色
|
||||
if (null == roleModel){
|
||||
continue;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user