From c7d2206009b7f6652b1950db29e0b43a4d2c26ed Mon Sep 17 00:00:00 2001
From: sunshine7058 <2564255161@qq.com>
Date: Tue, 14 May 2024 17:30:21 +0800
Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E5=BC=95=E6=93=8E=E7=89=88=E6=9C=ACbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../muyu-data-source-client/pom.xml | 6 +
.../client/config/SourceClientConfig.java | 69 ++++++++++++
.../client/config/SourceClientRunner.java | 40 +++----
.../source/remote/RemoteChildrenService.java | 25 +++++
.../remote/RemoteDataSourceService.java | 4 +
.../remote/factory/RemoteChildrenFactory.java | 25 +++++
.../factory/RemoteDataSourceFactory.java | 5 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../source/controller/ChildrenController.java | 14 +++
.../controller/DataSourceController.java | 22 ++--
.../source/service/DataSourceService.java | 2 +-
.../service/impl/DataSourceServiceImpl.java | 106 +++++++++---------
.../data/test/controller/TestController.java | 32 ++++++
.../java/data/test/service/TestService.java | 16 +++
.../test/service/impl/TestServiceImpl.java | 27 +++++
.../muyu-rule_engine-common/pom.xml | 5 +
16 files changed, 316 insertions(+), 83 deletions(-)
create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteChildrenService.java
create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteChildrenFactory.java
create mode 100644 muyu-modules/muyu-data-test/src/main/java/data/test/controller/TestController.java
create mode 100644 muyu-modules/muyu-data-test/src/main/java/data/test/service/TestService.java
create mode 100644 muyu-modules/muyu-data-test/src/main/java/data/test/service/impl/TestServiceImpl.java
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml b/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml
index 0fc701a..658e7c7 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml
+++ b/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml
@@ -22,5 +22,11 @@
muyu-data-source-remote
3.6.3
+
+ com.muyu
+ muyu-rule_engine-common
+ 3.6.3
+ compile
+
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientConfig.java b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientConfig.java
index 3d0776e..1bc8e11 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientConfig.java
+++ b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientConfig.java
@@ -1,5 +1,22 @@
package com.muyu.data.source.client.config;
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.source.domain.Children;
+import com.muyu.data.source.domain.DataSource;
+import com.muyu.data.source.domain.DatabaseType;
+import com.muyu.data.source.remote.RemoteChildrenService;
+import com.muyu.data.source.remote.RemoteDataSourceService;
+import com.muyu.data.source.remote.RemoteDataTypeService;
+import com.muyu.ruleEngine.model.DataModel;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
@@ -12,5 +29,57 @@ import org.springframework.context.annotation.Import;
@ComponentScan
@Import(value = {SourceClientRunner.class})
public class SourceClientConfig {
+@Autowired
+ private RemoteDataSourceService remoteDataSourceService;
+@Autowired
+ private RemoteDataTypeService remoteDataTypeService;
+@Autowired
+ private RemoteChildrenService remoteChildrenService;
+
+ public List> getDataModel(Long id) {
+ List> list=new ArrayList<>();
+ Result childrenResult = remoteChildrenService.selectChildren(id);
+ Children children = childrenResult.getData();
+ Result dataSourceResult = remoteDataSourceService.getDataSourceById(children.getAssetId());
+ DataSource dataSource = dataSourceResult.getData();
+ Result databaseTypeResult = remoteDataTypeService.getDataType(dataSource.getDataType());
+ DatabaseType databaseType = databaseTypeResult.getData();
+ String jdbcUrl=databaseType.getUrlPre()+dataSource.getHost()+":"+dataSource.getPort()+"/"+dataSource.getDatabaseName()+"?"+dataSource.getConnectionParam();
+ String sql="";
+ if ("mysql".equals(dataSource.getDataType())){
+ sql="select * from" +children.getName();
+
+ }
+ try {
+ Class.forName(databaseType.getDriverManager());
+ Connection connection = DriverManager.getConnection(jdbcUrl, dataSource.getUser(), dataSource.getPassword());
+ PreparedStatement ps = connection.prepareStatement(sql);
+ ResultSet rs = ps.executeQuery();
+ ResultSetMetaData metaData = rs.getMetaData();
+ List dataModelList = new ArrayList<>();
+ while (rs.next()){
+ for (int i = 1; i<= metaData.getColumnCount(); i++) {
+ String columnName = metaData.getColumnName(i);
+ Object value = rs.getObject(i);
+ String columnTypeName = metaData.getColumnTypeName(i);
+ String columnClassName = metaData.getColumnClassName(i);
+ DataModel dataModel = DataModel.builder()
+ .key(columnName)
+ .value(value)
+ .sourceType(columnTypeName)
+ .processType(columnClassName)
+ .processClass(Class.forName(columnClassName))
+ .build();
+ dataModelList.add(dataModel);
+ }
+ list.add(dataModelList);
+
+ }
+
+ } catch (ClassNotFoundException | SQLException e) {
+ throw new RuntimeException(e);
+ }
+ return list;
+ }
}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientRunner.java b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientRunner.java
index afea6de..5ff9053 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientRunner.java
+++ b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/java/com/muyu/data/source/client/config/SourceClientRunner.java
@@ -43,25 +43,25 @@ public class SourceClientRunner implements ApplicationRunner {
DatabaseType databaseType = databaseTypeResult.getData();
DataSourceConfig.init(dataSource,databaseType);
});
- Long key = dataSourceList.get(0).getId();
- log.info("查看连接池");
- DataSourceConfig.size(key);
- Thread.sleep(500);
- log.info("取出一个连接,查看连接池");
- Connection connection = DataSourceConfig.getConnection(key);
- DataSourceConfig.size(key);
- Thread.sleep(500);
- JDBCConcreteClass jdbcConcreteClass = new JDBCConcreteClass();
- ResultSet resultSet = jdbcConcreteClass.getResultSet(connection, "select * from engine_maintenance");
- ResultSetMetaData metaData = resultSet.getMetaData();
- for (int i = 1; i <= metaData.getColumnCount(); i++) {
- log.info("字段名称:{}",metaData.getColumnClassName(i));
- log.info("数据库类型:{}",metaData.getColumnTypeName(i));
- log.info("java类型:{}",metaData.getColumnClassName(i));
- }
-
- log.info("返回一个连接,查看连接池");
- DataSourceConfig.returnConn(connection);
- DataSourceConfig.size(key);
+// Long key = dataSourceList.get(0).getId();
+// log.info("查看连接池");
+// DataSourceConfig.size(key);
+// Thread.sleep(500);
+// log.info("取出一个连接,查看连接池");
+// Connection connection = DataSourceConfig.getConnection(key);
+// DataSourceConfig.size(key);
+// Thread.sleep(500);
+// JDBCConcreteClass jdbcConcreteClass = new JDBCConcreteClass();
+// ResultSet resultSet = jdbcConcreteClass.getResultSet(connection, "select * from engine_maintenance");
+// ResultSetMetaData metaData = resultSet.getMetaData();
+// for (int i = 1; i <= metaData.getColumnCount(); i++) {
+// log.info("字段名称:{}",metaData.getColumnClassName(i));
+// log.info("数据库类型:{}",metaData.getColumnTypeName(i));
+// log.info("java类型:{}",metaData.getColumnClassName(i));
+// }
+//
+// log.info("返回一个连接,查看连接池");
+// DataSourceConfig.returnConn(connection);
+// DataSourceConfig.size(key);
}
}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteChildrenService.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteChildrenService.java
new file mode 100644
index 0000000..0c2737b
--- /dev/null
+++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteChildrenService.java
@@ -0,0 +1,25 @@
+package com.muyu.data.source.remote;
+
+import com.muyu.common.core.constant.ServiceNameConstants;
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.source.domain.Children;
+import com.muyu.data.source.remote.factory.RemoteChildrenFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+
+/**
+ * 数据源类型远程调用
+ *
+ * @author CHX
+ * on 2024/5/10 星期五
+ */
+@FeignClient(contextId = "RemoteChildrenService",
+ value = ServiceNameConstants.SOURCE_SERVICE,
+ fallbackFactory = RemoteChildrenFactory.class,
+ path = "/children"
+)
+public interface RemoteChildrenService {
+ @GetMapping("/selectChildren/{id}")
+ public Result selectChildren(@PathVariable("id") Long id);
+}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java
index c173116..3a03704 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java
+++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java
@@ -7,6 +7,7 @@ import com.muyu.data.source.remote.factory.RemoteDataSourceFactory;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
/**
* 数据源远程调用
@@ -24,4 +25,7 @@ import org.springframework.web.bind.annotation.GetMapping;
public interface RemoteDataSourceService {
@GetMapping("getDataSourceList/")
public Result> getDataSourceList();
+
+@GetMapping("/getDataSourceById/{id}")
+public Result getDataSourceById(@PathVariable("id") Long id);
}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteChildrenFactory.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteChildrenFactory.java
new file mode 100644
index 0000000..29914a0
--- /dev/null
+++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteChildrenFactory.java
@@ -0,0 +1,25 @@
+package com.muyu.data.source.remote.factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.source.domain.Children;
+import com.muyu.data.source.remote.RemoteChildrenService;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+/**
+ * 熔断
+ *
+ * @author CHX
+ * on 2024/5/10 星期五
+ */
+public class RemoteChildrenFactory implements FallbackFactory {
+
+ @Override
+ public RemoteChildrenService create(Throwable cause) {
+ return new RemoteChildrenService() {
+ @Override
+ public Result selectChildren(Long id) {
+ return Result.error(cause.getMessage());
+ }
+ };
+ }
+}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteDataSourceFactory.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteDataSourceFactory.java
index 3985f75..dcd84ed 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteDataSourceFactory.java
+++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/factory/RemoteDataSourceFactory.java
@@ -24,6 +24,11 @@ public class RemoteDataSourceFactory implements FallbackFactory> getDataSourceList() {
return Result.error(cause.getMessage());
}
+
+ @Override
+ public Result getDataSourceById(Long id) {
+ return Result.error(cause.getMessage());
+ }
};
}
}
diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index beed792..72cd8d9 100644
--- a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1,3 @@
com.muyu.data.source.remote.factory.RemoteDataSourceFactory
com.muyu.data.source.remote.factory.RemoteDataTypeFactory
+com.muyu.data.source.remote.factory.RemoteChildrenFactory
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
index 68d19f8..06e858c 100644
--- 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
@@ -1,5 +1,11 @@
package com.muyu.data.source.controller;
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.source.domain.Children;
+import com.muyu.data.source.service.ChildrenService;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
@@ -15,4 +21,12 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/children")
public class ChildrenController {
+ @Autowired
+ private ChildrenService childrenService;
+
+ @GetMapping("/selectChildren/{id}")
+ public Result selectChildren(@PathVariable("id") Long id){
+ Children children=childrenService.getById(id);
+ return Result.success(children);
+ }
}
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 2eca105..3776051 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
@@ -203,12 +203,18 @@ public class DataSourceController extends BaseController {
return Result.success(countResp);
}
-/**
- * 获取数据实例集合
- */
-@GetMapping("/getDataModel/{id}")
- public Result getDataModel(@PathVariable("id")Long id){
- List> dataModelMapList= dataSourceService.getDataModel(id);
-return Result.success(dataModelMapList);
-}
+///**
+// * 获取数据实例集合
+// */
+//@GetMapping("/getDataModel/{id}")
+// public Result getDataModel(@PathVariable("id")Long id){
+// List> dataModelMapList= dataSourceService.getDataModel(id);
+//return Result.success(dataModelMapList);
+//}
+
+ @GetMapping("/getDataSourceById/{id}")
+ public Result getDataSourceById(@PathVariable("id") Long id) {
+ DataSource dataSource = dataSourceService.getById(id);
+ return success(dataSource);
+ }
}
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 111e3d6..3fe7722 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
@@ -45,5 +45,5 @@ public interface DataSourceService extends IService {
Result updTableData(TableData tableData);
- List> getDataModel(Long id);
+// List> getDataModel(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 e5a6ad6..68715af 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
@@ -406,7 +406,7 @@ public class DataSourceServiceImpl extends ServiceImpl> getDataModel(Long id) {
- List> list = new ArrayList<>();
- Children children = childrenService.getOne(new LambdaQueryWrapper<>() {{
- eq(Children::getId, id);
- }});
- DataSource dataSource = this.getOne(new LambdaQueryWrapper<>() {{
- eq(DataSource::getId, children.getAssetId());
- }});
- DatabaseType databaseType = databaseTypeService.getOne(new LambdaQueryWrapper<>() {{
- eq(DatabaseType::getDatabaseName, dataSource.getDataType());
- }});
- List tableDataList = tableDataService.list(new LambdaQueryWrapper<>() {{
- eq(TableData::getChildrenId, id);
- }});
- String sql="";
- String query="";
- String url=databaseType.getUrlPre()+dataSource.getHost()+":"+dataSource.getPort()+"/"+dataSource.getDatabaseName()+"?"+dataSource.getConnectionParam();
- for (TableData tableData : tableDataList) {
- query+=tableData.getName()+",";
- }
- query=query.substring(0,query.length()-1);
- if ("mysql".equals(dataSource.getDataType())){
- sql="select"+query+"from"+children.getName();
- }
-
- try {
- Class.forName(databaseType.getDriverManager());
- Connection connection=DriverManager.getConnection(url,dataSource.getUser(),dataSource.getPassword());
- Statement statement = connection.createStatement();
- ResultSet rs = statement.executeQuery(sql);
- ResultSetMetaData metaData = rs.getMetaData();
-while (rs.next()){
- HashMap map = new HashMap<>();
- for (int i = 1; i <= metaData.getColumnCount(); i++) {
- String columnName = metaData.getColumnName(i);
- Object value = rs.getObject(i);
- map.put(columnName, value);
- }
- list.add(map);
-}
- } catch (ClassNotFoundException | SQLException e) {
- throw new RuntimeException(e);
- }
- return list;
- }
-
+// @Override
+// public List> getDataModel(Long id) {
+// List> list = new ArrayList<>();
+// Children children = childrenService.getOne(new LambdaQueryWrapper<>() {{
+// eq(Children::getId, id);
+// }});
+// DataSource dataSource = this.getOne(new LambdaQueryWrapper<>() {{
+// eq(DataSource::getId, children.getAssetId());
+// }});
+// DatabaseType databaseType = databaseTypeService.getOne(new LambdaQueryWrapper<>() {{
+// eq(DatabaseType::getDatabaseName, dataSource.getDataType());
+// }});
+// List tableDataList = tableDataService.list(new LambdaQueryWrapper<>() {{
+// eq(TableData::getChildrenId, id);
+// }});
+// String sql="";
+// String query="";
+// String url=databaseType.getUrlPre()+dataSource.getHost()+":"+dataSource.getPort()+"/"+dataSource.getDatabaseName()+"?"+dataSource.getConnectionParam();
+// for (TableData tableData : tableDataList) {
+// query+=tableData.getName()+",";
+// }
+// query=query.substring(0,query.length()-1);
+// if ("mysql".equals(dataSource.getDataType())){
+// sql="select"+query+"from"+children.getName();
+// }
+//
+// try {
+// Class.forName(databaseType.getDriverManager());
+// Connection connection=DriverManager.getConnection(url,dataSource.getUser(),dataSource.getPassword());
+// Statement statement = connection.createStatement();
+// ResultSet rs = statement.executeQuery(sql);
+// ResultSetMetaData metaData = rs.getMetaData();
+//while (rs.next()){
+// HashMap map = new HashMap<>();
+// for (int i = 1; i <= metaData.getColumnCount(); i++) {
+// String columnName = metaData.getColumnName(i);
+// Object value = rs.getObject(i);
+// map.put(columnName, value);
+// }
+// list.add(map);
+//}
+// } catch (ClassNotFoundException | SQLException e) {
+// throw new RuntimeException(e);
+// }
+// return list;
+// }
+ // 获取字段在java中的映射类型
public static String getJavaType(String driveClass, String jdbcUrl, DataSource dataSource, String tableName,
String columnName) {
String sql = "";
@@ -549,11 +549,9 @@ while (rs.next()){
ResultSetMetaData rsd = pst.executeQuery().getMetaData();
for (int i = 1; i <= rsd.getColumnCount(); i++) {
if (rsd.getColumnName(i).equals(columnName)) {
- if (rsd.getColumnClassName(i).equals("java.time.LocalDateTime")) {
- javaType = "LocalDateTime";
- } else {
- javaType = rsd.getColumnClassName(i).replace("java.lang.", "");
- }
+ javaType = rsd.getColumnClassName(i);
+// String[] split = rsd.getColumnClassName(i).split("\\.");
+// javaType = split[2];
}
}
pst.close();
diff --git a/muyu-modules/muyu-data-test/src/main/java/data/test/controller/TestController.java b/muyu-modules/muyu-data-test/src/main/java/data/test/controller/TestController.java
new file mode 100644
index 0000000..04c00c2
--- /dev/null
+++ b/muyu-modules/muyu-data-test/src/main/java/data/test/controller/TestController.java
@@ -0,0 +1,32 @@
+package data.test.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.ruleEngine.model.DataModel;
+import data.test.service.TestService;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+/**
+ * 测试控制层
+ *
+ * @author HuFangMing
+ * @ClassName: TestController
+ * @createTime: 2024/5/14 11:37
+ */
+
+@RestController
+@RequestMapping("/test")
+public class TestController {
+@Autowired
+ private TestService testService;
+
+@GetMapping("/getDataModelList/{id}")
+ public Result>> getDataModelList(@PathVariable("id")Long id){
+List> dataModelList=testService.getDataModelList(id);
+return Result.success(dataModelList);
+}
+}
diff --git a/muyu-modules/muyu-data-test/src/main/java/data/test/service/TestService.java b/muyu-modules/muyu-data-test/src/main/java/data/test/service/TestService.java
new file mode 100644
index 0000000..f30e2be
--- /dev/null
+++ b/muyu-modules/muyu-data-test/src/main/java/data/test/service/TestService.java
@@ -0,0 +1,16 @@
+package data.test.service;
+
+import com.muyu.ruleEngine.model.DataModel;
+import java.util.List;
+
+/**
+ * @author HuFangMing
+ * @ClassName: TestService
+ * @createTime: 2024/5/14 11:39
+ */
+
+
+public interface TestService {
+
+ List> getDataModelList(Long id);
+}
diff --git a/muyu-modules/muyu-data-test/src/main/java/data/test/service/impl/TestServiceImpl.java b/muyu-modules/muyu-data-test/src/main/java/data/test/service/impl/TestServiceImpl.java
new file mode 100644
index 0000000..cea88e2
--- /dev/null
+++ b/muyu-modules/muyu-data-test/src/main/java/data/test/service/impl/TestServiceImpl.java
@@ -0,0 +1,27 @@
+package data.test.service.impl;
+
+import com.muyu.data.source.client.config.SourceClientConfig;
+import com.muyu.ruleEngine.model.DataModel;
+import data.test.service.TestService;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author HuFangMing
+ * @ClassName: TestServiceImpl
+ * @createTime: 2024/5/14 11:39
+ */
+
+@Service
+public class TestServiceImpl implements TestService {
+
+ @Autowired
+ private SourceClientConfig sourceClientConfig;
+ @Override
+ public List> getDataModelList(Long id) {
+ List> dataModelList = sourceClientConfig.getDataModel(id);
+
+ return dataModelList;
+ }
+}
diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml
index 21c55ab..9dab342 100644
--- a/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml
+++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml
@@ -22,5 +22,10 @@
com.muyu
muyu-common-core
+
+ com.muyu
+ muyu-rule_engine-common
+ 3.6.3
+