Prechádzať zdrojové kódy

feature: 字段分类和数据资源分类同步Vo与页面展示Vo分开

mazq 2 rokov pred
rodič
commit
8817a1c7b1

+ 41 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataResourceSyncTreeVo.java

@@ -0,0 +1,41 @@
+package com.dragoninfo.dcuc.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author mazq
+ * @date 2021/4/13
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "数据资源同步树对象")
+public class DataResourceSyncTreeVo {
+
+    @ApiModelProperty(value = "节点id")
+    private String id;
+    @ApiModelProperty(value = "数据资源code")
+    private String code;
+    @ApiModelProperty(value = "节点名称")
+    private String label;
+    @ApiModelProperty(value = "数据资源类型" +
+            "数据安全级别:DATA_SECURITY_LEVEL " +
+            "字段一级分类:LEVEL_1_COLUMN_CLASSIFY" +
+            "字段二级分类:LEVEL_2_COLUMN_CLASSIFY" +
+            "数据分级:DATA_CLASSIFY")
+    private String dataType;
+    @ApiModelProperty(value = "子节点集合")
+    private List<DataResourceSyncTreeVo> child;
+    @ApiModelProperty(value = "是否是树节点 true:是树节点,child不为空。false:非树节点,child为空。")
+    private Boolean treeNode;
+    @ApiModelProperty(value = "父节点id")
+    private String pId;
+}

+ 0 - 6
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataResourceTreeVo.java

