Commit 67ea9c1d by zhangkb

修改标签获取内容接口

parent 6278783e
......@@ -709,85 +709,85 @@ public class TagService {
//获取用户关联的数据权限
Map<Long, Set<String>> systemTagMap = GrantedAuthHelper.getDataPrivileges();
tagData.put("systemTagMap", systemTagMap);
List<Map<String,Object>> content = (List<Map<String,Object>>)tagData.get("content");
//判断不是个人标签
if(!dimensionType.equals("0")) {
for(Map<String,Object> mData : content) {
mData.put("operable", "1");
}
return tagData;
}
if(content.isEmpty()) {
return tagData;
}else {
logger.info("tag metadata user privilege:"+systemTagMap);
if(systemTagMap.isEmpty()) {
tagData.put("content", new String[0]);
tagData.put("totalElements",0);
tagData.put("totalPages",0);
tagData.put("numberOfElements",0);
return tagData;
}else {
//如果是元数据
if(StringUtils.isBlank(modelPath)) {
//比较标签关联的元数据所属系统跟用户被授予的系统是否一致
for(Map<String,Object> mData : content) {
mData.put("operable", "0");
if(mData.get("sysList")!=null) {
List<String> sysList = (List<String>)mData.get("sysList");
//比较系统,有同个系统的则为可见的共享标签
for(String sys : sysList) {
if(systemTagMap.get(Long.valueOf(sys))!=null) {
if(systemTagMap.get(Long.valueOf(sys)).contains("*")) {
mData.put("operable", "1");
}else {
//根据当前用户被授予的标签获取关联的元数据
Set<String> tags = systemTagMap.get(Long.valueOf(sys));
for(String usrTag : tags) {
Map<String,Object> userTagData = repoService.getTagMetadata("1",
usrTag, "", null, 1, 100000,"1");
List<Map<String,Object>> tagContent = (List<Map<String,Object>>)userTagData.get("content");
if(tagContent.contains(mData)) {
mData.put("operable", "1");
}
}
}
}
}
}
}
}else {
//定义存储标签list
List<String> tagList = new ArrayList<>();
//循环用户数据权限map
for (Map.Entry<Long, Set<String>> entry : systemTagMap.entrySet()) {
Set<String> set = entry.getValue();
for(String tag : set) {
if("*".equals(tag)) {
continue;
}
tagList.add(tag);
}
}
for(Map<String,Object> mData : content) {
mData.put("operable", "0");
if(tagList.isEmpty()) {
mData.put("operable", "1");
}else {
for(String usrTag : tagList) {
Map<String,Object> userTagData = repoService.getTagMetadata("1",
usrTag, "", modelPath, 1, 100000,"1");
List<Map<String,Object>> tagContent = (List<Map<String,Object>>)userTagData.get("content");
if(tagContent.contains(mData)) {
mData.put("operable", "1");
}
}
}
}
}
}
}
tagData.put("content", content);
// List<Map<String,Object>> content = (List<Map<String,Object>>)tagData.get("content");
// //判断不是个人标签
// if(!dimensionType.equals("0")) {
// for(Map<String,Object> mData : content) {
// mData.put("operable", "1");
// }
// return tagData;
// }
// if(content.isEmpty()) {
// return tagData;
// }else {
// logger.info("tag metadata user privilege:"+systemTagMap);
// if(systemTagMap.isEmpty()) {
// tagData.put("content", new String[0]);
// tagData.put("totalElements",0);
// tagData.put("totalPages",0);
// tagData.put("numberOfElements",0);
// return tagData;
// }else {
// //如果是元数据
// if(StringUtils.isBlank(modelPath)) {
// //比较标签关联的元数据所属系统跟用户被授予的系统是否一致
// for(Map<String,Object> mData : content) {
// mData.put("operable", "0");
// if(mData.get("sysList")!=null) {
// List<String> sysList = (List<String>)mData.get("sysList");
// //比较系统,有同个系统的则为可见的共享标签
// for(String sys : sysList) {
// if(systemTagMap.get(Long.valueOf(sys))!=null) {
// if(systemTagMap.get(Long.valueOf(sys)).contains("*")) {
// mData.put("operable", "1");
// }else {
// //根据当前用户被授予的标签获取关联的元数据
// Set<String> tags = systemTagMap.get(Long.valueOf(sys));
// for(String usrTag : tags) {
// Map<String,Object> userTagData = repoService.getTagMetadata("1",
// usrTag, "", null, 1, 100000,"1");
// List<Map<String,Object>> tagContent = (List<Map<String,Object>>)userTagData.get("content");
// if(tagContent.contains(mData)) {
// mData.put("operable", "1");
// }
// }
// }
// }
// }
// }
// }
// }else {
// //定义存储标签list
// List<String> tagList = new ArrayList<>();
// //循环用户数据权限map
// for (Map.Entry<Long, Set<String>> entry : systemTagMap.entrySet()) {
// Set<String> set = entry.getValue();
// for(String tag : set) {
// if("*".equals(tag)) {
// continue;
// }
// tagList.add(tag);
// }
// }
// for(Map<String,Object> mData : content) {
// mData.put("operable", "0");
// if(tagList.isEmpty()) {
// mData.put("operable", "1");
// }else {
// for(String usrTag : tagList) {
// Map<String,Object> userTagData = repoService.getTagMetadata("1",
// usrTag, "", modelPath, 1, 100000,"1");
// List<Map<String,Object>> tagContent = (List<Map<String,Object>>)userTagData.get("content");
// if(tagContent.contains(mData)) {
// mData.put("operable", "1");
// }
// }
// }
// }
// }
// }
// }
// tagData.put("content", content);
return tagData;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment