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