From 5dabacaf84a766c57d4e18aa392f390bb5acaf58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E8=B0=83?= <3084898776@qq.com> Date: Tue, 3 Sep 2024 22:33:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E4=BA=A7=E6=8E=88=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/domain/model/DataValueModel.java | 30 ++++++++++ .../controller/DataValueController.java | 10 ++-- .../controller/TableDataController.java | 56 ------------------- .../controller/TableInfoController.java | 34 ++++++++++- .../muyu/source/service/DataValueService.java | 3 +- .../service/Impl/DataValueServiceImpl.java | 10 ++-- .../source/service/Impl/TableServiceImpl.java | 8 +++ .../muyu/source/service/TableInfoService.java | 2 + 8 files changed, 85 insertions(+), 68 deletions(-) create mode 100644 muyu-source-common/src/main/java/com/muyu/source/domain/model/DataValueModel.java diff --git a/muyu-source-common/src/main/java/com/muyu/source/domain/model/DataValueModel.java b/muyu-source-common/src/main/java/com/muyu/source/domain/model/DataValueModel.java new file mode 100644 index 0000000..ce0e415 --- /dev/null +++ b/muyu-source-common/src/main/java/com/muyu/source/domain/model/DataValueModel.java @@ -0,0 +1,30 @@ +package com.muyu.source.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @author Lenovo + * @ Tool:IntelliJ IDEA + * @ Author:CHX + * @ Date:2024-09-03-22:14 + * @ Version:1.0 + * @ Description:任务表查询时用到 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class DataValueModel { + /** + * 数据接入的ID + */ + private Long basicId; + /** + * 拼写的sql语句 + */ + private String sql; + +} diff --git a/muyu-source-server/src/main/java/com/muyu/source/controller/DataValueController.java b/muyu-source-server/src/main/java/com/muyu/source/controller/DataValueController.java index 8cded0a..81c21a0 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/controller/DataValueController.java +++ b/muyu-source-server/src/main/java/com/muyu/source/controller/DataValueController.java @@ -2,14 +2,12 @@ package com.muyu.source.controller; import com.muyu.common.core.domain.Result; import com.muyu.source.core.DataValue; +import com.muyu.source.domain.model.DataValueModel; import com.muyu.source.service.DataValueService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -38,8 +36,8 @@ public class DataValueController { */ @PostMapping("/findTableValue") @Operation(summary = "根据基础表ID和SQL语句查询数据", description = "根据基础表ID和SQL语句查询数据") - public Result findTableValue(@RequestParam("basicId") Long basicId, @RequestParam("sql") String sql) { - List dataValueList = dataValueService.findTableValue(basicId, sql); + public Result findTableValue(@RequestBody DataValueModel dataValueModel) { + List dataValueList = dataValueService.findTableValue(dataValueModel); return Result.success(dataValueList); } diff --git a/muyu-source-server/src/main/java/com/muyu/source/controller/TableDataController.java b/muyu-source-server/src/main/java/com/muyu/source/controller/TableDataController.java index 3c876d0..69c68b3 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/controller/TableDataController.java +++ b/muyu-source-server/src/main/java/com/muyu/source/controller/TableDataController.java @@ -155,60 +155,4 @@ public class TableDataController extends BaseController { } -// @GetMapping("/findTableInfo") -// @Operation(summary = "查询表结构树", description = "查询表结构树") -// public Result> findTableInfo() { -//// AssetDataSource dataSource = assetDataSourceService.getOne(new LambdaQueryWrapper<>() {{ -//// eq(AssetDataSource::getType, "dataSource"); -//// }}); -// List tableInfoTreeReps = new ArrayList(); -// List dataSource = assetDataSourceService.list(new LambdaQueryWrapper<>() {{ -// eq(AssetDataSource::getType, "dataSource"); -// }}); -// for (AssetDataSource assetDataSource : dataSource) { -// List childrenList =childrenService.findSourceList(assetDataSource.getId()); -// for (Children children : childrenList) { -// TableInfoTreeRep tableInfoTreeRep = new TableInfoTreeRep(); -// tableInfoTreeRep.setChildren(children); -// List tableInfoRepList =childrenService.findTablesList(children.getAssetId()); -// tableInfoTreeRep.setTableInfoRepList(tableInfoRepList); -// for(TableInfoRep tableInfoRep:tableInfoRepList){ -// List tableDataList =tableDataService.findTableDataList(tableInfoRep.getId()); -// tableInfoRep.setTableDataList(tableDataList); -// } -// tableInfoTreeReps.add(tableInfoTreeRep); -// } -// return Result.success(tableInfoTreeReps); -// } -// return Result.success(tableInfoTreeReps); -// } -// -// /** -// * 根据表名查询表结构 -// * @return -// */ -// @GetMapping("/findTableInfoList") -// @Operation(summary = "根据表名查询表结构", description = "根据表名查询表结构") -// public Result findByTableName(){ -// assetDataSourceService.list(new LambdaQueryWrapper<>(){{ -// eq(AssetDataSource::getType,"dataSource"); -// }}); -// // -// List childrenList = childrenService.list(); -// List list = childrenList.stream().map(children -> { -// TableInfoResp tableInfoResp = Children.toTableInfoResp(children); -// tableInfoResp.setChildren(getChildren(children, childrenList)); -// return tableInfoResp; -// }).toList(); -// return Result.success(list); -// } -// -// private List getChildren(Children children, List childrenList) { -// return childrenList.stream().filter(children1 -> children1.getAssetId().equals(children.getId())).map( -// children2 -> Children.toTableInfoResp(children2) -// ).toList(); -// -// } - - } diff --git a/muyu-source-server/src/main/java/com/muyu/source/controller/TableInfoController.java b/muyu-source-server/src/main/java/com/muyu/source/controller/TableInfoController.java index 17e6ff4..66d826a 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/controller/TableInfoController.java +++ b/muyu-source-server/src/main/java/com/muyu/source/controller/TableInfoController.java @@ -7,6 +7,7 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.LoginUser; import com.muyu.common.system.domain.SysUser; +import com.muyu.source.domain.Structure; import com.muyu.source.domain.TableInfo; import com.muyu.source.domain.rep.AssetAuthorizationRep; import com.muyu.source.domain.rep.TableInfoResp; @@ -17,6 +18,7 @@ import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -215,7 +217,6 @@ public class TableInfoController { TableInfo byId = tableInfoService.getById(id); return Result.success(byId); } - /** * 根据id查询数据集 * @param id id @@ -228,4 +229,35 @@ public class TableInfoController { List list =tableInfoService.findTableNameById(id); return Result.success(list); } + + /** + * 给规则引擎调用 + * 根据parentId查询数据接入 + * @param parentId 父id + * @return 查询的结果 + */ + @PostMapping("/selectById") + @Operation(summary = "根据parentId查询数据接入" , description = "根据parentId查询数据接入") + public Result> selectById(@RequestParam("parentId") Long parentId){ + List tableInfo =tableInfoService.selectById(parentId); + return Result.success(tableInfo); + } + + /** + * 根据parentId向下查询出子表 + * @param parentId 父id + * @return 返回tableInfo列表 + */ + @PostMapping("/findTableIdByParentId/{parentId}") + @Operation(summary = "根据parentId向下查询出子表" , description = "根据parentId向下查询出子表") + public Result> findTableIdByParentId(@PathVariable("parentId") Long parentId) { + List tableInfoList = null; + List structureIds = tableInfoService.findTableIdByParentId(parentId); + for (Long structureId : structureIds) { + tableInfoList = tableInfoService.selectById(structureId); + } + return Result.success(tableInfoList); + } + + } diff --git a/muyu-source-server/src/main/java/com/muyu/source/service/DataValueService.java b/muyu-source-server/src/main/java/com/muyu/source/service/DataValueService.java index 995e9ac..a5d39f5 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/service/DataValueService.java +++ b/muyu-source-server/src/main/java/com/muyu/source/service/DataValueService.java @@ -2,6 +2,7 @@ package com.muyu.source.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.source.core.DataValue; +import com.muyu.source.domain.model.DataValueModel; import java.util.List; @@ -14,7 +15,7 @@ import java.util.List; * @ Description:资产展示{KLTV}业务层 */ public interface DataValueService extends IService { - List findTableValue(Long basicId, String sql); + List findTableValue(DataValueModel dataValueModel); List findTableValueByTableName(Long basicId, String tableName); } diff --git a/muyu-source-server/src/main/java/com/muyu/source/service/Impl/DataValueServiceImpl.java b/muyu-source-server/src/main/java/com/muyu/source/service/Impl/DataValueServiceImpl.java index d1ef0f1..24adc33 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/service/Impl/DataValueServiceImpl.java +++ b/muyu-source-server/src/main/java/com/muyu/source/service/Impl/DataValueServiceImpl.java @@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.source.core.DataType; import com.muyu.source.core.DataValue; import com.muyu.source.domain.DataSource; +import com.muyu.source.domain.model.DataValueModel; import com.muyu.source.mapper.DataValueMapper; import com.muyu.source.mysql.MysqlQuery; import com.muyu.source.pool.MysqlPool; import com.muyu.source.service.DataSourceService; import com.muyu.source.service.DataValueService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties; import org.springframework.stereotype.Service; import java.sql.*; @@ -32,17 +34,17 @@ public class DataValueServiceImpl extends ServiceImpl findTableValue(Long basicId, String sql) { + public List findTableValue(DataValueModel dataValueModel) { List dataValueList = new ArrayList<>(); MysqlQuery mysqlQuery = new MysqlQuery(); - mysqlQuery.setDataSourceId(String.valueOf(basicId)); - DataSource dataSource = dataSourceService.getById(basicId); + mysqlQuery.setDataSourceId(String.valueOf(dataValueModel.getBasicId())); + DataSource dataSource = dataSourceService.getById(dataValueModel.getBasicId()); MysqlPool mysqlPool = new MysqlPool(dataSource); mysqlPool.init(); Connection conn = mysqlPool.getConn(); try { - PreparedStatement preparedStatement = conn.prepareStatement(sql); + PreparedStatement preparedStatement = conn.prepareStatement(dataValueModel.getSql()); ResultSet resultSet = preparedStatement.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); diff --git a/muyu-source-server/src/main/java/com/muyu/source/service/Impl/TableServiceImpl.java b/muyu-source-server/src/main/java/com/muyu/source/service/Impl/TableServiceImpl.java index 931afc7..c0237c7 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/service/Impl/TableServiceImpl.java +++ b/muyu-source-server/src/main/java/com/muyu/source/service/Impl/TableServiceImpl.java @@ -66,4 +66,12 @@ public class TableServiceImpl extends ServiceImpl im return tableInfoMapper.findTableIdByParentId(basicId); } + @Override + public List selectById(Long parentId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TableInfo::getParentId, 0); + List tableInfoList = tableInfoMapper.selectList(queryWrapper); + return tableInfoList; + } + } diff --git a/muyu-source-server/src/main/java/com/muyu/source/service/TableInfoService.java b/muyu-source-server/src/main/java/com/muyu/source/service/TableInfoService.java index 6bfd781..27a104e 100644 --- a/muyu-source-server/src/main/java/com/muyu/source/service/TableInfoService.java +++ b/muyu-source-server/src/main/java/com/muyu/source/service/TableInfoService.java @@ -41,4 +41,6 @@ public interface TableInfoService extends IService { * @return List */ List findTableIdByParentId(Long basicId); + + List selectById(Long parentId); }