diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java index 67c0d15..0fe4c93 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java @@ -40,7 +40,7 @@ public interface KvtMapper extends BaseMapper { List selectDataStructure(@Param("databaseName") String databaseName, @Param("name") String name); - void add(DataStructure dataStructure); + void add(@Param("dataStructure") List dataStructure); List selectDataStur(@Param("tableName") String tableName); diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java index 9ef05f3..eca31ab 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java @@ -37,7 +37,7 @@ public interface KvtService extends IService { List selectDataStructure(@Param("databaseName") String databaseName, @Param("name") String name); - void add(DataStructure dataStructure); + List selectDataStur(String tableName); diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java index 34713d6..6701d6b 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java @@ -208,10 +208,6 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe return baseMapper.selectDataStructure(databaseName, name); } - @Override - public void add(DataStructure dataStructure) { - baseMapper.add(dataStructure); - } @Override public List selectDataStur(String tableName) { @@ -467,8 +463,7 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe preparedStatement = connection.prepareStatement(this.sql4() + " information_schema.columns.table_name = '" + tableName + " ' "); } - - + List structures = new ArrayList<>(); ResultSet executeQuery = preparedStatement.executeQuery(); while (executeQuery.next()) { if (kvt.getType() == 1) { @@ -515,68 +510,73 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe .type(type) .mappingType(mappingType) .length(length) - .decimalPlaces(null) + .decimalPlaces(decimalPlaces) .isNull(isNull) .defaultValue(defaultValue) - .isDict(null) + .isDict(isNull) .dictKey(null) .build(); + structures.add(build); } - if (kvt.getType() == 2) { - //名称 - String name = executeQuery.getString(1); - /** - * 注释 - */ - String comment = executeQuery.getString(2); - /** - * 类型 - */ - String type = executeQuery.getString(3); - /** - * 长度 - */ - String length = executeQuery.getString(4); - - /** - * 映射类型 - */ - String mappingType = executeQuery.getString(5); - - /** - * 默认值 - */ - String defaultValue = executeQuery.getString(6); - - /** - * 是否为空 - */ - String isNull = executeQuery.getString(7); - /** - * 是否主键 - */ - String isPrimaryKey = executeQuery.getString(8); - build = DataStructure.builder() - .tableName(tableName) - .warName(kvt.getDatabaseName()) - .name(name) - .comment(comment) - .isPrimaryKey(isPrimaryKey) - .type(type) - .mappingType(mappingType) - .length(length) - .decimalPlaces(null) - .isNull(isNull) - .defaultValue(defaultValue) - .isDict(null) - .dictKey(null) - .build(); - - } +// if (kvt.getType() == 2) { +// //名称 +// String name = executeQuery.getString(1); +// /** +// * 注释 +// */ +// String comment = executeQuery.getString(2); +// /** +// * 类型 +// */ +// String type = executeQuery.getString(3); +// /** +// * 长度 +// */ +// String length = executeQuery.getString(4); +// +// /** +// * 映射类型 +// */ +// String mappingType = executeQuery.getString(5); +// +// /** +// * 默认值 +// */ +// String defaultValue = executeQuery.getString(6); +// +// /** +// * 是否为空 +// */ +// String isNull = executeQuery.getString(7); +// /** +// * 是否主键 +// */ +// String isPrimaryKey = executeQuery.getString(8); +// build = DataStructure.builder() +// .tableName(tableName) +// .warName(kvt.getDatabaseName()) +// .name(name) +// .comment(comment) +// .isPrimaryKey(isPrimaryKey) +// .type(type) +// .mappingType(mappingType) +// .length(length) +// .decimalPlaces(null) +// .isNull(isNull) +// .defaultValue(defaultValue) +// .isDict(null) +// .dictKey(null) +// .build(); +// structures.add(build); +// +// } - baseMapper.add(build); + } + if (structures!=null){ + + baseMapper.add(structures); } executeQuery.close(); } catch (SQLException e) { diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml index c67508c..d739b8a 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml @@ -246,17 +246,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - INSERT INTO `data_basete`.`data_structure` - ( `name`, `comment`,`war_name`,`table_name`, `isPrimaryKey`, `type`, `mappingType`, - `length`, `decimalPlaces`, `isNull`, `defaultValue`, `isDict`, - `dictKey`) - VALUES ( #{name}, #{comment}, #{warName} ,#{tableName},#{isPrimaryKey}, #{type}, #{mappingType}, - #{length}, #{decimalPlaces}, #{isNull}, #{defaultValue}, #{isDict}, - #{dictKey}); - - INSERT INTO `data_basete`.`child` ( `name`, `as`, `data_total`, `is_primary_key`) VALUES @@ -320,5 +310,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" INSERT INTO `data_basete`.`permissions_user` ( `user_id`, `kvt_id`, `tbale_name`, `dept_id`) values (#{userId},#{kvtId},#{tbaleName},#{deptId}) + + INSERT INTO `data_basete`.`data_structure` + ( `name`, `comment`,`war_name`,`table_name`, `isPrimaryKey`, `type`, `mappingType`, + `length`, `decimalPlaces`, `isNull`, `defaultValue`, `isDict`, + `dictKey`) + VALUES + + (#{dataStructure.name}, #{dataStructure.comment},#{dataStructure.warName},#{dataStructure.tableName}, #{dataStructure.isPrimaryKey}, #{dataStructure.type}, #{dataStructure.mappingType}, + #{dataStructure.length}, #{dataStructure.decimalPlaces}, #{dataStructure.isNull}, #{dataStructure.defaultValue}, #{dataStructure.isDict}, + #{dataStructure.dictKey}) + + + diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/scope/DataSetEngine.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/scope/DataSetEngine.java index 2d556b7..4e8e8d6 100644 --- a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/scope/DataSetEngine.java +++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/scope/DataSetEngine.java @@ -9,4 +9,5 @@ import com.muyu.engine.Engine; * on 2024/5/8 */ public interface DataSetEngine extends Engine { + } diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/Test.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/Test.java new file mode 100644 index 0000000..7ae51da --- /dev/null +++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/Test.java @@ -0,0 +1,40 @@ +package com.muyu.engine.test; + +import com.muyu.engine.Engine; +import com.muyu.engine.test.data.TestDataModel; +import com.muyu.model.DataModel; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Test + * + * @author Yangle + * Date 2024/5/13 15:19 + */ +@SpringBootApplication +public class Test { + +public static final Map map = new ConcurrentHashMap<>(); + static { + map.put("test",new TestDataModel()); + } + public static void main(String[] args) { + DataModel dataModel = new DataModel(); + dataModel.setKey("test"); + dataModel.setValue("s"); + dataModel.setProcessType("String"); + dataModel.setProcessClass(String.class); + dataModel.setSourceType("varchar"); + + Engine test = map.get("test"); + test.execution(); + + + + } + + +} diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/DataModelConstant.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/DataModelConstant.java new file mode 100644 index 0000000..0b020f8 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/DataModelConstant.java @@ -0,0 +1,30 @@ +package com.muyu.engine.test.data; + +import com.muyu.model.DataModel; +import lombok.extern.log4j.Log4j2; + +/** + * DataModelConstant + * + * @author Yangle + * Date 2024/5/13 15:14 + */ +@Log4j2 +public class DataModelConstant { + public static final ThreadLocal dataModelThreadLocal = new ThreadLocal<>(); + + + public static DataModel getDataModel() { + log.info("小头"); + return dataModelThreadLocal.get(); + } + + private static void setDataModel(DataModel dataModel) { + log.info("大头"); + dataModelThreadLocal.set(dataModel); + } + private static void removeDataModel() { + log.info("remove"); + dataModelThreadLocal.remove(); + } +} diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/TestDataModel.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/TestDataModel.java new file mode 100644 index 0000000..e801aac --- /dev/null +++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/test/data/TestDataModel.java @@ -0,0 +1,25 @@ +package com.muyu.engine.test.data; + +import com.muyu.engine.Engine; +import com.muyu.model.DataModel; + +/** + * 数据模型 + * TestDataModel + * + * @author Yangle + * Date 2024/5/13 15:11 + */ +public class TestDataModel implements Engine { + + + @Override + public void execution() { + DataModelConstant.getDataModel(); + } + + @Override + public DataModel get() { + return DataModelConstant.getDataModel(); + } +}