Commit 0bbf16c1 by zhangkb

修改根据标签获取数据接口

parent 47823d22
......@@ -707,6 +707,13 @@ public class TagService {
Map<String,Object> tagData = repoService.getTagMetadata(dimensionType,
idPath,keyword, modelPath,pageNum, pageSize,tagType);
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 {
......@@ -720,31 +727,62 @@ public class TagService {
tagData.put("numberOfElements",0);
return tagData;
}else {
//比较标签关联的元数据所属系统跟用户被授予的系统是否一致
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");
//如果是元数据
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