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 8cdb735..e48cd22 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 @@ -2,6 +2,7 @@ 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; @@ -20,11 +21,11 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @NoArgsConstructor @AllArgsConstructor +@TableName(value = "asset_data_source") public class AssetDataSource { // 主键 @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(name = "编号", value = "编号") private Long id; // 接入数据源名称 private String name; 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 85f91c3..55d9426 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 @@ -23,7 +23,7 @@ public class ShowTableReq { /** * 资产数据源 */ - private AssetDataSource assetDataSource; + private AssetDataSource assetStructure; /** * 表名 */ 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 79f57f7..cc053b4 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 @@ -5,6 +5,7 @@ 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; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -147,7 +148,7 @@ public class DataSourceController extends BaseController { * 获取数据库下表描述 */ @RequiresPermissions("data:source:childrenlist") - @GetMapping("/getChildrenList") + @PostMapping("/getChildrenList") public Result> getChildrenList(@RequestBody AssetDataSource assetDataSource){ return Result.success( dataSourceService.getChildrenList(assetDataSource)); @@ -157,20 +158,11 @@ public class DataSourceController extends BaseController { * 获取表下的字段描述 */ @RequiresPermissions("data:source:addtbledate") - @GetMapping("/addTbleDate") + @PostMapping("/addTableData") public Result addTbleDate(@RequestBody ShowTableReq showTableReq){ - return Result.success( dataSourceService.addTbleDate(showTableReq)); - } - - /** - * 查询所有表结构 - */ - @RequiresPermissions("data:source:selecttablelist") - @GetMapping("/selectTableList") - public Result> selectTableList(){ - - return Result.success( dataSourceService.selectTableList()); + dataSourceService.addTbleDate(showTableReq); + return Result.success(); } @@ -192,6 +184,13 @@ public class DataSourceController extends BaseController { List tableDataList=dataSourceService.selectTableData(id); return Result.success(tableDataList); } - +/** + * 查询单个数据库下表总数 + */ +@GetMapping("/getTableDataCount/{id}") + public Result getTableDataCount(@PathVariable("id")Long id){ + CountResp countResp =dataSourceService.getTableDataCount(id); + return Result.success(countResp); +} } 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 3242733..4566250 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 @@ -6,10 +6,11 @@ import com.muyu.data.source.domain.Children; import com.muyu.data.source.domain.TableData; import com.muyu.data.source.domain.resp.ColumnResp; import com.muyu.data.source.domain.resp.Table; -import feign.Param; + import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.data.source.domain.DataSource; +import org.apache.ibatis.annotations.Param; /** * 数据源Mapper接口 @@ -23,6 +24,4 @@ public interface DataSourceMapper extends BaseMapper { List selectColumn(@Param("databaseName") String databaseName, @Param("tableName") String tableName); 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/service/DataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DataSourceService.java index a524967..27efaf6 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,6 +1,5 @@ package com.muyu.data.source.service; -import com.muyu.common.core.domain.Result; import com.muyu.data.source.domain.AssetDataSource; import com.muyu.data.source.domain.Children; import com.muyu.data.source.domain.TableData; @@ -33,12 +32,13 @@ public interface DataSourceService extends IService { List getChildrenList(AssetDataSource assetDataSource ); - Result addTbleDate(ShowTableReq showTableReq); + void addTbleDate(ShowTableReq showTableReq); - List selectTableList(); CountResp selectTableDataCount(); List selectTableData(Long id); + + CountResp getTableDataCount(Long id); } 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 ad9afd7..17e04ba 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 @@ -1,7 +1,6 @@ package com.muyu.data.source.service.impl; -import com.muyu.common.core.domain.Result; import com.muyu.data.source.domain.AssetDataSource; import com.muyu.data.source.domain.Children; import com.muyu.data.source.domain.DatabaseType; @@ -19,15 +18,11 @@ import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.util.HashSet; import java.util.List; import com.muyu.common.core.utils.ObjUtils; -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; @@ -192,7 +187,7 @@ public class DataSourceServiceImpl extends ServiceImpl() {{ - eq(DataSource::getName, showTableReq.getAssetDataSource().getName()); - eq(DataSource::getDatabaseName, showTableReq.getAssetDataSource().getDatabaseName()); + + + + + + + + + DataSource dataSource = this.getOne(new LambdaQueryWrapper<>() {{ + eq(DataSource::getName, showTableReq.getAssetStructure().getName()); + eq(DataSource::getDatabaseName, showTableReq.getAssetStructure().getDatabaseName()); }}); - Children children = childrenService.getOne(new LambdaQueryWrapper<>(){{ - eq(Children::getAssetId, showTableReq.getAssetDataSource().getId()); - eq(Children::getName,showTableReq.getTableName()); + Children children = childrenService.getOne(new LambdaQueryWrapper<>() {{ + eq(Children::getAssetId, showTableReq.getAssetStructure().getId()); + eq(Children::getName, showTableReq.getTableName()); }}); // 获取数据类型对象 - DatabaseType dataType=databaseTypeService.getOne(new LambdaQueryWrapper<>(){{ - eq(DatabaseType::getDatabaseName, dataSource.getDataType()); - } - }); + 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 = tableDataService.list(new LambdaQueryWrapper<>(){{ + List tableDataList = tableDataService.list(new LambdaQueryWrapper<>() {{ eq(TableData::getChildrenId, children.getId()); }}); @@ -252,14 +256,9 @@ public class DataSourceServiceImpl extends ServiceImpl selectTableList() { - List tableDataList = tableDataService.list(); - return tableDataList; - } @Override public CountResp selectTableDataCount() { @@ -284,6 +283,21 @@ public class DataSourceServiceImpl extends ServiceImpl childrenList = childrenService.list(new LambdaQueryWrapper<>() {{ + eq(Children::getAssetId, id); + }}); + long size = childrenList.size(); + long sum = childrenList.stream().mapToLong(Children::getDataTotal).sum(); + return CountResp.builder() + .assetStructureCount(0L) + .assetStructureTableCount(size) + .assetStructureTableDataCount(sum) + .build(); + } + 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/resources/mapper/data/DataSourceMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml index c37944c..b8c8404 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 @@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -29,7 +29,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 + select id, name, system_name, database_name, data_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 @@ -57,7 +57,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where table_schema = #{databaseName} AND table_name = #{tableName} - +