@@ -27,12 +27,6 @@ public class DataResourceTreeVo {
     private String code;
     @ApiModelProperty(value = "节点名称")
     private String label;
-    @ApiModelProperty(value = "数据资源类型" +
-            "数据安全级别:DATA_SECURITY_LEVEL " +
-            "字段一级分类:LEVEL_1_COLUMN_CLASSIFY" +
-            "字段二级分类:LEVEL_2_COLUMN_CLASSIFY" +
-            "数据分级:DATA_CLASSIFY")
-    private String dataType;
     @ApiModelProperty(value = "分级分类code")
     private String classifyCode;
     @ApiModelProperty(value = "子节点集合")

+ 12 - 17
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java

@@ -151,7 +151,6 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .id(item.getId())
                 .code(item.getLevelCode())
                 .label(item.getLevelName())
-                .dataType(item.getTypeCode())
                 .classifyCode(dataResourceEnum.getCode())
                 .treeNode(false)
                 .pId(dataLevelTreeVo.getId())
@@ -290,7 +289,6 @@ public class DataResourceFacade implements IDataResourceFacade {
         return DataResourceTreeVo.builder()
                 .id(item.getId())
                 .pId(pid)
-                .dataType(item.getDataType())
                 .label(item.getName())
                 .code(item.getCode())
                 .build();
@@ -391,7 +389,6 @@ public class DataResourceFacade implements IDataResourceFacade {
         return DataResourceTreeVo.builder()
                 .id(item.getId())
                 .pId(pid)
-                .dataType(item.getDataType())
                 .label(item.getName())
                 .code(item.getCode())
                 .build();
@@ -537,7 +534,7 @@ public class DataResourceFacade implements IDataResourceFacade {
         Runnable r = () -> {
             try {
                 RequestContextHolder.setRequestAttributes(requestAttributes);
-                List<DataResourceTreeVo> nodes = getDataClassifyTreeFromRemote();
+                List<DataResourceSyncTreeVo> nodes = getDataClassifyTreeFromRemote();
                 dataClaService.sync(nodes, null);
             } finally {
                 RequestContextHolder.resetRequestAttributes();
@@ -562,7 +559,7 @@ public class DataResourceFacade implements IDataResourceFacade {
         Runnable r = () -> {
             try {
                 RequestContextHolder.setRequestAttributes(requestAttributes);
-                List<DataResourceTreeVo> nodes = getFieldClassifyTreeFromRemote();
+                List<DataResourceSyncTreeVo> nodes = getFieldClassifyTreeFromRemote();
                 fieldClaService.sync(nodes, null);
             } finally {
                 RequestContextHolder.resetRequestAttributes();
@@ -683,12 +680,12 @@ public class DataResourceFacade implements IDataResourceFacade {
      *
      * @return
      */
-    private List<DataResourceTreeVo> getDataClassifyTreeFromRemote() {
+    private List<DataResourceSyncTreeVo> getDataClassifyTreeFromRemote() {
         String id = DataResourceEnum.DATA_RESOURCE_CLASSIFY.getCode();
-        List<DataResourceTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
+        List<DataResourceSyncTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
                 .stream()
                 .map(firstClassify -> {
-                    DataResourceTreeVo firstTreeVo = DataResourceTreeVo.builder()
+                    DataResourceSyncTreeVo firstTreeVo = DataResourceSyncTreeVo.builder()
                             .id(Joiner.on(CommonCons.ID_SEPARATOR).join(id, firstClassify.getCodeValue()))
                             .code(firstClassify.getCodeValue())
                             .label(firstClassify.getCodeName())
@@ -699,7 +696,7 @@ public class DataResourceFacade implements IDataResourceFacade {
 
                     firstTreeVo.setChild(getFirstChildResourceClassifies(firstClassify.getChildrenType()).stream()
                             .map(secondClassify -> {
-                                DataResourceTreeVo secondTreeVo = DataResourceTreeVo.builder()
+                                DataResourceSyncTreeVo secondTreeVo = DataResourceSyncTreeVo.builder()
                                         .id(Joiner.on(CommonCons.ID_SEPARATOR).join(firstTreeVo.getId(), secondClassify.getCodeValue()))
                                         .code(secondClassify.getCodeValue())
                                         .label(secondClassify.getCodeName())
@@ -710,7 +707,7 @@ public class DataResourceFacade implements IDataResourceFacade {
 
                                 secondTreeVo.setChild(getChildrenTypeList(secondClassify.getChildrenType()).stream()
                                         .map(thirdClassify -> {
-                                            DataResourceTreeVo thirdTreeVo = DataResourceTreeVo.builder()
+                                            DataResourceSyncTreeVo thirdTreeVo = DataResourceSyncTreeVo.builder()
                                                     .id(Joiner.on(CommonCons.ID_SEPARATOR).join(secondTreeVo.getId(), thirdClassify.getTypeCode()))
                                                     .code(thirdClassify.getTypeCode())
                                                     .label(thirdClassify.getTypeName())
@@ -721,7 +718,7 @@ public class DataResourceFacade implements IDataResourceFacade {
 
                                             thirdTreeVo.setChild(thirdClassify.getDataList().stream()
                                                     .map(fourClassify -> {
-                                                        DataResourceTreeVo fourTreeVo = DataResourceTreeVo.builder()
+                                                        DataResourceSyncTreeVo fourTreeVo = DataResourceSyncTreeVo.builder()
                                                                 .id(Joiner.on(CommonCons.ID_SEPARATOR).join(thirdTreeVo.getId(), fourClassify.getCodeValue()))
                                                                 .code(fourClassify.getCodeValue())
                                                                 .label(fourClassify.getCodeName())
@@ -745,12 +742,12 @@ public class DataResourceFacade implements IDataResourceFacade {
      *
      * @return
      */
-    private List<DataResourceTreeVo> getFieldClassifyTreeFromRemote() {
+    private List<DataResourceSyncTreeVo> getFieldClassifyTreeFromRemote() {
         String id = DataResourceEnum.COLUMN_CLASSIFY.getCode();
-        List<DataResourceTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getFieldClassifyList())
+        List<DataResourceSyncTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getFieldClassifyList())
                 .stream()
                 .map(firstClassify -> {
-                    DataResourceTreeVo firstTreeVo = DataResourceTreeVo.builder()
+                    DataResourceSyncTreeVo firstTreeVo = DataResourceSyncTreeVo.builder()
                             .id(Joiner.on(CommonCons.ID_SEPARATOR).join(id, firstClassify.getCodeValue()))
                             .code(firstClassify.getCodeValue())
                             .label(firstClassify.getCodeName())
@@ -762,7 +759,7 @@ public class DataResourceFacade implements IDataResourceFacade {
                     firstTreeVo.setChild(getFirstChildResourceClassifies(firstClassify.getChildrenType())
                             .stream()
                             .map(secondClassify -> {
-                                        DataResourceTreeVo secondTreeVo = DataResourceTreeVo.builder()
+                                DataResourceSyncTreeVo secondTreeVo = DataResourceSyncTreeVo.builder()
                                                 .id(Joiner.on(CommonCons.ID_SEPARATOR).join(firstTreeVo.getId(), secondClassify.getCodeValue()))
                                                 .code(secondClassify.getCodeValue())
                                                 .label(secondClassify.getCodeName())
@@ -830,7 +827,6 @@ public class DataResourceFacade implements IDataResourceFacade {
             vo.setId(e.getId());
             vo.setPId(pid);
             vo.setLabel(e.getTableName());
-            vo.setDataType(AppDataTypeEnum.TAB.getValue());
             vo.setClassifyCode(resourceEnum.getCode());
             if (null != colInfosMap) {
                 List<AppDataItemInfo> colInfoList = colInfosMap.get(e.getId());
@@ -853,7 +849,6 @@ public class DataResourceFacade implements IDataResourceFacade {
             vo.setId(e.getId());
             vo.setPId(pid);
             vo.setLabel(e.getColumnName());
-            vo.setDataType(AppDataTypeEnum.COL.getValue());
             vo.setClassifyCode(resourceEnum.getCode());
             return vo;
         }).collect(Collectors.toList());

+ 2 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataClaService.java

@@ -3,7 +3,7 @@ package com.dragoninfo.dcuc.app.service.sub;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
-import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragoninfo.dcuc.app.vo.DataResourceSyncTreeVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.data.domain.Page;
@@ -103,7 +103,7 @@ public interface IDataClaService {
      * @param nodes
      * @param path
      */
-    void sync(List<DataResourceTreeVo> nodes, String path);
+    void sync(List<DataResourceSyncTreeVo> nodes, String path);
 
     /**
      * 查询所有列表,只查询第四级,拼接前三级内容

+ 2 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IFieldClaService.java

@@ -3,7 +3,7 @@ package com.dragoninfo.dcuc.app.service.sub;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
-import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragoninfo.dcuc.app.vo.DataResourceSyncTreeVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.data.domain.Page;
@@ -95,7 +95,7 @@ public interface IFieldClaService {
      * @param nodes
      * @param path
      */
-    void sync(List<DataResourceTreeVo> nodes, String path);
+    void sync(List<DataResourceSyncTreeVo> nodes, String path);
 
     /**
      * 两级字段分级所有列表查询

+ 7 - 6
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataClaServiceImpl.java

@@ -11,6 +11,7 @@ import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
 import com.dragoninfo.dcuc.app.mapper.sub.DataClaMapper;
 import com.dragoninfo.dcuc.app.service.sub.IDataClaService;
+import com.dragoninfo.dcuc.app.vo.DataResourceSyncTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
@@ -332,11 +333,11 @@ public class DataClaServiceImpl implements IDataClaService {
      * @param path 上级所有id组成的路径 -分隔
      */
     @Override
-    public void sync(List<DataResourceTreeVo> nodes, String path) {
+    public void sync(List<DataResourceSyncTreeVo> nodes, String path) {
         if(CollectionUtils.isEmpty(nodes)) {
             return;
         }
-        for (DataResourceTreeVo node : nodes) {
+        for (DataResourceSyncTreeVo node : nodes) {
             String code = node.getCode();
             DataCla dataCla = getByCodeAndPath(code, path);
             String localPath = path;
@@ -379,7 +380,7 @@ public class DataClaServiceImpl implements IDataClaService {
      * @param node
      * @param dataCla
      */
-    private void updateNode(DataResourceTreeVo node, DataCla dataCla) {
+    private void updateNode(DataResourceSyncTreeVo node, DataCla dataCla) {
         LambdaUpdateWrapper<DataCla> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(DataCla::getName, node.getLabel())
                 .set(DataCla::getUpdateTime, new Date())
@@ -393,7 +394,7 @@ public class DataClaServiceImpl implements IDataClaService {
      * @param path 上级所有id组成的路径 -分隔
      * @param date
      */
-    private void saveNodeAndChild(DataResourceTreeVo node, String path, Date date) {
+    private void saveNodeAndChild(DataResourceSyncTreeVo node, String path, Date date) {
         DataCla dataCla = new DataCla();
         dataCla.setName(node.getLabel());
         dataCla.setCode(node.getCode());
@@ -421,9 +422,9 @@ public class DataClaServiceImpl implements IDataClaService {
         }
         dataClaMapper.insert(dataCla);
         path = path == null? dataCla.getId():path + CommonCons.PATH_SEP + dataCla.getId();
-        List<DataResourceTreeVo> child = node.getChild();
+        List<DataResourceSyncTreeVo> child = node.getChild();
         if(CollectionUtils.isNotEmpty(child)) {
-            for (DataResourceTreeVo childNode : child) {
+            for (DataResourceSyncTreeVo childNode : child) {
                 saveNodeAndChild(childNode, path, date);
             }
         }

+ 7 - 6
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/FieldClaServiceImpl.java

@@ -10,6 +10,7 @@ import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
 import com.dragoninfo.dcuc.app.mapper.sub.FieldClaMapper;
 import com.dragoninfo.dcuc.app.service.sub.IFieldClaService;
+import com.dragoninfo.dcuc.app.vo.DataResourceSyncTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
@@ -254,11 +255,11 @@ public class FieldClaServiceImpl implements IFieldClaService {
     }
 
     @Override
-    public void sync(List<DataResourceTreeVo> nodes, String path) {
+    public void sync(List<DataResourceSyncTreeVo> nodes, String path) {
         if(CollectionUtils.isEmpty(nodes)) {
             return;
         }
-        for (DataResourceTreeVo node : nodes) {
+        for (DataResourceSyncTreeVo node : nodes) {
             FieldCla fieldCla = getByCodeAndPath(node.getCode(), path);
             String localPath = path;
             if(null == fieldCla) {
@@ -287,7 +288,7 @@ public class FieldClaServiceImpl implements IFieldClaService {
         return fieldClaMapper.selectList(null);
     }
 
-    private void updateNode(DataResourceTreeVo node, FieldCla fieldCla) {
+    private void updateNode(DataResourceSyncTreeVo node, FieldCla fieldCla) {
         LambdaUpdateWrapper<FieldCla> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(FieldCla::getName, node.getLabel())
                 .set(FieldCla::getUpdateTime, new Date())
@@ -301,7 +302,7 @@ public class FieldClaServiceImpl implements IFieldClaService {
      * @param path 上级所有id组成的路径 -分隔
      * @param date
      */
-    private void saveNodeAndChild(DataResourceTreeVo node, String path, Date date) {
+    private void saveNodeAndChild(DataResourceSyncTreeVo node, String path, Date date) {
         FieldCla fieldCla = new FieldCla();
         fieldCla.setName(node.getLabel());
         fieldCla.setCode(node.getCode());
@@ -323,9 +324,9 @@ public class FieldClaServiceImpl implements IFieldClaService {
         }
         fieldClaMapper.insert(fieldCla);
         path = path == null? fieldCla.getId():path + CommonCons.PATH_SEP + fieldCla.getId();
-        List<DataResourceTreeVo> child = node.getChild();
+        List<DataResourceSyncTreeVo> child = node.getChild();
         if(CollectionUtils.isNotEmpty(child)) {
-            for (DataResourceTreeVo childNode : child) {
+            for (DataResourceSyncTreeVo childNode : child) {
                 String localPath = path;
                 saveNodeAndChild(childNode, localPath, date);
             }