|
@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -70,13 +71,15 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(dataLevelTreeVo.getId(), childResourceClassify.getCodeValue()))
|
|
|
.code(childResourceClassify.getCodeValue())
|
|
|
.label(childResourceClassify.getCodeName())
|
|
|
+ .dataType(childResourceClassify.getTypeCode())
|
|
|
.treeNode(false)
|
|
|
.pId(dataLevelTreeVo.getId()).build()
|
|
|
).collect(Collectors.toList())
|
|
|
);
|
|
|
|
|
|
- dataResourceClassifyVo.setNodes(dataLevelTreeVo);
|
|
|
-
|
|
|
+ dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataLevelTreeVo);}});
|
|
|
+ //设置总数量
|
|
|
+ dataResourceClassifyVo.setTotal(dataLevelTreeVo.getChild().size());
|
|
|
return dataResourceClassifyVo;
|
|
|
}
|
|
|
|
|
@@ -107,16 +110,19 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(securityLevelTree.getId(), childResourceClassify.getCodeValue()))
|
|
|
.code(childResourceClassify.getCodeValue())
|
|
|
.label(childResourceClassify.getCodeName())
|
|
|
+ .dataType(childResourceClassify.getTypeCode())
|
|
|
.treeNode(false)
|
|
|
.pId(securityLevelTree.getId()).build()
|
|
|
).collect(Collectors.toList())
|
|
|
);
|
|
|
- dataResourceClassifyVo.setNodes(securityLevelTree);
|
|
|
+ dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(securityLevelTree);}} );
|
|
|
+ //设置总数量
|
|
|
+ dataResourceClassifyVo.setTotal(securityLevelTree.getChild().size());
|
|
|
return dataResourceClassifyVo;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 数据安全级别树
|
|
|
+ * 数据资源分类
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
@@ -126,36 +132,52 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
DataResourceClassifyVo dataResourceClassifyVo = DataResourceClassifyVo.builder().id(dataResourceEnum.getCode())
|
|
|
.attrType(dataResourceEnum.getAttrType().getValue()).label(dataResourceEnum.getLabel()).build();
|
|
|
|
|
|
- DataResourceTreeVo securityLevelTree = DataResourceTreeVo.builder().id(dataResourceEnum.getCode()).label("全部")
|
|
|
+ DataResourceTreeVo dataClassifyTree = DataResourceTreeVo.builder().id(dataResourceEnum.getCode()).label("全部")
|
|
|
.code(dataResourceEnum.getCode()).treeNode(true).build();
|
|
|
|
|
|
- securityLevelTree.setChild(getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
|
|
|
+ dataClassifyTree.setChild(getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
|
|
|
.stream()
|
|
|
.map(firstClassify -> {
|
|
|
DataResourceTreeVo firstTreeVo = DataResourceTreeVo.builder()
|
|
|
- .id(Joiner.on(ID_SEPARATOR).join(securityLevelTree.getId(), firstClassify.getCodeValue()))
|
|
|
- .code(firstClassify.getCodeValue()).label(firstClassify.getCodeName()).treeNode(true).pId(securityLevelTree.getId())
|
|
|
+ .id(Joiner.on(ID_SEPARATOR).join(dataClassifyTree.getId(), firstClassify.getCodeValue()))
|
|
|
+ .code(firstClassify.getCodeValue())
|
|
|
+ .label(firstClassify.getCodeName())
|
|
|
+ .treeNode(true)
|
|
|
+ .pId(dataClassifyTree.getId())
|
|
|
+ .dataType(firstClassify.getTypeCode())
|
|
|
.build();
|
|
|
|
|
|
firstTreeVo.setChild(getFirstChildResourceClassifies(firstClassify.getChildrenType()).stream()
|
|
|
.map(secondClassify -> {
|
|
|
DataResourceTreeVo secondTreeVo = DataResourceTreeVo.builder()
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(firstTreeVo.getId(), secondClassify.getCodeValue()))
|
|
|
- .code(secondClassify.getCodeValue()).label(secondClassify.getCodeName()).treeNode(true).pId(firstTreeVo.getId())
|
|
|
+ .code(secondClassify.getCodeValue())
|
|
|
+ .label(secondClassify.getCodeName())
|
|
|
+ .treeNode(true)
|
|
|
+ .pId(firstTreeVo.getId())
|
|
|
+ .dataType(secondClassify.getTypeCode())
|
|
|
.build();
|
|
|
|
|
|
secondTreeVo.setChild(getChildrenTypeList(secondClassify.getChildrenType()).stream()
|
|
|
.map(thirdClassify -> {
|
|
|
DataResourceTreeVo thirdTreeVo = DataResourceTreeVo.builder()
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(secondTreeVo.getId(), thirdClassify.getTypeCode()))
|
|
|
- .code(thirdClassify.getTypeCode()).label(thirdClassify.getTypeName()).treeNode(true).pId(secondTreeVo.getId())
|
|
|
+ .code(thirdClassify.getTypeCode())
|
|
|
+ .label(thirdClassify.getTypeName())
|
|
|
+ .treeNode(true)
|
|
|
+ .pId(secondTreeVo.getId())
|
|
|
+ .dataType(thirdClassify.getTypeCode())
|
|
|
.build();
|
|
|
|
|
|
thirdTreeVo.setChild(thirdClassify.getDataList().stream()
|
|
|
.map(fourClassify -> {
|
|
|
DataResourceTreeVo fourTreeVo = DataResourceTreeVo.builder()
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(thirdTreeVo.getId(), fourClassify.getCodeValue()))
|
|
|
- .code(fourClassify.getCodeValue()).label(fourClassify.getCodeName()).treeNode(false).child(null).pId(thirdTreeVo.getId())
|
|
|
+ .code(fourClassify.getCodeValue())
|
|
|
+ .label(fourClassify.getCodeName())
|
|
|
+ .treeNode(false).child(null)
|
|
|
+ .pId(thirdTreeVo.getId())
|
|
|
+ .dataType(thirdClassify.getTypeCode())
|
|
|
.build();
|
|
|
return fourTreeVo;
|
|
|
}).collect(Collectors.toList()));
|
|
@@ -166,7 +188,8 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return firstTreeVo;
|
|
|
}).collect(Collectors.toList()));
|
|
|
|
|
|
- dataResourceClassifyVo.setNodes(securityLevelTree);
|
|
|
+ dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataClassifyTree);}} );
|
|
|
+ dataResourceClassifyVo.setTotal(getTotalCount(dataClassifyTree));
|
|
|
return dataResourceClassifyVo;
|
|
|
}
|
|
|
|
|
@@ -198,6 +221,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
.id(Joiner.on(ID_SEPARATOR).join(fieldClassifyTree.getId(), firstClassify.getCodeValue()))
|
|
|
.code(firstClassify.getCodeValue())
|
|
|
.label(firstClassify.getCodeName())
|
|
|
+ .dataType(firstClassify.getTypeCode())
|
|
|
.treeNode(true)
|
|
|
.pId(fieldClassifyTree.getId())
|
|
|
.build();
|
|
@@ -210,6 +234,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
.code(secondClassify.getCodeValue())
|
|
|
.label(secondClassify.getCodeName())
|
|
|
.treeNode(false)
|
|
|
+ .dataType(secondClassify.getTypeCode())
|
|
|
.pId(firstTreeVo.getId())
|
|
|
.build();
|
|
|
return secondTreeVo;
|
|
@@ -219,10 +244,26 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
}).collect(Collectors.toList())
|
|
|
);
|
|
|
|
|
|
- dataResourceClassifyVo.setNodes(fieldClassifyTree);
|
|
|
+ dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(fieldClassifyTree);}} );
|
|
|
+ //设置总数
|
|
|
+ dataResourceClassifyVo.setTotal(getTotalCount(fieldClassifyTree));
|
|
|
return dataResourceClassifyVo;
|
|
|
}
|
|
|
|
|
|
+ private int getTotalCount(DataResourceTreeVo treeVo) {
|
|
|
+ int count = 0;
|
|
|
+ List<DataResourceTreeVo> child = treeVo.getChild();
|
|
|
+ for (DataResourceTreeVo childVo : child) {
|
|
|
+ Boolean treeNode = childVo.getTreeNode();
|
|
|
+ if(treeNode){
|
|
|
+ count += getTotalCount(childVo);
|
|
|
+ }else {
|
|
|
+ count += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<DataLevelVo> getDataLevelList() {
|
|
|
return getFirstChildResourceClassifies(dataResourceService.getDataLevelList())
|
|
@@ -283,7 +324,12 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
private List<ChildResourceClassify> getFirstChildResourceClassifies(List<ResourceClassify> fieldClassifyList) {
|
|
|
return Optional.ofNullable(fieldClassifyList)
|
|
|
.map(resourceClassifies -> resourceClassifies.get(0))
|
|
|
- .map(resourceClassify -> resourceClassify.getDataList())
|
|
|
+ .map(resourceClassify -> {
|
|
|
+ List<ChildResourceClassify> dataList = resourceClassify.getDataList();
|
|
|
+ //设置节点的dataType,dataType为上级的typeCode字段
|
|
|
+ dataList.stream().forEach(item-> item.setTypeCode(resourceClassify.getTypeCode()));
|
|
|
+ return dataList;
|
|
|
+ })
|
|
|
.orElse(Lists.newArrayList());
|
|
|
}
|
|
|
|