From aeb3e52a366e3793e4cc249196be59cbcf8161a4 Mon Sep 17 00:00:00 2001 From: Qin Dong Ming <2720806930@qq.com> Date: Fri, 6 Sep 2024 15:05:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/controller/EngIneController.java | 1 - .../muyu/controller/SourceDataController.java | 48 +++++++++++++ .../main/java/com/muyu/domain/TableInfo.java | 68 +++++++++++++++++++ .../java/com/muyu/domain/TableInfoResp.java | 48 +++++++++++++ .../java/com/muyu/mapper/SourceMapper.java | 16 +++++ .../com/muyu/service/TableInfoService.java | 14 ++++ .../serviceImpl/TableInfoServiceImpl.java | 22 ++++++ 7 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 cloud-etl-server/src/main/java/com/muyu/controller/SourceDataController.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/domain/TableInfo.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/domain/TableInfoResp.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/mapper/SourceMapper.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/service/TableInfoService.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/TableInfoServiceImpl.java diff --git a/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java b/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java index 7e0b95f..ea7e9a6 100644 --- a/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java +++ b/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java @@ -224,5 +224,4 @@ public class EngIneController extends BaseController { public Result findVersionById(@PathVariable("id") Long id) { return Result.success(engineVersionService.getById(id)); } - } diff --git a/cloud-etl-server/src/main/java/com/muyu/controller/SourceDataController.java b/cloud-etl-server/src/main/java/com/muyu/controller/SourceDataController.java new file mode 100644 index 0000000..b8a54ec --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/controller/SourceDataController.java @@ -0,0 +1,48 @@ +package com.muyu.controller; + +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.domain.TableInfo; +import com.muyu.domain.TableInfoResp; +import com.muyu.domain.constants.Result; +import com.muyu.service.TableInfoService; +import jakarta.validation.constraints.NotNull; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:qdm + * @Package:com.muyu.controller + * @Project:engine + * @name:SourceDataController + * @Date:2024/9/6 14:58 + */ +@RestController +@RequestMapping("/source") +public class SourceDataController extends BaseController { + + @Autowired + TableInfoService tableInfoService; + + //查询所有的数据进行 + @GetMapping("/findTableInfoList") + public Result findByTableName() { + List list = tableInfoService.list(); + List respList = list.stream().filter(tableInfo -> tableInfo.getParentId()==0).map(tableInfo -> { + TableInfoResp tableInfoResp = TableInfo.toTableInfoResp(tableInfo); + tableInfoResp.setChildren(getChildren(tableInfo, list)); + return tableInfoResp; + }).toList(); + return Result.success(respList); + } + + @NotNull + private static List getChildren(TableInfo tableInfo, List list) { + return list.stream().filter(tableInfo1 -> tableInfo1.getParentId().equals(tableInfo.getId())).map( + tableInfo2 -> TableInfo.toTableInfoResp(tableInfo2) + ).toList(); + } +} diff --git a/cloud-etl-server/src/main/java/com/muyu/domain/TableInfo.java b/cloud-etl-server/src/main/java/com/muyu/domain/TableInfo.java new file mode 100644 index 0000000..ef98535 --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/domain/TableInfo.java @@ -0,0 +1,68 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +@EqualsAndHashCode(callSuper = true) +@TableName(value ="table_info") //数据库表相关 +public class TableInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + //数据源主键 + private Long basicId; + + /** 表名称/数据库 */ + @Excel(name = "表名称/数据库") + private String tableName; + + /** 表备注 */ + @Excel(name = "表备注") + private String tableRemark; + + /** 表的数据来源 */ + @Excel(name = "数据来源类型") + private String type; + + /** 数据量 */ + @Excel(name = "数据量") + private Long dataNum; + + /** 是否核心 'Y'是 'N'不是 */ + @Excel(name = "是否核心 'Y'是 'N'不是") + private String center; + + private Long parentId; + + + + public static TableInfoResp toTableInfoResp(TableInfo tableInfo) { + return TableInfoResp.builder() + .id(tableInfo.id) + .parentId(tableInfo.parentId) + .basicId(tableInfo.basicId) + .tableName(tableInfo.tableName) + .tableRemark(tableInfo.tableRemark) + .isCenter(tableInfo.center) + .dataNum(tableInfo.dataNum) + .build(); + } + + +} diff --git a/cloud-etl-server/src/main/java/com/muyu/domain/TableInfoResp.java b/cloud-etl-server/src/main/java/com/muyu/domain/TableInfoResp.java new file mode 100644 index 0000000..22a30ec --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/domain/TableInfoResp.java @@ -0,0 +1,48 @@ +package com.muyu.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class TableInfoResp { + + /** + * id + */ + private Long id; + + /** + * 表名称/数据库 + */ + private String tableName; + + + //数据源主键 + private Long basicId; + + /** + * 表备注 + */ + private String tableRemark; + + /** 数据量 */ + private Long dataNum; + + /** 是否核心 'Y'是 'N'不是 */ + private String isCenter; + + //父级ID + private Long parentId; + + /** + * 子内容 + */ + private List children; +} diff --git a/cloud-etl-server/src/main/java/com/muyu/mapper/SourceMapper.java b/cloud-etl-server/src/main/java/com/muyu/mapper/SourceMapper.java new file mode 100644 index 0000000..040b53b --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/mapper/SourceMapper.java @@ -0,0 +1,16 @@ +package com.muyu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.TableInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:qdm + * @Package:com.muyu.mapper + * @Project:engine + * @name:SourceMapper + * @Date:2024/9/6 15:02 + */ +@Mapper +public interface SourceMapper extends BaseMapper { +} diff --git a/cloud-etl-server/src/main/java/com/muyu/service/TableInfoService.java b/cloud-etl-server/src/main/java/com/muyu/service/TableInfoService.java new file mode 100644 index 0000000..49d7d96 --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/service/TableInfoService.java @@ -0,0 +1,14 @@ +package com.muyu.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.TableInfo; + +/** + * @Author:qdm + * @Package:com.muyu.service + * @Project:engine + * @name:TableInfoService + * @Date:2024/9/6 15:01 + */ +public interface TableInfoService extends IService { +} diff --git a/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/TableInfoServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/TableInfoServiceImpl.java new file mode 100644 index 0000000..4159ebd --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/TableInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.muyu.service.serviceImpl; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.TableInfo; +import com.muyu.mapper.SourceMapper; +import com.muyu.service.TableInfoService; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Service; + +/** + * @Author:qdm + * @Package:com.muyu.service.serviceImpl + * @Project:engine + * @name:TableInfoServiceImpl + * @Date:2024/9/6 15:01 + */ +@Log4j2 +@Service +public class TableInfoServiceImpl extends ServiceImpl implements TableInfoService { + +}