diff --git a/pom.xml b/pom.xml
index b3ef1ab..8ce166e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,7 @@
srt-cloud-gateway
srt-data-development
srt-cloud-data-governance
+ srt-cloud-data-service
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/DatastandardController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/DatastandardController.java
index 5ea19c6..e5c7840 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/controller/DatastandardController.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/DatastandardController.java
@@ -6,8 +6,9 @@ import net.srt.convert.DatastandardConvert;
import net.srt.entity.DatastandardEntity;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.common.utils.Result;
-import net.srt.query.StandardManagementQuery;
+import net.srt.query.DatastandrdQuery;
import net.srt.service.DatastandardService;
+import net.srt.vo.DatastandardVo;
import net.srt.vo.MetamodelPropertyVO;
import net.srt.vo.StandardManagementVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,15 +34,15 @@ public class DatastandardController {
@GetMapping("page")
@Operation(summary = "分页")
- public Result> page(@Valid StandardManagementQuery query){
- PageResult page = datastandardService.page(query);
+ public Result> page(@Valid DatastandrdQuery query){
+ PageResult page = datastandardService.page(query);
return Result.ok(page);
}
@GetMapping("{id}")
@Operation(summary ="信息")
- public Result get(@PathVariable("id") Integer categoryId) {
+ public Result get(@PathVariable("id") Integer categoryId) {
DatastandardEntity entity = datastandardService.getById(categoryId);
return Result.ok(DatastandardConvert.INSTANCE.convert(entity));
}
@@ -57,15 +58,15 @@ public class DatastandardController {
@PostMapping
@Operation(summary = "保存")
- public Result save(@RequestBody DatastandardEntity entity) {
- datastandardService.save(entity);
+ public Result save(@RequestBody DatastandardVo vo) {
+ datastandardService.save(vo);
return Result.ok();
}
@PutMapping
@Operation(summary = "修改")
- public Result update(@RequestBody @Valid DatastandardEntity datastandardEntity){
- datastandardService.update1(datastandardEntity);
+ public Result update(@RequestBody @Valid DatastandardVo vo){
+ datastandardService.update1(vo);
return Result.ok();
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataCollectController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataCollectController.java
index cc9bfb2..c5ea661 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataCollectController.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataCollectController.java
@@ -1,11 +1,20 @@
package net.srt.controller;
+import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
+import net.srt.entity.MetadataCollectQuery;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.common.utils.Result;
import net.srt.service.MetadataCollectService;
+import net.srt.vo.MetadataCollectVO;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
+
@RestController
@RequestMapping("metadata-collect")
@Tag(name = "数据治理-元数据采集")
@@ -13,4 +22,10 @@ import org.springframework.web.bind.annotation.RestController;
public class MetadataCollectController {
private final MetadataCollectService metadataCollectService;
+ @GetMapping("page")
+ @Operation(summary = "分页")
+ public Result> page(@Valid MetadataCollectQuery query){
+ PageResult page = metadataCollectService.page(query);
+ return Result.ok(page);
+ }
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskColumnController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskColumnController.java
new file mode 100644
index 0000000..906952e
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskColumnController.java
@@ -0,0 +1,40 @@
+package net.srt.controller;
+
+import cn.hutool.db.Page;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.common.utils.Result;
+import net.srt.query.QualityTaskColumnQuery;
+import net.srt.service.QualityTaskColumnService;
+import net.srt.vo.QualityTaskColumnVo;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.controller
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:19
+ */
+@RestController
+@RequestMapping("/quality-task-column")
+@Tag(name = "数据治理-列检测模块")
+@AllArgsConstructor
+public class QualityTaskColumnController {
+ private final QualityTaskColumnService qualityTaskColumnService;
+ @GetMapping("/page")
+ public Result> page(@Valid QualityTaskColumnQuery query){
+ PageResult page = qualityTaskColumnService.page(query);
+ return Result.ok(page);
+ }
+ @DeleteMapping
+ @Operation(summary = "删除")
+ public Result delete(@RequestBody List idlist){
+ qualityTaskColumnService.delete(idlist);
+ return Result.ok();
+ }
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskController.java
index 68bb3db..495e40a 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskController.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskController.java
@@ -11,12 +11,10 @@ import net.srt.framework.common.utils.Result;
import net.srt.query.QualityTaskQuery;
import net.srt.service.QualityTaskService;
import net.srt.vo.QualityTaskVo;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.util.List;
/**
* @BelongsProject: srt_cloud
@@ -44,4 +42,12 @@ public class QualityTaskController {
}
+ @DeleteMapping
+ @Operation(summary = "删除")
+ public Result delete(@RequestBody List idList){
+ qualityTaskService.delete(idList);
+ return Result.ok();
+ }
+
+
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskTableController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskTableController.java
new file mode 100644
index 0000000..f066a06
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityTaskTableController.java
@@ -0,0 +1,48 @@
+package net.srt.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import net.srt.convert.QualityTaskTableConvert;
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.common.utils.Result;
+import net.srt.query.QualityTableQuery;
+import net.srt.service.QualityTaskTableService;
+import net.srt.vo.QualityTaskTableVo;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.controller
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 19:34
+ */
+@RestController
+@RequestMapping("/quality-task-table")
+@Tag(name = "数据治理-表检测模块")
+@AllArgsConstructor
+public class QualityTaskTableController {
+ private final QualityTaskTableService qualityTaskTableService;
+ @GetMapping("page")
+ @Operation(summary = "分页")
+ public Result> page(@Valid QualityTableQuery query){
+ PageResult pageResult =qualityTaskTableService.page(query);
+ return Result.ok(pageResult);
+ }
+ @GetMapping("{id}")
+ @Operation(summary = "信息")
+ public Result get(@PathVariable("id") Long id){
+ QualityTaskTableEntity entity=qualityTaskTableService.getById(id);
+ return Result.ok(QualityTaskTableConvert.INSTANCE.convert(entity));
+ }
+ @DeleteMapping
+ @Operation(summary = "删除")
+ private Result delete(@RequestBody List idlist){
+ qualityTaskTableService.delete(idlist);
+ return Result.ok();
+ }
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java
index 954d424..b18e791 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java
@@ -12,6 +12,8 @@ import net.srt.vo.StandardManagementVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -21,46 +23,39 @@ import java.util.List;
* @Date: 2023-12-20 11:30
*/
@RestController
-@RequestMapping("/standard-category")
-@Tag(name = "标准管理列表")
+@RequestMapping("standard-category")
+@Tag(name = "数据开发-调度中心目录")
public class StandardController {
@Autowired
- private StandardService standardService;
- @GetMapping("list-tree")
+ StandardService standardService;
+
+ @GetMapping("/list-tree")
@Operation(summary = "查询文件分组树")
public Result> listTree() {
return Result.ok(standardService.listTree());
}
- @GetMapping("/{id}")
- @Operation(summary = "根据id获取")
- public Result getById(@PathVariable Integer id) {
- StandardEntity entity = standardService.getById(id);
- TreeNodeVo nodeVo = BeanUtil.copyProperties(entity, TreeNodeVo::new);
- nodeVo.setLabel(entity.getName());
- nodeVo.setParentPath(entity.getPath().contains("/") ? entity.getPath().substring(0, entity.getPath().lastIndexOf("/")) : null);
- return Result.ok(nodeVo);
- }
-
@PostMapping
@Operation(summary = "保存")
- public Result save(@RequestBody StandardEntity standardEntity){
- standardService.save1(standardEntity);
+ public Result save(@RequestBody StandardManagementVo vo) {
+ standardService.save1(vo);
return Result.ok();
}
@PutMapping
@Operation(summary = "修改")
- public Result update(@RequestBody StandardEntity standardEntity){
- standardService.update1(standardEntity);
- return Result.ok();
- }
- @DeleteMapping("/id")
- @Operation(summary = "删除")
- public Result del(@PathVariable Long id){
- standardService.del(id);
+ public Result update(@RequestBody StandardManagementVo vo) {
+ standardService.update1(vo);
return Result.ok();
}
+ @DeleteMapping
+ @Operation(summary = "删除")
+ public Result delete(Long id) {
+ standardService.delete(id);
+ return Result.ok();
+ }
+
+
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/DatastandardConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/DatastandardConvert.java
index 374ff18..1f168b5 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/convert/DatastandardConvert.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/DatastandardConvert.java
@@ -1,6 +1,7 @@
package net.srt.convert;
import net.srt.entity.DatastandardEntity;
+import net.srt.vo.DatastandardVo;
import net.srt.vo.StandardManagementVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@@ -19,8 +20,10 @@ public interface DatastandardConvert {
DatastandardConvert INSTANCE = Mappers.getMapper(DatastandardConvert.class);
- List convertList(List list);
+ List convertList(List list);
- StandardManagementVo convert(DatastandardEntity entity);
+
+ DatastandardVo convert(DatastandardEntity entity);
+ DatastandardEntity convert(DatastandardVo entity);
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/MetadataCollectConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/MetadataCollectConvert.java
new file mode 100644
index 0000000..ad6009e
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/MetadataCollectConvert.java
@@ -0,0 +1,25 @@
+package net.srt.convert;
+
+import net.srt.api.module.data.governance.dto.DataGovernanceMetadataCollectDto;
+import net.srt.entity.MetadataCollectEntity;
+import net.srt.vo.MetadataCollectVO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public interface MetadataCollectConvert {
+ MetadataCollectConvert INSTANCE = Mappers.getMapper(MetadataCollectConvert.class);
+
+ MetadataCollectEntity convert(MetadataCollectVO vo);
+
+ MetadataCollectEntity convert(DataGovernanceMetadataCollectDto dto);
+
+ DataGovernanceMetadataCollectDto convertDto(MetadataCollectEntity entity);
+
+ MetadataCollectVO convert(MetadataCollectEntity entity);
+
+ List convertList(List list);
+
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskColumnConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskColumnConvert.java
new file mode 100644
index 0000000..a42fde4
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskColumnConvert.java
@@ -0,0 +1,28 @@
+package net.srt.convert;
+
+import net.srt.entity.QualityQueryEntity;
+import net.srt.entity.QualityTaskColumnEntity;
+import net.srt.vo.QualityRuleVo;
+import net.srt.vo.QualityTaskColumnVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.convert
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:59
+ */
+@Mapper
+public interface QualityTaskColumnConvert {
+
+
+ QualityTaskColumnConvert INSTANCE = Mappers.getMapper(QualityTaskColumnConvert.class);
+
+
+ List convertList(List list);
+
+ QualityTaskColumnEntity conver(QualityTaskColumnVo vo);
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskTableConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskTableConvert.java
new file mode 100644
index 0000000..010b880
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityTaskTableConvert.java
@@ -0,0 +1,23 @@
+package net.srt.convert;
+
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.vo.QualityTaskTableVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.convert
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 20:49
+ */
+@Mapper
+public interface QualityTaskTableConvert {
+ QualityTaskTableConvert INSTANCE = Mappers.getMapper(QualityTaskTableConvert.class);
+
+ List convertList(List list);
+
+ QualityTaskTableVo convert(QualityTaskTableEntity entity);
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/StandardConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/StandardConvert.java
new file mode 100644
index 0000000..3cb7cb9
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/StandardConvert.java
@@ -0,0 +1,26 @@
+package net.srt.convert;
+
+import net.srt.entity.StandardEntity;
+import net.srt.vo.StandardManagementVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @ClassName : StandardConvert
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 12:14
+ */
+@Mapper
+public interface StandardConvert {
+
+ StandardConvert INSTANCE = Mappers.getMapper(StandardConvert.class);
+
+ StandardEntity convert(StandardManagementVo vo);
+
+ StandardManagementVo convert(StandardEntity entity);
+
+ List convertList(List list);
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskColumnDao.java b/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskColumnDao.java
new file mode 100644
index 0000000..22aa102
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskColumnDao.java
@@ -0,0 +1,17 @@
+package net.srt.dao;
+
+import net.srt.entity.QualityTaskColumnEntity;
+import net.srt.entity.QualityTaskEntity;
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.framework.mybatis.dao.BaseDao;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.dao
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 21:37
+ */
+@Mapper
+public interface QualityTaskColumnDao extends BaseDao {
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskTableDao.java b/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskTableDao.java
new file mode 100644
index 0000000..be018d5
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/dao/QualityTaskTableDao.java
@@ -0,0 +1,16 @@
+package net.srt.dao;
+
+import net.srt.entity.QualityTaskEntity;
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.framework.mybatis.dao.BaseDao;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.dao
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 20:18
+ */
+@Mapper
+public interface QualityTaskTableDao extends BaseDao {
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/DatagovernanceEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/DatagovernanceEntity.java
deleted file mode 100644
index c034db7..0000000
--- a/srt-cloud-data-governance/src/main/java/net/srt/entity/DatagovernanceEntity.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package net.srt.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.SuperBuilder;
-import net.srt.framework.mybatis.entity.BaseEntity;
-
-/**
- * 文件分组表
- *
- * @author zrx 985134801@qq.com
- * @since 1.0.0 2022-11-12
- */
-@EqualsAndHashCode(callSuper = true)
-@SuperBuilder
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@TableName("data_file_category")
-public class DatagovernanceEntity extends BaseEntity {
-
- /**
- * 父级id(顶级为0)
- */
- private Long parentId;
-
- /**
- * 分组名称
- */
- private String name;
-
- /**
- * 分组序号
- */
- private Integer orderNo;
-
- /**
- * 描述
- */
- private String description;
-
- /**
- * 分组路径
- */
- private String path;
-
- private Integer type;
-
- /**
- * 项目id
- */
- private Long projectId;
-
-}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/DatastandardEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/DatastandardEntity.java
index cf01e07..8bf82db 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/entity/DatastandardEntity.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/DatastandardEntity.java
@@ -17,8 +17,6 @@ import net.srt.framework.mybatis.entity.BaseEntity;
@TableName("standard_management")
public class DatastandardEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
- @TableId("id")
- private Long id;
private Integer categoryId;
private String engName;
private String cnName;
@@ -30,10 +28,8 @@ public class DatastandardEntity extends BaseEntity {
private Integer standardCodeId;
private Integer type;
private String note;
- private Integer projectId;
+ private Long projectId;
private Integer status;
- private Integer version;
- private Integer deleted;
private Integer ifStandardRel;
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectEntity.java
index f556d7d..27bb2aa 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectEntity.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectEntity.java
@@ -1,14 +1,76 @@
package net.srt.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.srt.framework.mybatis.entity.BaseEntity;
+import java.util.Date;
+
@EqualsAndHashCode(callSuper = false)
@Data
@TableName("data_governance_metadata_collect")
public class MetadataCollectEntity extends BaseEntity {
+ /**
+ * 任务名称
+ */
+ private String name;
+
+ /**
+ * 数据库类型(1-数据库 2-中台库)
+ */
+ private Integer dbType;
+
+ /**
+ * 数据库主键id
+ */
+ private Long databaseId;
+
+ /**
+ * 入库策略,0-全量,1-增量
+ */
+ private Integer strategy;
+
+ /**
+ * 任务类型 1一次性 2.周期性
+ */
+ private Integer taskType;
+
+ /**
+ * cron表达式(秒 分 时 日 月 星期 年,例如 0 0 3 * * ? 表示每天凌晨三点执行)
+ */
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private String cron;
+
+ /**
+ * 归属元数据的目录
+ */
+ private Long metadataId;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 是否已发布 0-否 1-是
+ */
+ private Integer status;
+
+ /**
+ * 发布时间
+ */
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Date releaseTime;
+
+ /**
+ * 项目id
+ */
+ private Long projectId;
+
+
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectQuery.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectQuery.java
new file mode 100644
index 0000000..67dbbbd
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/MetadataCollectQuery.java
@@ -0,0 +1,22 @@
+package net.srt.entity;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.common.query.Query;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(description = "数据治理-元数据采集查询")
+public class MetadataCollectQuery extends Query {
+ private String name;
+ /**
+ * 入库策略,0-全量,1-增量
+ */
+ private Integer strategy;
+
+ /**
+ * 任务类型 1一次性 2.周期性
+ */
+ private Integer taskType;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskColumnEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskColumnEntity.java
new file mode 100644
index 0000000..cfcd23e
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskColumnEntity.java
@@ -0,0 +1,61 @@
+package net.srt.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.mybatis.entity.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.entity
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:32
+ */
+@EqualsAndHashCode(callSuper=false)
+@Data
+@TableName("data_governance_quality_task_column")
+public class QualityTaskColumnEntity extends BaseEntity {
+ /**
+ * 质量任务id
+ */
+ private Long qualityTaskId;
+
+ /**
+ * 表检测记录id
+ */
+ private Long qualityTaskTableId;
+
+ /**
+ * 被检测的数据行
+ */
+ private String checkRow;
+
+ /**
+ * 未通过详情
+ */
+ private String notPassInfo;
+
+ /**
+ * 检测时间
+ */
+ private Date checkTime;
+
+ /**
+ * 0-不通过 1-通过
+ */
+ private Integer checkResult;
+
+ /**
+ * 项目id
+ */
+ private Long projectId;
+
+ private Integer deleted;
+
+
+
+}
+
+
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskTableEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskTableEntity.java
new file mode 100644
index 0000000..b63c881
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/QualityTaskTableEntity.java
@@ -0,0 +1,88 @@
+package net.srt.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.api.module.data.governance.dto.quality.QulaityColumn;
+import net.srt.framework.mybatis.entity.BaseEntity;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.entity
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 20:03
+ */
+@EqualsAndHashCode(callSuper = false)
+@Data
+@TableName(value = "data_governance_quality_task_table", autoResultMap = true)
+public class QualityTaskTableEntity extends BaseEntity {
+
+ /**
+ * 质量任务id
+ */
+ private Long qualityTaskId;
+
+ /**
+ * 被检测的表id
+ */
+ private Long tableMetadataId;
+
+ /**
+ * 被检测的表
+ */
+ private String tableName;
+
+
+ @TableField(typeHandler = JacksonTypeHandler.class)
+ private List columnInfo;
+ /**
+ * 检测条数
+ */
+ private Integer checkCount;
+
+ /**
+ * 检测通过数
+ */
+ private Integer passCount;
+
+ /**
+ * 未通过数
+ */
+ private Integer notPassCount;
+
+ /**
+ * 检测时间
+ */
+ private Date checkTime;
+
+ /**
+ * 开始时间
+ */
+ private Date startTime;
+
+ /**
+ * 结束时间
+ */
+ private Date endTime;
+
+
+ private String errorLog;
+
+
+ /**
+ * 运行状态( 1-等待中 2-运行中 3-正常结束 4-异常结束)
+ */
+ private Integer status;
+
+ /**
+ * 项目id
+ */
+ private Long projectId;
+
+ private Integer deleted;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/entity/StandardEntity.java b/srt-cloud-data-governance/src/main/java/net/srt/entity/StandardEntity.java
index b13e9a4..e1dd20e 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/entity/StandardEntity.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/entity/StandardEntity.java
@@ -15,11 +15,11 @@ import net.srt.framework.mybatis.entity.BaseEntity;
* @since 1.0.0 2022-11-12
*/
@EqualsAndHashCode(callSuper = true)
-@SuperBuilder
@Data
+@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
-@TableName("data_file_category")
+@TableName(value = "data_dispatch_catalogue", autoResultMap = true)
public class StandardEntity extends BaseEntity {
/**
@@ -53,5 +53,4 @@ public class StandardEntity extends BaseEntity {
* 项目id
*/
private Long projectId;
-
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/query/StandardManagementQuery.java b/srt-cloud-data-governance/src/main/java/net/srt/query/DatastandrdQuery.java
similarity index 90%
rename from srt-cloud-data-governance/src/main/java/net/srt/query/StandardManagementQuery.java
rename to srt-cloud-data-governance/src/main/java/net/srt/query/DatastandrdQuery.java
index 98b9180..7c0833d 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/query/StandardManagementQuery.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/query/DatastandrdQuery.java
@@ -14,7 +14,7 @@ import net.srt.framework.common.query.Query;
@Data
@EqualsAndHashCode(callSuper = false)
@Schema (description = "标准管理列表")
-public class StandardManagementQuery extends Query {
+public class DatastandrdQuery extends Query {
private Integer categoryId;
private String t;
private String cnName;
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTableQuery.java b/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTableQuery.java
new file mode 100644
index 0000000..55ce300
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTableQuery.java
@@ -0,0 +1,33 @@
+package net.srt.query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.common.query.Query;
+import net.srt.framework.common.utils.DateUtils;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.query
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 19:57
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(description = "数据治理-表检测记录查询")
+public class QualityTableQuery extends Query {
+ private Long qualityTaskId;
+ private String tableName;
+ private Integer status;
+ @DateTimeFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date startTime;
+
+ @DateTimeFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date endTime;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTaskColumnQuery.java b/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTaskColumnQuery.java
new file mode 100644
index 0000000..0e8f3d8
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/query/QualityTaskColumnQuery.java
@@ -0,0 +1,20 @@
+package net.srt.query;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.common.query.Query;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.query
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:28
+ */
+@Data
+@EqualsAndHashCode(callSuper =false)
+@Schema(description = "数据治理-字段检测记录查询")
+public class QualityTaskColumnQuery extends Query {
+ private Long qualityTaskTableId;
+ private Integer checkResult;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/DatastandardService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/DatastandardService.java
index 300930a..22a442f 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/DatastandardService.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/DatastandardService.java
@@ -3,7 +3,8 @@ package net.srt.service;
import net.srt.entity.DatastandardEntity;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.BaseService;
-import net.srt.query.StandardManagementQuery;
+import net.srt.query.DatastandrdQuery;
+import net.srt.vo.DatastandardVo;
import net.srt.vo.StandardManagementVo;
import org.mybatis.spring.annotation.MapperScan;
@@ -17,11 +18,13 @@ import java.util.List;
*/
@MapperScan("net.srt.service.DatastandardService")
public interface DatastandardService extends BaseService {
- PageResult page(StandardManagementQuery query);
+ PageResult page(DatastandrdQuery query);
List getTableCode();
- void update1(DatastandardEntity datastandardEntity);
-
void delete(List idList);
+
+ void update1(DatastandardVo entity);
+
+ void save(DatastandardVo vo);
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataCollectService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataCollectService.java
index d894ed2..992d16f 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataCollectService.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataCollectService.java
@@ -1,8 +1,12 @@
package net.srt.service;
import net.srt.entity.MetadataCollectEntity;
+import net.srt.entity.MetadataCollectQuery;
+import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.BaseService;
+import net.srt.vo.MetadataCollectVO;
public interface MetadataCollectService extends BaseService {
+ PageResult page(MetadataCollectQuery query);
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskColumnService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskColumnService.java
new file mode 100644
index 0000000..a0f679a
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskColumnService.java
@@ -0,0 +1,21 @@
+package net.srt.service;
+
+import net.srt.entity.QualityTaskColumnEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.BaseService;
+import net.srt.query.QualityTaskColumnQuery;
+import net.srt.vo.QualityTaskColumnVo;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.service
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:23
+ */
+public interface QualityTaskColumnService extends BaseService {
+ PageResult page(QualityTaskColumnQuery query);
+
+ void delete(List idlist);
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskService.java
index 1a1b010..34c2d5a 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskService.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskService.java
@@ -6,6 +6,8 @@ import net.srt.framework.mybatis.service.BaseService;
import net.srt.query.QualityTaskQuery;
import net.srt.vo.QualityTaskVo;
+import java.util.List;
+
/**
* @BelongsProject: srt_cloud
* @BelongsPackage: net.srt.service
@@ -14,4 +16,6 @@ import net.srt.vo.QualityTaskVo;
*/
public interface QualityTaskService extends BaseService {
PageResult pagea(QualityTaskQuery query);
+
+ void delete(List idList);
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskTableService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskTableService.java
new file mode 100644
index 0000000..cc8e390
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityTaskTableService.java
@@ -0,0 +1,21 @@
+package net.srt.service;
+
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.BaseService;
+import net.srt.query.QualityTableQuery;
+import net.srt.vo.QualityTaskTableVo;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.service
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 20:00
+ */
+public interface QualityTaskTableService extends BaseService {
+ PageResult page(QualityTableQuery query);
+
+ void delete(List idlist);
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/StandardService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/StandardService.java
index f099771..85fc233 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/StandardService.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/StandardService.java
@@ -3,6 +3,7 @@ package net.srt.service;
import net.srt.entity.StandardEntity;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.framework.mybatis.service.BaseService;
+import net.srt.vo.StandardManagementVo;
import java.util.List;
@@ -14,12 +15,12 @@ import java.util.List;
*/
public interface StandardService extends BaseService {
+
List listTree();
- void save1(StandardEntity standardEntity);
+ void save1(StandardManagementVo vo);
- void update1(StandardEntity standardEntity);
-
- void del(Long id);
+ void update1(StandardManagementVo vo);
+ void delete(Long id);
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/DatastandardServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/DatastandardServiceImpl.java
index 67c390a..c0c3d78 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/DatastandardServiceImpl.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/DatastandardServiceImpl.java
@@ -11,8 +11,9 @@ import net.srt.entity.DatastandardEntity;
import net.srt.entity.MetamodelEntity;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
-import net.srt.query.StandardManagementQuery;
+import net.srt.query.DatastandrdQuery;
import net.srt.service.DatastandardService;
+import net.srt.vo.DatastandardVo;
import net.srt.vo.StandardManagementVo;
import org.springframework.stereotype.Service;
import srt.cloud.framework.dbswitch.common.util.StringUtil;
@@ -30,7 +31,7 @@ import java.util.List;
public class DatastandardServiceImpl extends BaseServiceImpl implements DatastandardService {
private final DatastandardDao datastandardDao;
@Override
- public PageResult page(StandardManagementQuery query) {
+ public PageResult page(DatastandrdQuery query) {
IPage page = baseMapper.selectPage(getPage(query), getWrapper(query));
return new PageResult<>(DatastandardConvert.INSTANCE.convertList(page.getRecords()), page.getTotal());
}
@@ -41,12 +42,7 @@ public class DatastandardServiceImpl extends BaseServiceImpl idList) {
@@ -60,8 +56,22 @@ public class DatastandardServiceImpl extends BaseServiceImpl getWrapper(StandardManagementQuery query) {
+ @Override
+ public void save(DatastandardVo vo) {
+ DatastandardEntity entity = DatastandardConvert.INSTANCE.convert(vo);
+ entity.setProjectId(getProjectId());
+ baseMapper.insert(entity);
+ }
+
+
+ private LambdaQueryWrapper getWrapper(DatastandrdQuery query) {
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
wrapper.like(StringUtil.isNotBlank(query.getCnName()), DatastandardEntity::getCnName, query.getCnName());
wrapper.like(StringUtil.isNotBlank(query.getEngName()), DatastandardEntity::getEngName, query.getEngName());
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataCollectServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataCollectServiceImpl.java
index 6e74a43..29af401 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataCollectServiceImpl.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataCollectServiceImpl.java
@@ -1,13 +1,37 @@
package net.srt.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
+import net.srt.convert.MetadataCollectConvert;
import net.srt.dao.MetadataCollectDao;
import net.srt.entity.MetadataCollectEntity;
+import net.srt.entity.MetadataCollectQuery;
+import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
import net.srt.service.MetadataCollectService;
+import net.srt.vo.MetadataCollectVO;
import org.springframework.stereotype.Service;
+import srt.cloud.framework.dbswitch.common.util.StringUtil;
@Service
@AllArgsConstructor
public class MetadataCollectServiceImpl extends BaseServiceImpl implements MetadataCollectService {
+ @Override
+ public PageResult page(MetadataCollectQuery query) {
+ IPage page = baseMapper.selectPage(getPage(query), getWrapper(query));
+ return new PageResult<>(MetadataCollectConvert.INSTANCE.convertList(page.getRecords()), page.getTotal());
+ }
+
+ private Wrapper getWrapper(MetadataCollectQuery query) {
+ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
+ wrapper.like(StringUtil.isNotBlank(query.getName()),MetadataCollectEntity::getName,query.getName())
+ .eq(query.getStrategy()!=null,MetadataCollectEntity::getStrategy,query.getStrategy())
+ .eq(query.getTaskType()!=null,MetadataCollectEntity::getTaskType,query.getTaskType())
+ .orderByDesc(MetadataCollectEntity::getId);
+ dataScopeWithOrgId(wrapper);
+ return wrapper;
+ }
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskColumnServiceimpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskColumnServiceimpl.java
new file mode 100644
index 0000000..7e88c26
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskColumnServiceimpl.java
@@ -0,0 +1,59 @@
+package net.srt.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import net.srt.convert.QualityTaskColumnConvert;
+import net.srt.dao.QualityTaskColumnDao;
+import net.srt.entity.QualityTaskColumnEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
+import net.srt.query.QualityTaskColumnQuery;
+import net.srt.service.QualityTaskColumnService;
+import net.srt.vo.QualityTaskColumnVo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.service.impl
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:37
+ */
+@Service
+@AllArgsConstructor
+public class QualityTaskColumnServiceimpl extends BaseServiceImpl implements QualityTaskColumnService {
+
+ private final QualityTaskColumnDao taskColumnDao;
+ @Override
+ public PageResult page(QualityTaskColumnQuery query) {
+ IPage page=baseMapper.selectPage(getPage(query),getWrapper(query));
+ //return new PageResult<>(QualityTaskColumnConvert.INSTANCE.convertList(page.getRecords()),page.getTotal());
+ List qualityTaskColumnVos = QualityTaskColumnConvert.INSTANCE.convertList(page.getRecords());
+ return new PageResult<>(qualityTaskColumnVos,page.getTotal());
+
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(List idlist) {
+ for (Long id : idlist) {
+ removeById(id);
+ LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
+ wrapper.eq(QualityTaskColumnEntity::getQualityTaskId,id);
+ taskColumnDao.delete(wrapper);
+ }
+ }
+
+ private LambdaQueryWrapper getWrapper(QualityTaskColumnQuery query) {
+ LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
+ wrapper.like(query.getQualityTaskTableId()!=null ,QualityTaskColumnEntity::getQualityTaskTableId,query.getQualityTaskTableId())
+ .eq(query.getCheckResult()!=null,QualityTaskColumnEntity::getCheckResult,query.getCheckResult())
+ .orderByDesc(QualityTaskColumnEntity::getId);
+
+ return wrapper;
+ }
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskServiceimpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskServiceimpl.java
index 708b574..f17cebd 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskServiceimpl.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskServiceimpl.java
@@ -17,8 +17,11 @@ import net.srt.query.QualityTaskQuery;
import net.srt.service.QualityTaskService;
import net.srt.vo.QualityTaskVo;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import srt.cloud.framework.dbswitch.common.util.StringUtil;
+import java.util.List;
+
/**
* @BelongsProject: srt_cloud
* @BelongsPackage: net.srt.service.impl
@@ -35,6 +38,12 @@ public class QualityTaskServiceimpl extends BaseServiceImpl(QualityTaskConvert.INSTANCE.covertList(page.getRecords()),page.getTotal());
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(List idList) {
+ removeByIds(idList);
+ }
+
private LambdaQueryWrapper getWrapper(QualityTaskQuery query) {
LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
wrapper.like(StringUtil.isNotBlank(query.getName()),QualityTaskEntity::getName,query.getName())
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskTableServiceimpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskTableServiceimpl.java
new file mode 100644
index 0000000..d4bad98
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityTaskTableServiceimpl.java
@@ -0,0 +1,74 @@
+package net.srt.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fasterxml.jackson.core.type.TypeReference;
+import lombok.AllArgsConstructor;
+import lombok.SneakyThrows;
+import net.srt.api.module.data.governance.dto.quality.QulaityColumn;
+import net.srt.convert.QualityTaskTableConvert;
+import net.srt.dao.QualityTaskColumnDao;
+import net.srt.dao.QualityTaskDao;
+import net.srt.dao.QualityTaskTableDao;
+import net.srt.entity.QualityTaskTableEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
+import net.srt.query.QualityTableQuery;
+import net.srt.service.QualityTaskTableService;
+import net.srt.vo.QualityTaskTableVo;
+import org.springframework.stereotype.Service;
+import srt.cloud.framework.dbswitch.common.util.SingletonObject;
+import srt.cloud.framework.dbswitch.common.util.StringUtil;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.service.impl
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 20:09
+ */
+@Service
+@AllArgsConstructor
+public class QualityTaskTableServiceimpl extends BaseServiceImpl implements QualityTaskTableService {
+ private final QualityTaskColumnDao taskColumnDao;
+ @SneakyThrows
+ @Override
+ public PageResult page(QualityTableQuery query) {
+ IPage page=baseMapper.selectPage(getPage(query),getWrapper(query));
+ List taskTableVos= QualityTaskTableConvert.INSTANCE.convertList(page.getRecords());
+ for (QualityTaskTableVo taskTableVo : taskTableVos) { taskTableVo.setColumnInfo(SingletonObject.OBJECT_MAPPER.readValue(SingletonObject.OBJECT_MAPPER.writeValueAsString(taskTableVo.getColumnInfo()), new TypeReference>() {
+ }));
+
+ taskTableVo.setCheckColumns(taskTableVo.getColumnInfo().stream().map(QulaityColumn::getColumnName).collect(Collectors.joining(",")));
+ }
+
+ return new PageResult<>(taskTableVos,page.getTotal());
+ }
+
+ @Override
+ public void delete(List idlist) {
+ for (Long id : idlist) {
+ removeById(id);
+ LambdaQueryWrapper task=Wrappers.lambdaQuery();
+ task.eq(QualityTaskTableEntity::getQualityTaskId,id);
+ baseMapper.delete(task);
+
+ }
+ }
+
+ private LambdaQueryWrapper getWrapper(QualityTableQuery query) {
+ LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
+ wrapper.like(query.getQualityTaskId()!=null,QualityTaskTableEntity::getQualityTaskId,query.getQualityTaskId())
+ .like(StringUtil.isNotBlank(query.getTableName()),QualityTaskTableEntity::getTableName,query.getTableName())
+ .eq(query.getStatus()!=null,QualityTaskTableEntity::getStatus,query.getStatus())
+ .ge(query.getStartTime()!=null,QualityTaskTableEntity::getStartTime,query.getStartTime())
+ .le(query.getEndTime()!=null,QualityTaskTableEntity::getEndTime,query.getEndTime())
+ .orderByDesc(QualityTaskTableEntity::getId);
+ return wrapper;
+
+ }
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java
index 73e455f..9a60e6a 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java
@@ -2,14 +2,22 @@ package net.srt.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.AllArgsConstructor;
+import net.srt.controller.StandardController;
+import net.srt.convert.StandardConvert;
import net.srt.dao.StandardDao;
import net.srt.entity.StandardEntity;
+import net.srt.framework.common.exception.ServerException;
import net.srt.framework.common.utils.BeanUtil;
import net.srt.framework.common.utils.BuildTreeUtils;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
import net.srt.service.StandardService;
+import net.srt.utils.CatalogueBuildTreeUtils;
+import net.srt.vo.StandardManagementVo;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import srt.cloud.framework.dbswitch.common.util.StringUtil;
import java.util.List;
@@ -24,6 +32,9 @@ import static net.srt.framework.security.user.SecurityUser.getUserId;
@Service
@AllArgsConstructor
public class StandardServiceImpl extends BaseServiceImpl implements StandardService {
+ @Autowired
+ StandardDao standardDao;
+
@Override
public List listTree() {
@@ -39,48 +50,48 @@ public class StandardServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(StandardEntity::getParentId,id).last("limit 1");
- if(baseMapper.selectCount(wrapper)!=null){
- throw new RuntimeException("请先删除子节点");
+ wrapper.eq(StandardEntity::getParentId, id).last(" limit 1");
+ StandardEntity one = baseMapper.selectOne(wrapper);
+ if (one != null) {
+ throw new ServerException("存在子节点,不允许删除!");
}
- removeById(id);
- //删除属性
- LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>();
- wrapper1.eq(StandardEntity::getParentId,id);
- baseMapper.delete(wrapper1);
-
+ removeById(id);
}
-
}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/utils/CatalogueBuildTreeUtils.java b/srt-cloud-data-governance/src/main/java/net/srt/utils/CatalogueBuildTreeUtils.java
new file mode 100644
index 0000000..353765e
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/utils/CatalogueBuildTreeUtils.java
@@ -0,0 +1,54 @@
+package net.srt.utils;
+
+import net.srt.framework.common.utils.TreeNodeVo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName : CatalogueBuildTreeUtils
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 12:40
+ */
+public class CatalogueBuildTreeUtils {
+ /**
+ * 构建结构树
+ *
+ * @param nodeVos
+ * @return
+ */
+ public static List buildTree(List nodeVos) {
+ List resultVos = new ArrayList<>(10);
+ for (TreeNodeVo node : nodeVos) {
+ // 一级菜单parentId为0
+ if (node.getParentId() == 0) {
+ resultVos.add(node);
+ }
+ }
+ // 为一级菜单设置子菜单,getChild是递归调用的
+ for (TreeNodeVo node : resultVos) {
+ node.setChildren(getChild(node.getId(), nodeVos));
+ }
+ return resultVos;
+ }
+
+
+ private static List getChild(Long id, List nodeVos) {
+ // 子菜单
+ List childList = new ArrayList<>(10);
+ for (TreeNodeVo node : nodeVos) {
+ // 遍历所有节点,将父菜单id与传过来的id比较
+ if (node.getParentId() != 0) {
+ if (node.getParentId().equals(id)) {
+ childList.add(node);
+ }
+ }
+ }
+ // 把子菜单的子菜单再循环一遍
+ for (TreeNodeVo node : childList) {
+ node.setChildren(getChild(node.getId(), nodeVos));
+ }
+ return childList;
+ }
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java
new file mode 100644
index 0000000..bc4a826
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java
@@ -0,0 +1,49 @@
+package net.srt.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : DatastandardVo
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 12:05
+ */
+@Data
+@Schema(description = "标准管理查询")
+public class DatastandardVo implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @TableId("id")
+ private Long id;
+ private Integer categoryId;
+ private String engName;
+ private String cnName;
+ private Integer codeNum;
+ private String dataType;
+ private Integer dataLength;
+ private Integer dataPrecision;
+ private Integer nullable;
+ private Integer standardCodeId;
+ private Integer type;
+ private String note;
+ private Long projectId;
+ private Integer status;
+ private Integer version;
+ private Integer deleted;
+ private String creator;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String updater;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date updateTime;
+ private Integer ifStandardRel;
+ private String group;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/MetadataCollectVO.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/MetadataCollectVO.java
new file mode 100644
index 0000000..09a736e
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/MetadataCollectVO.java
@@ -0,0 +1,74 @@
+package net.srt.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import net.srt.framework.common.utils.DateUtils;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Schema(description = "数据治理-元数据采集")
+public class MetadataCollectVO implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+
+ @Schema(description = "主键id")
+ private Long id;
+
+ @Schema(description = "任务名称")
+ private String name;
+
+ @Schema(description = "数据库类型(1-数据库 2-中台库)")
+ private Integer dbType;
+
+ @Schema(description = "数据库主键id")
+ private Long databaseId;
+
+ @Schema(description = "入库策略,0-全量,1-增量")
+ private Integer strategy;
+
+ @Schema(description = "任务类型 1一次性 2.周期性")
+ private Integer taskType;
+
+ @Schema(description = "cron表达式(秒 分 时 日 月 星期 年,例如 0 0 3 * * ? 表示每天凌晨三点执行)")
+ private String cron;
+
+ @Schema(description = "归属元数据的目录")
+ private Long metadataId;
+
+ @Schema(description = "描述")
+ private String description;
+
+ @Schema(description = "是否已发布 0-否 1-是")
+ private Integer status;
+
+ @Schema(description = "发布时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date releaseTime;
+
+ @Schema(description = "项目id")
+ private Long projectId;
+
+ @Schema(description = "版本号")
+ private Integer version;
+
+ @Schema(description = "删除标识 0:正常 1:已删除")
+ private Integer deleted;
+
+ @Schema(description = "创建者")
+ private Long creator;
+
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date createTime;
+
+ @Schema(description = "更新者")
+ private Long updater;
+
+ @Schema(description = "更新时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date updateTime;
+
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskColumnVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskColumnVo.java
new file mode 100644
index 0000000..240a37d
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskColumnVo.java
@@ -0,0 +1,65 @@
+package net.srt.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import net.srt.framework.common.utils.DateUtils;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.vo
+ * @Author: jpz
+ * @CreateTime: 2023/12/23 11:22
+ */
+@Data
+@Schema(description = "数据治理-字段检测记录")
+public class QualityTaskColumnVo implements Serializable {
+ @Schema(description = "主键id")
+ private Long id;
+
+ @Schema(description = "质量任务id")
+ private Long qualityTaskId;
+
+ @Schema(description = "表检测记录id")
+ private Long qualityTaskTableId;
+
+ @Schema(description = "被检测的数据行")
+ private String checkRow;
+
+ @Schema(description = "未通过详情")
+ private String notPassInfo;
+
+ @Schema(description = "检测时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date checkTime;
+
+ @Schema(description = "0-不通过 1-通过")
+ private Integer checkResult;
+
+ @Schema(description = "项目id")
+ private Long projectId;
+
+ @Schema(description = "版本号")
+ private Integer version;
+
+ @Schema(description = "删除标识 0:正常 1:已删除")
+ private Integer deleted;
+
+ @Schema(description = "创建者")
+ private Long creator;
+
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date createTime;
+
+ @Schema(description = "更新者")
+ private Long updater;
+
+ @Schema(description = "更新时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date updateTime;
+
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskTableVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskTableVo.java
new file mode 100644
index 0000000..2d0c9e4
--- /dev/null
+++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityTaskTableVo.java
@@ -0,0 +1,90 @@
+package net.srt.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import net.srt.api.module.data.governance.dto.quality.QulaityColumn;
+import net.srt.framework.common.utils.DateUtils;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @BelongsProject: srt_cloud
+ * @BelongsPackage: net.srt.vo
+ * @Author: jpz
+ * @CreateTime: 2023/12/22 19:39
+ */
+@Data
+@Schema(description = "数据治理-表检测记录表")
+public class QualityTaskTableVo implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Schema(description = "主键id")
+ private Long id;
+
+ @Schema(description = "质量任务id")
+ private Long qualityTaskId;
+
+ @Schema(description = "被检测id")
+ private Long tableMetadataId;
+
+
+ @Schema(description = "被检测的表")
+ private String tableName;
+
+ @Schema(description = "被检测字段的id")
+ private List columnInfo;
+
+ @Schema(description = "检测条数")
+ private Integer checkCount;
+
+ @Schema(description = "检测通过条数")
+ private Integer passCount;
+
+ @Schema(description = "未通过条数")
+ private Integer notPassCount;
+
+ @Schema(description = "检测时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date checkTime;
+
+ @Schema(description = "开始时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date startTime;
+
+ @Schema(description = "结束时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date endTime;
+
+ @Schema(description = "错误日志")
+ private String errrorLog;
+
+ @Schema(description = "运行状态( 1-等待中 2-运行中 3-正常结束 4-异常结束)")
+ private Integer status;
+
+ @Schema(description = "项目id")
+ private Integer projectId;
+
+ @Schema(description = "版本号")
+ private Integer version;
+
+ @Schema(description = "创建者")
+ private Integer creator;
+
+ @Schema(description = "更新者")
+ private Integer updater;
+
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date createTime;
+
+ @Schema(description = "更新时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date updateTime;
+
+ @Schema(description = "删除标识(0:正常 1:已删除)")
+ private Integer deleted;
+
+ private String checkColumns;
+}
diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/StandardManagementVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/StandardManagementVo.java
index b89861d..326594e 100644
--- a/srt-cloud-data-governance/src/main/java/net/srt/vo/StandardManagementVo.java
+++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/StandardManagementVo.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import net.srt.framework.common.utils.DateUtils;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -16,34 +17,49 @@ import java.util.Date;
* @Date: 2023-12-20 11:24
*/
@Data
-@Schema(description = "标准管理查询")
+@Schema(description = "目录表")
public class StandardManagementVo implements Serializable {
private static final long serialVersionUID = 1L;
- @TableId("id")
+
+ @Schema(description = "主键id")
private Long id;
- private Integer categoryId;
- private String engName;
- private String cnName;
- private Integer codeNum;
- private String dataType;
- private Integer dataLength;
- private Integer dataPrecision;
- private Integer nullable;
- private Integer standardCodeId;
+
+ @Schema(description = "父级id(顶级为0)")
+ private Long parentId;
+ @Schema(description = "0-文件夹 1-文件目录")
private Integer type;
- private String note;
+ @Schema(description = "分组名称")
+ private String name;
+
+ @Schema(description = "分组序号")
+ private Integer orderNo;
+
+ @Schema(description = "描述")
+ private String description;
+
+ @Schema(description = "分组路径")
+ private String path;
+
+ @Schema(description = "项目id")
private Long projectId;
- private Integer status;
+
+ @Schema(description = "版本号")
private Integer version;
+
+ @Schema(description = "删除标识 0:正常 1:已删除")
private Integer deleted;
- private String creator;
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+
+ @Schema(description = "创建者")
+ private Long creator;
+
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date createTime;
- private String updater;
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+
+ @Schema(description = "更新者")
+ private Long updater;
+
+ @Schema(description = "更新时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date updateTime;
- private Integer ifStandardRel;
- private String group;
}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java
new file mode 100644
index 0000000..333fe3a
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java
@@ -0,0 +1,43 @@
+package net.srt.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.AllArgsConstructor;
+import net.srt.convert.DataServiceAppConvert;
+import net.srt.entity.DataServiceApppEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.common.utils.Result;
+import net.srt.query.DataServiceAppQuery;
+import net.srt.service.DataServiceAppService;
+import net.srt.vo.DataServiceAppVo;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * @ClassName : DataServiceAppController
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:53
+ */
+@RestController
+@RequestMapping("/app")
+@AllArgsConstructor
+public class DataServiceAppController {
+ private final DataServiceAppService dataServiceAppService;
+
+ @GetMapping("page")
+ @Operation(summary = "分页")
+ public Result > page(@Valid DataServiceAppQuery query) {
+ PageResult pageResult = dataServiceAppService.page(query);
+ return Result.ok(pageResult);
+ }
+ @GetMapping("{id}")
+ @Operation(summary = "信息")
+ public Result get(@PathVariable("id") Long id){
+ DataServiceApppEntity dataServiceApppEntity = dataServiceAppService.getById(id);
+ return Result.ok(DataServiceAppConvert.INSTANCE.convert(dataServiceApppEntity));
+ }
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java
new file mode 100644
index 0000000..4a8d8bd
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java
@@ -0,0 +1,25 @@
+package net.srt.convert;
+
+import net.srt.entity.DataServiceApppEntity;
+import net.srt.vo.DataServiceAppVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @ClassName : DataServiceAppConvert
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 09:06
+ */
+@Mapper
+public interface DataServiceAppConvert {
+ DataServiceAppConvert INSTANCE = Mappers.getMapper(DataServiceAppConvert.class);
+
+ DataServiceApppEntity convert(DataServiceAppVo vo);
+
+ DataServiceAppVo convert(DataServiceApppEntity entity);
+
+ List convertList(List list);
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java
new file mode 100644
index 0000000..6b1f886
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java
@@ -0,0 +1,17 @@
+package net.srt.dao;
+
+import net.srt.entity.DataServiceApppEntity;
+import net.srt.framework.mybatis.dao.BaseDao;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @ClassName : DataServiceAppDao
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:59
+ */
+@Mapper
+public interface DataServiceAppDao extends BaseDao {
+ DataServiceApppEntity selectByApplyId(@Param("applyId") Long applyId);
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApppEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApppEntity.java
new file mode 100644
index 0000000..116252b
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApppEntity.java
@@ -0,0 +1,44 @@
+package net.srt.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.mybatis.entity.BaseEntity;
+
+/**
+ * @ClassName : DataServiceApppEntity
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:46
+ */
+@EqualsAndHashCode(callSuper = false)
+@Data
+@TableName("data_service_app")
+public class DataServiceApppEntity extends BaseEntity {
+
+ @Schema(description = "名称")
+ private String name;
+
+ @Schema(description = "备注")
+ private String note;
+
+ @Schema(description = "app_key")
+ private String appKey;
+
+ @Schema(description = "app_secret")
+ private String appSecret;
+
+ @Schema(description = "过期描述")
+ private String expireDesc;
+
+ /**
+ * 过期时间 -1永久;0 单次失效;> 0 失效时间
+ */
+ private Long expireDuration;
+
+ private Integer ifMarket;
+
+ @Schema(description = "所属项目id")
+ private Long projectId;
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceAppQuery.java b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceAppQuery.java
new file mode 100644
index 0000000..b43c9ff
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceAppQuery.java
@@ -0,0 +1,23 @@
+package net.srt.query;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.srt.framework.common.query.Query;
+
+/**
+ * @ClassName : DataServiceAppQuery
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:51
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(defaultValue = "app权限")
+public class DataServiceAppQuery extends Query {
+ private String name;
+ private String appKey;
+ private Integer ifMarket;
+ private Boolean ifInfo;
+ private Long applyId;
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java
new file mode 100644
index 0000000..ee05f4d
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java
@@ -0,0 +1,17 @@
+package net.srt.service;
+
+import net.srt.entity.DataServiceApppEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.BaseService;
+import net.srt.query.DataServiceAppQuery;
+import net.srt.vo.DataServiceAppVo;
+
+/**
+ * @ClassName : DataServiceAppService
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:53
+ */
+public interface DataServiceAppService extends BaseService {
+ PageResult page(DataServiceAppQuery query);
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java
new file mode 100644
index 0000000..a605d3a
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java
@@ -0,0 +1,58 @@
+package net.srt.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import net.srt.convert.DataServiceAppConvert;
+import net.srt.dao.DataServiceAppDao;
+import net.srt.entity.DataServiceApppEntity;
+import net.srt.framework.common.page.PageResult;
+import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
+import net.srt.framework.security.user.SecurityUser;
+import net.srt.query.DataServiceAppQuery;
+import net.srt.service.DataServiceAppService;
+import net.srt.vo.DataServiceAppVo;
+import org.springframework.stereotype.Service;
+import srt.cloud.framework.dbswitch.common.util.StringUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName : DataServiceAppServiceImpl
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-23 08:53
+ */
+@Service
+@AllArgsConstructor
+public class DataServiceAppServiceImpl extends BaseServiceImpl implements DataServiceAppService {
+ @Override
+ public PageResult page(DataServiceAppQuery query) {
+ if (query.getApplyId()!=null){
+ DataServiceApppEntity dataServiceApppEntity=baseMapper.selectByApplyId(query.getApplyId());
+ List list=new ArrayList<>(1);
+ if (dataServiceApppEntity!=null){
+ list.add(dataServiceApppEntity);
+ return new PageResult<>(DataServiceAppConvert.INSTANCE.convertList(list),1);
+ }
+ return new PageResult<>(new ArrayList<>(),0);
+
+ }
+ IPage page=baseMapper.selectPage(getPage(query),getWrapper(query));
+ return new PageResult<>(DataServiceAppConvert.INSTANCE.convertList(page.getRecords()),page.getTotal());
+ }
+
+
+ private LambdaQueryWrapper getWrapper(DataServiceAppQuery query) {
+ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
+ wrapper.like(StringUtil.isNotBlank(query.getName()), DataServiceApppEntity::getName, query.getName())
+ .eq(DataServiceApppEntity::getIfMarket, query.getIfMarket() != null ? query.getIfMarket() : 0)
+ .eq(query.getIfMarket() != null, DataServiceApppEntity::getCreator, SecurityUser.getUserId())
+ .eq(StringUtil.isNotBlank(query.getAppKey()), DataServiceApppEntity::getAppKey, query.getAppKey())
+ .orderByDesc(DataServiceApppEntity::getCreateTime).orderByDesc(DataServiceApppEntity::getId);
+ dataScopeWithoutOrgId(wrapper);
+ return wrapper;
+ }
+}
diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceAppVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceAppVo.java
new file mode 100644
index 0000000..41283aa
--- /dev/null
+++ b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceAppVo.java
@@ -0,0 +1,70 @@
+package net.srt.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import net.srt.framework.common.utils.DateUtils;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : DataServiceAppVo
+ * @Description :
+ * @Author : FJJ
+ * @Date: 2023-12-22 21:21
+ */
+@Data
+@Schema(defaultValue = "app权限")
+public class DataServiceAppVo implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "主键id")
+ private Long id;
+
+ @Schema(description = "名称")
+ private String name;
+
+ @Schema(description = "备注")
+ private String note;
+
+ @Schema(description = "app_key")
+ private String appKey;
+
+ @Schema(description = "app_secret")
+ private String appSecret;
+
+ @Schema(description = "过期描述")
+ private String expireDesc;
+
+ /**
+ * 过期时间 -1永久;0 单次失效;> 0 失效时间
+ */
+ private Long expireDuration;
+
+ private Integer ifMarket;
+
+ @Schema(description = "所属项目id")
+ private Long projectId;
+
+ @Schema(description = "版本号")
+ private Integer version;
+
+ @Schema(description = "删除标识 0:正常 1:已删除")
+ private Integer deleted;
+
+ @Schema(description = "创建者")
+ private Long creator;
+
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date createTime;
+
+ @Schema(description = "更新者")
+ private Long updater;
+
+ @Schema(description = "更新时间")
+ @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
+ private Date updateTime;
+
+}
diff --git a/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml b/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml
new file mode 100644
index 0000000..82cb89d
--- /dev/null
+++ b/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar b/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar
index 18326ec..3f435fa 100644
Binary files a/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar and b/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar differ
diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar
index 92b0d59..273eff8 100644
Binary files a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar and b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar differ
diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar
index da5b46b..e6aa6cd 100644
Binary files a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar and b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar differ
diff --git a/srt-data-development/src/main/java/net/srt/Hadoop/controller/HadoopController.java b/srt-data-development/src/main/java/net/srt/Hadoop/controller/HadoopController.java
index b4ff453..6b32ab7 100644
--- a/srt-data-development/src/main/java/net/srt/Hadoop/controller/HadoopController.java
+++ b/srt-data-development/src/main/java/net/srt/Hadoop/controller/HadoopController.java
@@ -42,7 +42,7 @@ public class HadoopController {
}
/**
- * 删除
+ * 修改
* @param HadoopAddDto
* @return
*/
diff --git a/srt-data-development/src/main/java/net/srt/disposition/controller/DataProductionTreeController.java b/srt-data-development/src/main/java/net/srt/disposition/controller/DataProductionTreeController.java
index a104c12..b13dd46 100644
--- a/srt-data-development/src/main/java/net/srt/disposition/controller/DataProductionTreeController.java
+++ b/srt-data-development/src/main/java/net/srt/disposition/controller/DataProductionTreeController.java
@@ -1,13 +1,14 @@
package net.srt.disposition.controller;
import lombok.AllArgsConstructor;
+import net.srt.api.module.data.integrate.dto.DataDatabaseDto;
+import net.srt.disposition.dto.DataProductionTreeDto;
+import net.srt.disposition.dto.DispositionDto;
import net.srt.disposition.service.DataProductionService;
import net.srt.disposition.vo.DataProductionTreeVo;
import net.srt.disposition.vo.DispositionVo;
import net.srt.framework.common.utils.Result;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -23,4 +24,10 @@ public class DataProductionTreeController {
List dispositionVos=dataProductionService.dataTreeList();
return Result.ok(dispositionVos);
}
+
+ @PostMapping
+ public Result add(@RequestBody DataProductionTreeDto dataProductionTreeDto){
+ dataProductionService.add(dataProductionTreeDto);
+ return Result.ok();
+ }
}
diff --git a/srt-data-development/src/main/java/net/srt/disposition/convert/DataProductionTreeConvert.java b/srt-data-development/src/main/java/net/srt/disposition/convert/DataProductionTreeConvert.java
index ead7b57..4d42a00 100644
--- a/srt-data-development/src/main/java/net/srt/disposition/convert/DataProductionTreeConvert.java
+++ b/srt-data-development/src/main/java/net/srt/disposition/convert/DataProductionTreeConvert.java
@@ -1,15 +1,22 @@
package net.srt.disposition.convert;
+import net.srt.disposition.dto.DataProductionTreeDto;
import net.srt.disposition.dto.DispositionDto;
+import net.srt.disposition.entity.DataProductionTreeEntity;
import net.srt.disposition.entity.DispositionEntity;
+import net.srt.disposition.vo.DataProductionTreeVo;
import net.srt.disposition.vo.DispositionVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
+import java.util.List;
+
@Mapper
public interface DataProductionTreeConvert {
DataProductionTreeConvert INSTANCE = Mappers.getMapper(DataProductionTreeConvert.class);
- DispositionVo convert(DispositionEntity entity);
+ DataProductionTreeVo convert(DataProductionTreeEntity entity);
- DispositionEntity convert(DispositionDto vo);
+ List convert(List dataProductionTreeEntities);
+
+ DataProductionTreeEntity convert(DataProductionTreeDto dataProductionTreeDto);
}
diff --git a/srt-data-development/src/main/java/net/srt/disposition/dto/DataProductionTreeDto.java b/srt-data-development/src/main/java/net/srt/disposition/dto/DataProductionTreeDto.java
new file mode 100644
index 0000000..cbfa2ed
--- /dev/null
+++ b/srt-data-development/src/main/java/net/srt/disposition/dto/DataProductionTreeDto.java
@@ -0,0 +1,31 @@
+package net.srt.disposition.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class DataProductionTreeDto {
+ private Integer id;
+ private Integer parentId;
+ private Integer ifLeaf;
+ private Long taskId;
+ private String taskType;
+ private String parentPath;
+ private String path;
+ private Integer orderNo;
+ private String label;
+ private Long metamodelId;
+ private String name;
+ private String icon;
+ private String code;
+ private Boolean builtin;
+ private String description;
+ private Long projectId;
+ private Integer creator;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ private Date creatTime;
+}
diff --git a/srt-data-development/src/main/java/net/srt/disposition/entity/DataProductionTreeEntity.java b/srt-data-development/src/main/java/net/srt/disposition/entity/DataProductionTreeEntity.java
index 6622a6f..28518ea 100644
--- a/srt-data-development/src/main/java/net/srt/disposition/entity/DataProductionTreeEntity.java
+++ b/srt-data-development/src/main/java/net/srt/disposition/entity/DataProductionTreeEntity.java
@@ -1,13 +1,20 @@
package net.srt.disposition.entity;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import net.srt.framework.mybatis.entity.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
@Data
@TableName("data_production_tree")
-public class DataProductionTreeEntity extends BaseEntity {
- private Long parentId;
+public class DataProductionTreeEntity {
+ @TableId("id")
+ private Integer id;
+ private Integer parentId;
private Integer ifLeaf;
private Long taskId;
private String taskType;
@@ -22,4 +29,8 @@ public class DataProductionTreeEntity extends BaseEntity {
private Boolean builtin;
private String description;
private Long projectId;
+ private Integer creator;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ private Date createTime;
}
diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/DataProductionService.java b/srt-data-development/src/main/java/net/srt/disposition/service/DataProductionService.java
index 85a507b..1230b9b 100644
--- a/srt-data-development/src/main/java/net/srt/disposition/service/DataProductionService.java
+++ b/srt-data-development/src/main/java/net/srt/disposition/service/DataProductionService.java
@@ -1,6 +1,9 @@
package net.srt.disposition.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import net.srt.api.module.data.integrate.dto.DataDatabaseDto;
+import net.srt.disposition.dto.DataProductionTreeDto;
+import net.srt.disposition.dto.DispositionDto;
import net.srt.disposition.entity.DataProductionTreeEntity;
import net.srt.disposition.vo.DataProductionTreeVo;
@@ -9,4 +12,6 @@ import java.util.List;
public interface DataProductionService extends IService {
List dataTreeList();
+ void add(DataProductionTreeDto dataProductionTreeDto);
+
}
diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataProductionServiceImpl.java b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataProductionServiceImpl.java
index 6cffcaf..0cabfb2 100644
--- a/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataProductionServiceImpl.java
+++ b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataProductionServiceImpl.java
@@ -6,12 +6,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import net.srt.Fink.entity.FinkEntity;
+import net.srt.api.module.data.integrate.dto.DataDatabaseDto;
+import net.srt.disposition.convert.DataProductionTreeConvert;
+import net.srt.disposition.dto.DataProductionTreeDto;
+import net.srt.disposition.dto.DispositionDto;
import net.srt.disposition.entity.DataProductionTreeEntity;
import net.srt.disposition.mapper.DataProductionMapper;
import net.srt.disposition.service.DataProductionService;
import net.srt.disposition.vo.DataProductionTreeVo;
+import net.srt.framework.common.utils.BeanUtil;
+import net.srt.framework.common.utils.BuildTreeUtils;
+import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
+import srt.cloud.framework.dbswitch.common.util.StringUtil;
import java.util.ArrayList;
import java.util.List;
@@ -20,19 +28,70 @@ import java.util.List;
public class DataProductionServiceImpl extends BaseServiceImpl implements DataProductionService {
@Override
public List dataTreeList() {
- List dataProductionTreeEntities = baseMapper.selectList(null);
- for (DataProductionTreeEntity dataProductionTreeEntity : dataProductionTreeEntities) {
- List dataProductionTreeVos=findDataProductTreeVoList(dataProductionTreeEntity);
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.orderByAsc(DataProductionTreeEntity::getOrderNo);
+ List dataFileCategoryEntities = baseMapper.selectList(wrapper);
+ List treeNodeVos = BeanUtil.copyListProperties(dataFileCategoryEntities, DataProductionTreeVo::new, (oldItem, newItem) -> {
+ newItem.setLabel(oldItem.getName());
+ if (newItem.getPath().contains("/")) {
+ newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/")));
+ }
+ });
+ return buildTree(treeNodeVos);
+ }
+
+ public static List buildTree(List nodeVos) {
+ List resultVos = new ArrayList<>(10);
+ for (DataProductionTreeVo node : nodeVos) {
+ // 一级菜单parentId为0
+ if (node.getParentId() == 0) {
+ resultVos.add(node);
+ }
}
- return null;
+ // 为一级菜单设置子菜单,getChild是递归调用的
+ for (DataProductionTreeVo node : resultVos) {
+ node.setDataProductionTreeVos(getChild(node.getId(), nodeVos));
+ }
+ return resultVos;
}
- private List findDataProductTreeVoList(DataProductionTreeEntity dataProductionTreeEntity) {
- List dataProductionTreeVos=new ArrayList<>();
- QueryWrapper dataProductionTreeEntityQueryWrapper = new QueryWrapper<>();
- dataProductionTreeEntityQueryWrapper.eq("parent_id",dataProductionTreeEntity.getId());
- List dataProductionTreeEntities = baseMapper.selectList(dataProductionTreeEntityQueryWrapper);
- return null;
+ private static List getChild(Long id, List nodeVos) {
+ // 子菜单
+ List childList = new ArrayList<>(10);
+ for (DataProductionTreeVo node : nodeVos) {
+ // 遍历所有节点,将父菜单id与传过来的id比较
+ if (node.getParentId() != 0) {
+ if (node.getParentId().equals(id)) {
+ childList.add(node);
+ }
+ }
+ }
+ // 把子菜单的子菜单再循环一遍
+ for (DataProductionTreeVo node : childList) {
+ node.setDataProductionTreeVos(getChild(node.getId(), nodeVos));
+ }
+ return childList;
}
+
+ @Override
+ public void add(DataProductionTreeDto dataProductionTreeDto) {
+ DataProductionTreeEntity entity = DataProductionTreeConvert.INSTANCE.convert(dataProductionTreeDto);
+ entity.setPath(recursionPath(entity, null));
+ entity.setProjectId(getProjectId());
+ baseMapper.insert(entity);
+ }
+
+ private String recursionPath(DataProductionTreeEntity categoryEntity, String path) {
+ if (StringUtil.isBlank(path)) {
+ path = categoryEntity.getName();
+ }
+ if (categoryEntity.getParentId() != 0) {
+ DataProductionTreeEntity parent = getById(categoryEntity.getParentId());
+ path = parent.getName() + "/" + path;
+ return recursionPath(parent, path);
+ }
+ return path;
+ }
+
}