From e3f57b58832ec294bee345ebbe027b2262af7a40 Mon Sep 17 00:00:00 2001 From: sunshine7058 <2564255161@qq.com> Date: Wed, 24 Apr 2024 22:24:03 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E6=A0=91=E7=BA=A7=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/source/domain/AssetDataSource.java | 26 +++--- .../com/muyu/data/source/domain/Children.java | 40 +++++++-- .../muyu/data/source/domain/DatabaseType.java | 2 +- .../muyu/data/source/domain/TableData.java | 72 +++++++++++++--- .../data/source/domain/req/ShowTableReq.java | 11 ++- .../data/source/domain/resp/ColumnResp.java | 41 +++++++-- .../data/source/domain/resp/CountResp.java | 16 +++- .../muyu/data/source/domain/resp/Table.java | 18 +++- .../controller/AssetDataSourceController.java | 18 ++++ .../source/controller/ChildrenController.java | 18 ++++ .../controller/DataSourceController.java | 11 ++- .../controller/TableDateController.java | 18 ++++ .../source/mapper/AssetDataSourceMapper.java | 17 ++++ .../data/source/mapper/ChildrenMapper.java | 17 ++++ .../data/source/mapper/DataSourceMapper.java | 18 +--- .../data/source/mapper/TableDataMapper.java | 18 ++++ .../service/AssetDataSourceService.java | 17 ++++ .../data/source/service/ChildrenService.java | 17 ++++ .../source/service/DataSourceService.java | 4 +- .../data/source/service/TableDataService.java | 17 ++++ .../impl/AssetDataSourceServiceImpl.java | 18 ++++ .../service/impl/ChildrenServiceImpl.java | 18 ++++ .../service/impl/DataSourceServiceImpl.java | 84 ++++++++++--------- .../service/impl/TableDataServiceImpl.java | 20 +++++ .../mapper/data/AssetDataSourceMapper.xml | 11 +++ .../resources/mapper/data/ChildrenMapper.xml | 11 +++ .../mapper/data/DataSourceMapper.xml | 44 +--------- .../resources/mapper/data/TableDataMapper.xml | 11 +++ 28 files changed, 484 insertions(+), 149 deletions(-) create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetDataSourceController.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/ChildrenController.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/TableDateController.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetDataSourceMapper.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/ChildrenMapper.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/TableDataMapper.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetDataSourceService.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/ChildrenService.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/TableDataService.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetDataSourceServiceImpl.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/ChildrenServiceImpl.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/TableDataServiceImpl.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetDataSourceMapper.xml create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/ChildrenMapper.xml create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/TableDataMapper.xml diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetDataSource.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetDataSource.java index e9675bf..8cdb735 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetDataSource.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetDataSource.java @@ -1,5 +1,8 @@ package com.muyu.data.source.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -18,14 +21,17 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor public class AssetDataSource { -// 主键 -private Long id; -// 名称 -private String name; -// 系统名 -private String systemName; -// 数据库名称 -private String databaseName; - //类型 -private String type; + + // 主键 + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(name = "编号", value = "编号") + private Long id; + // 接入数据源名称 + private String name; + // 数据来源系统名 + private String systemName; + // 数据库名称 + private String databaseName; + //前台展示类型 + private String type; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Children.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Children.java index 7d9b3c5..c689fed 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Children.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/Children.java @@ -1,12 +1,16 @@ package com.muyu.data.source.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** - * 数据库下的表数据展示 + * 数据库结构 * * @author HuFangMing * @ClassName: Children @@ -17,11 +21,33 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @NoArgsConstructor @AllArgsConstructor +@TableName("children") public class Children { -private Long id; -private String name; -private String as; -private Long dataTotal; -private String type; -private Long assetId; + + /** + * 主键 + **/ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(name = "编号", value = "编号") + private Long id; + /** + * 表名 + **/ + private String name; + /** + * 表注释 + **/ + private String annotation; + /** + * 数据条数 + **/ + private Long dataTotal; + /** + * 前台展示类型 + **/ + private String type; + /** + * 资产数据源id + **/ + private Long assetId; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseType.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseType.java index a10efb3..2f3c3a3 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseType.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DatabaseType.java @@ -16,7 +16,7 @@ import com.muyu.data.source.domain.req.DatabaseTypeEditReq; import com.muyu.common.core.web.domain.BaseEntity; /** - * 数据源类型对象 database_type + * 数据库类型 database_type * * @author hufangming * @date 2024-04-21 diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java index 8249d5c..2145e3c 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java @@ -1,5 +1,8 @@ package com.muyu.data.source.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -17,18 +20,61 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @NoArgsConstructor @AllArgsConstructor + public class TableData { -private Long id; -private String name; -private String comment; -private String isPrimaryKey; -private String type; -private String mappingType; -private Long length; -private Long decimalPlaces; -private String isNull; -private String defaultValue; -private String isDict; -private String dictKey; -private Long childrenId; + + /** + * 主键 + **/ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(name = "编号", value = "编号") + private Long id; + /** + * 字段名称 + **/ + private String name; + /** + * 字段注释 + **/ + private String comment; + /** + * 是否主键 + **/ + private String isPrimaryKey; + /** + * 字段类型 + **/ + private String type; + /** + * 映射类型 + **/ + private String mappingType; + /** + * 长度 + **/ + private Long length; + /** + * 小数位 + **/ + private Long decimalPlaces; + /** + * 是否为空 + **/ + private String isNull; + /** + * 默认值 + **/ + private String defaultValue; + /** + * 是否字典 + **/ + private String isDict; + /** + * 映射字典 + **/ + private String dictKey; + /** + * 数据结构id + **/ + private Long childrenId; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/ShowTableReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/ShowTableReq.java index ab0db1f..85f91c3 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/ShowTableReq.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/ShowTableReq.java @@ -19,6 +19,13 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor public class ShowTableReq { -private AssetDataSource assetDataSource; -private String tableName; + + /** + * 资产数据源 + */ + private AssetDataSource assetDataSource; + /** + * 表名 + */ + private String tableName; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java index b5c179a..ce272d4 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java @@ -18,12 +18,37 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor public class ColumnResp { -private String columnName; -private String columnComment; -private String columnKey; -private String columnType; -private Long length; -private Long numericScale; -private String isNullable; -private String columnDefault; + + /** + * 字段名称 + **/ + private String columnName; + /** + * 字段描述 + **/ + private String columnComment; + /** + * 是否主键 + **/ + private String columnKey; + /** + * 字段类型 + **/ + private String columnType; + /** + * 长度 + **/ + private Long length; + /** + * 小数位 + **/ + private Long numericScale; + /** + * 是否为空 + **/ + private String isNullable; + /** + * 默认值 + **/ + private String columnDefault; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/CountResp.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/CountResp.java index 8da7527..bb42248 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/CountResp.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/CountResp.java @@ -18,7 +18,17 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor public class CountResp { -private Long assetStructureCount; -private Long assetStructureTableCount; -private Long assetStructureTableDataCount; + + /** + * 数据接入数量 + **/ + private Long assetStructureCount; + /** + * 资产模型数量 + **/ + private Long assetStructureTableCount; + /** + * 数据模型数量 + **/ + private Long assetStructureTableDataCount; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java index 523bc35..f0c97cf 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java @@ -6,7 +6,7 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** - * 表 + * 数据库表结构 * * @author HuFangMing * @ClassName: Table @@ -18,7 +18,17 @@ import lombok.experimental.SuperBuilder; @AllArgsConstructor @NoArgsConstructor public class Table { -private String tableName; -private String tableComment; -private Long tableRows; + + /** + * 表名称 + */ + private String tableName; + /** + * 表注释 + */ + private String tableComment; + /** + * 表数据条数 + */ + private Long tableRows; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetDataSourceController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetDataSourceController.java new file mode 100644 index 0000000..624e95e --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetDataSourceController.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 资产数据源控制层 + * + * @author HuFangMing + * @ClassName: AssetDataSourceController + * @createTime: 2024/4/24 17:00 + */ + +@RestController +@RequestMapping("/assetDataSource") +public class AssetDataSourceController { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/ChildrenController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/ChildrenController.java new file mode 100644 index 0000000..68d19f8 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/ChildrenController.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 数据库结构控制层 + * + * @author HuFangMing + * @ClassName: ChildrenController + * @createTime: 2024/4/24 17:02 + */ + +@RestController +@RequestMapping("/children") +public class ChildrenController { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java index 5c4157c..79f57f7 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java @@ -3,6 +3,7 @@ package com.muyu.data.source.controller; import com.muyu.data.source.domain.AssetDataSource; import com.muyu.data.source.domain.Children; import com.muyu.data.source.domain.DatabaseType; +import com.muyu.data.source.domain.TableData; import com.muyu.data.source.domain.req.ShowTableReq; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -167,7 +168,7 @@ public class DataSourceController extends BaseController { */ @RequiresPermissions("data:source:selecttablelist") @GetMapping("/selectTableList") - public Result> selectTableList(){ + public Result> selectTableList(){ return Result.success( dataSourceService.selectTableList()); } @@ -183,6 +184,14 @@ public class DataSourceController extends BaseController { return Result.success( dataSourceService.selectTableDataCount()); } + /** + * 根据childrenId查询表结构 + */ + @GetMapping("/selectTableData/{id}") + public Result selectTableData(@PathVariable("id")Long id){ + List tableDataList=dataSourceService.selectTableData(id); + return Result.success(tableDataList); + } } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/TableDateController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/TableDateController.java new file mode 100644 index 0000000..d687585 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/TableDateController.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 表结构控制层 + * + * @author HuFangMing + * @ClassName: TableDateController + * @createTime: 2024/4/24 17:04 + */ + +@RestController +@RequestMapping("/") +public class TableDateController { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetDataSourceMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetDataSourceMapper.java new file mode 100644 index 0000000..ebf3772 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetDataSourceMapper.java @@ -0,0 +1,17 @@ +package com.muyu.data.source.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.data.source.domain.AssetDataSource; + +/** + * 资产数据源mapper层 + * + * @author HuFangMing + * @ClassName: AssetDataSourceMapper + * @createTime: 2024/4/24 17:08 + */ + + +public interface AssetDataSourceMapper extends BaseMapper { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/ChildrenMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/ChildrenMapper.java new file mode 100644 index 0000000..eddc7fe --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/ChildrenMapper.java @@ -0,0 +1,17 @@ +package com.muyu.data.source.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.data.source.domain.Children; + +/** + * 数据结构mapper + * + * @author HuFangMing + * @ClassName: ChildrenMapper + * @createTime: 2024/4/24 17:10 + */ + + +public interface ChildrenMapper extends BaseMapper { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java index 8a1bec6..3242733 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java @@ -20,25 +20,9 @@ import com.muyu.data.source.domain.DataSource; public interface DataSourceMapper extends BaseMapper { - Result insertAsset(AssetDataSource assetDataSource); - - List selectAssetList(); - - List selectTable(String databaseName); - - Result addChildren(Children children); - - List getChildrenList(Long id); - List selectColumn(@Param("databaseName") String databaseName, @Param("tableName") String tableName); - Children selectChildren(@Param("id") Long id, @Param("tableName") String tableName); - - void addTableData(TableData tableData); - - List getTableDataList(Long id); - - List selectTableData(); + List
selectTable(@Param("databaseName") String databaseName); List selectChildrenList(); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/TableDataMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/TableDataMapper.java new file mode 100644 index 0000000..3f21ede --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/TableDataMapper.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.data.source.domain.TableData; + +/** + * 表结构mapper + * + * @author HuFangMing + * @ClassName: TableDataMapper + * @createTime: 2024/4/24 17:12 + */ + + +public interface TableDataMapper extends BaseMapper { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetDataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetDataSourceService.java new file mode 100644 index 0000000..73661bc --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetDataSourceService.java @@ -0,0 +1,17 @@ +package com.muyu.data.source.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.data.source.domain.AssetDataSource; + +/** + * 资产数据源业务层 + * + * @author HuFangMing + * @ClassName: AssetDataSourceService + * @createTime: 2024/4/24 17:15 + */ + + +public interface AssetDataSourceService extends IService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/ChildrenService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/ChildrenService.java new file mode 100644 index 0000000..3a76e88 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/ChildrenService.java @@ -0,0 +1,17 @@ +package com.muyu.data.source.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.data.source.domain.Children; + +/** + * 数据库结构业务层 + * + * @author HuFangMing + * @ClassName: ChildrenService + * @createTime: 2024/4/24 17:16 + */ + + +public interface ChildrenService extends IService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java index 6be1f19..a524967 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java @@ -1,10 +1,8 @@ package com.muyu.data.source.service; import com.muyu.common.core.domain.Result; -import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.data.source.domain.AssetDataSource; import com.muyu.data.source.domain.Children; -import com.muyu.data.source.domain.DatabaseType; import com.muyu.data.source.domain.TableData; import com.muyu.data.source.domain.req.ShowTableReq; import com.muyu.data.source.domain.resp.CountResp; @@ -41,4 +39,6 @@ public interface DataSourceService extends IService { CountResp selectTableDataCount(); + + List selectTableData(Long id); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/TableDataService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/TableDataService.java new file mode 100644 index 0000000..0fa901e --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/TableDataService.java @@ -0,0 +1,17 @@ +package com.muyu.data.source.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.data.source.domain.TableData; + +/** + * 表结构业务层 + * + * @author HuFangMing + * @ClassName: TableDataService + * @createTime: 2024/4/24 17:17 + */ + + +public interface TableDataService extends IService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetDataSourceServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetDataSourceServiceImpl.java new file mode 100644 index 0000000..1c2ead3 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetDataSourceServiceImpl.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.data.source.domain.AssetDataSource; +import com.muyu.data.source.mapper.AssetDataSourceMapper; +import com.muyu.data.source.service.AssetDataSourceService; +import org.springframework.stereotype.Service; + +/** + * @author HuFangMing + * @ClassName: AssetDataSourceServiceImpl + * @createTime: 2024/4/24 17:18 + */ + +@Service +public class AssetDataSourceServiceImpl extends ServiceImpl implements AssetDataSourceService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/ChildrenServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/ChildrenServiceImpl.java new file mode 100644 index 0000000..a80cd89 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/ChildrenServiceImpl.java @@ -0,0 +1,18 @@ +package com.muyu.data.source.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.data.source.domain.Children; +import com.muyu.data.source.mapper.ChildrenMapper; +import com.muyu.data.source.service.ChildrenService; +import org.springframework.stereotype.Service; + +/** + * @author HuFangMing + * @ClassName: ChildrenServiceImpl + * @createTime: 2024/4/24 17:20 + */ + +@Service +public class ChildrenServiceImpl extends ServiceImpl implements ChildrenService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java index 95de8dd..ad9afd7 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java @@ -10,7 +10,10 @@ import com.muyu.data.source.domain.req.ShowTableReq; import com.muyu.data.source.domain.resp.ColumnResp; import com.muyu.data.source.domain.resp.CountResp; import com.muyu.data.source.domain.resp.Table; +import com.muyu.data.source.service.AssetDataSourceService; +import com.muyu.data.source.service.ChildrenService; import com.muyu.data.source.service.DatabaseTypeService; +import com.muyu.data.source.service.TableDataService; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; @@ -24,6 +27,7 @@ import java.util.Optional; import java.util.Set; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.connection.DataType; import org.springframework.stereotype.Service; import com.muyu.data.source.mapper.DataSourceMapper; import com.muyu.data.source.domain.DataSource; @@ -45,8 +49,13 @@ public class DataSourceServiceImpl extends ServiceImpl dataSourceList = this.list( - new LambdaQueryWrapper() - .eq(DataSource::getDataType, dataSource.getDataType()) - ); - - // 使用Set进行去重, - Set uniqueDataSources = new HashSet<>(dataSourceList); - - Optional source = uniqueDataSources.stream().distinct().findFirst(); - if (source.isPresent()) { - dataSource = source.get(); - } + DatabaseType dataType = databaseTypeService.getOne(new LambdaQueryWrapper<>() {{ + eq(DatabaseType::getDatabaseName, dataSource.getDataType()); + }}); String jdbcUrl = ""; String driveClass = ""; boolean flag = false; - DatabaseType dataType = databaseTypeService.getOne( - new LambdaQueryWrapper() - .eq(DatabaseType::getDatabaseId, dataSource.getDataType()) - ); - if (dataType.getDatabaseName().equals("mysql") || dataType.equals("MYSQL")) { driveClass = dataType.getDriverManager(); @@ -158,21 +153,21 @@ public class DataSourceServiceImpl extends ServiceImpl getAssetList() { - List list = dataSourceMapper.selectAssetList(); - return list; + List assetDataSourceList = assetDataSourceService.list(); + return assetDataSourceList; } @Override @@ -185,7 +180,9 @@ public class DataSourceServiceImpl extends ServiceImpl childrenList = dataSourceMapper.getChildrenList(assetDataSource.getId()); + List childrenList = childrenService.list(new LambdaQueryWrapper() {{ + eq(Children::getAssetId, assetDataSource.getId()); + }}); //获取表描述的集合 List
tableList = dataSourceMapper.selectTable(assetDataSource.getDatabaseName()); //判断是否存在 @@ -193,13 +190,13 @@ public class DataSourceServiceImpl extends ServiceImpl { Children children = Children.builder() .name(table.getTableName()) - .as(table.getTableComment()) + .annotation(table.getTableComment()) .dataTotal(table.getTableRows()) .type("dataTble") .assetId(assetDataSource.getId()) .build(); //添加到数据库 - dataSourceMapper.addChildren(children); + childrenService.save(children); }); } @@ -217,19 +214,22 @@ public class DataSourceServiceImpl extends ServiceImpl(){{ + eq(Children::getAssetId, showTableReq.getAssetDataSource().getId()); + eq(Children::getName,showTableReq.getTableName()); + }}); // 获取数据类型对象 - Result dataTypeResult = dataTypeController.getByType(dataSource.getDataType()); - if (Result.isError(dataTypeResult)) { - throw new RuntimeException("数据类型不存在"); - } - DatabaseType dataType = dataTypeResult.getData(); + DatabaseType dataType=databaseTypeService.getOne(new LambdaQueryWrapper<>(){{ + eq(DatabaseType::getDatabaseName, dataSource.getDataType()); + } + }); String jdbcUrl = dataType.getUrlPre() + dataSource.getHost() + ":" + dataSource.getPort() + "/" + dataSource.getDatabaseName() + "?" + dataSource.getConnectionParam(); List columnRespList = dataSourceMapper.selectColumn(dataSource.getDatabaseName(), showTableReq.getTableName()); - List tableDataList = dataSourceMapper.getTableDataList(children.getId()); + List tableDataList = tableDataService.list(new LambdaQueryWrapper<>(){{ + eq(TableData::getChildrenId, children.getId()); + }}); if (tableDataList == null || tableDataList.size() == 0) { columnRespList.forEach(columnResp -> { @@ -249,7 +249,7 @@ public class DataSourceServiceImpl extends ServiceImpl selectTableList() { - List tableDataList = dataSourceMapper.selectTableData(); + List tableDataList = tableDataService.list(); return tableDataList; } @Override public CountResp selectTableDataCount() { - List assetDataSourceList = dataSourceMapper.selectAssetList(); + List assetDataSourceList = assetDataSourceService.list(); long size = assetDataSourceList.size(); - List childrenList = dataSourceMapper.selectChildrenList(); + List childrenList = childrenService.list(); long size1 = childrenList.size(); long sum = childrenList.stream().mapToLong(Children::getDataTotal).sum(); CountResp countResp = CountResp.builder() @@ -276,6 +276,14 @@ public class DataSourceServiceImpl extends ServiceImpl selectTableData(Long id) { + List tableDataList = tableDataService.list(new LambdaQueryWrapper<>() {{ + eq(TableData::getChildrenId, id); + }}); + return tableDataList; + } + public static String getJavaType(String driveClass, String url, String username, String password, String tableName, String columnName) { Connection connection = buildConnection(driveClass, url, username, password); PreparedStatement pst = null; diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/TableDataServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/TableDataServiceImpl.java new file mode 100644 index 0000000..665a9cd --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/TableDataServiceImpl.java @@ -0,0 +1,20 @@ +package com.muyu.data.source.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.data.source.domain.TableData; +import com.muyu.data.source.mapper.TableDataMapper; +import com.muyu.data.source.service.TableDataService; +import org.springframework.stereotype.Service; + +/** + * 表结构实现层 + * + * @author HuFangMing + * @ClassName: TableDataServiceImpl + * @createTime: 2024/4/24 18:58 + */ + +@Service +public class TableDataServiceImpl extends ServiceImpl implements TableDataService { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetDataSourceMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetDataSourceMapper.xml new file mode 100644 index 0000000..b71b2d6 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetDataSourceMapper.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/ChildrenMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/ChildrenMapper.xml new file mode 100644 index 0000000..7f385d8 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/ChildrenMapper.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml index 18eba6e..c37944c 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml @@ -32,25 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, name, system_name, database_name, database_type, host, port, user, password, type, connection_param, status, init_num, max_num, max_wait_time, max_wait_size, remark, create_by, create_time, update_by, update_time from data_source - - INSERT INTO `data_source`.`asset_data_source` (`name`, `system_name`, `database_name`, `type`) - VALUES (#{name}, #{systemName}, #{databaseName}, #{type}); - - - INSERT INTO `data_source`.`children` (`name`, `as`, `data_total`, `type`, `asset_id`) - VALUES (#{name}, #{as}, #{dataTotal}, #{type}, #{assetId}); - - - - INSERT INTO `data_source`.`table_data` (`name`, `comment`, `is_primary_key`, `type`, `mapping_type`, `length`, `decimal_places`, `is_null`, `default_value`, `is_dict`, `dict_key`, `children_id`) - VALUES (#{name}, #{comment}, #{isPrimaryKey}, #{type}, #{mappingType}, #{length}, #{decimalPlaces}, #{isNull}, #{defaultValue}, #{isDict}, #{dictKey}, #{childrenId}); - - - - + - - - - - - diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/TableDataMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/TableDataMapper.xml new file mode 100644 index 0000000..01e047d --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/TableDataMapper.xml @@ -0,0 +1,11 @@ + + + + + +