From 0f4b83919317c3d0c77d2f94e19d22de292aa622 Mon Sep 17 00:00:00 2001
From: chao <3072464591@QQ.com>
Date: Thu, 2 May 2024 16:26:10 +0800
Subject: [PATCH] =?UTF-8?q?feat():=20=E5=BC=95=E6=93=8E=E7=BB=B4=E6=8A=A4?=
=?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
etl-common/etl-common-core/pom.xml | 5 +
.../com/etl/data/rule/domain/EngineRule.java | 76 +++++++++++++
.../rule/controller/EngineRuleController.java | 91 +++++++++++++++
.../data/rule/mapper/EngineRuleMapper.java | 62 +++++++++++
.../data/rule/service/IEngineRuleService.java | 62 +++++++++++
.../service/impl/EngineRuleServiceImpl.java | 91 +++++++++++++++
.../data/rule/utils/DynamicCompilation.java | 63 +++++++++++
.../rule/utils/DynamicCompilationExample.java | 65 +++++++++++
.../data/rule/utils/JavaSourceFromString.java | 29 +++++
.../mapper/data/EngineRuleMapper.xml | 104 ++++++++++++++++++
pom.xml | 7 ++
11 files changed, 655 insertions(+)
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-common/src/main/java/com/etl/data/rule/domain/EngineRule.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/controller/EngineRuleController.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/mapper/EngineRuleMapper.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/IEngineRuleService.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/impl/EngineRuleServiceImpl.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilation.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilationExample.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/JavaSourceFromString.java
create mode 100644 etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/resources/mapper/data/EngineRuleMapper.xml
diff --git a/etl-common/etl-common-core/pom.xml b/etl-common/etl-common-core/pom.xml
index f641aa9..48c3296 100644
--- a/etl-common/etl-common-core/pom.xml
+++ b/etl-common/etl-common-core/pom.xml
@@ -141,6 +141,11 @@
jedis
+
+ com.alibaba
+ QLExpress
+
+
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-common/src/main/java/com/etl/data/rule/domain/EngineRule.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-common/src/main/java/com/etl/data/rule/domain/EngineRule.java
new file mode 100644
index 0000000..c7be075
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-common/src/main/java/com/etl/data/rule/domain/EngineRule.java
@@ -0,0 +1,76 @@
+package com.etl.data.rule.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.etl.common.core.annotation.Excel;
+import com.etl.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * 引擎维护对象 engine_rule
+ *
+ * @author Chao
+ * @date 2024-05-02
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@TableName("engine_rule")
+public class EngineRule extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ private Long id;
+
+ /**
+ * 规则名称
+ */
+ @Excel(name = "规则名称")
+ @TableId(value = "id", type = IdType.AUTO)
+ private String name;
+
+ /**
+ * 规则类型(1-规则模板 2-自定义模板)
+ */
+ @Excel(name = "规则类型(1-规则模板 2-自定义模板)")
+ private String type;
+
+ /**
+ * 规则作用域(1-数据字段 2-数据集 3-记录)
+ */
+ @Excel(name = "规则作用域(1-数据字段 2-数据集 3-记录)")
+ private Long scope;
+
+ /**
+ * 引擎编码
+ */
+ @Excel(name = "引擎编码")
+ private String encoding;
+
+ /**
+ * 是否激活(Y-激活 N-未激活)
+ */
+ @Excel(name = "是否激活(Y-激活 N-未激活)")
+ private String activatedOrNot;
+
+ /**
+ * 规则状态(Y-正常 N-停用)
+ */
+ @Excel(name = "规则状态(Y-正常 N-停用)")
+ private String status;
+
+ /**
+ * 描述
+ */
+ @Excel(name = "描述")
+ private String description;
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/controller/EngineRuleController.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/controller/EngineRuleController.java
new file mode 100644
index 0000000..a07d4c5
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/controller/EngineRuleController.java
@@ -0,0 +1,91 @@
+package com.etl.data.rule.controller;
+
+import com.etl.common.core.domain.Result;
+import com.etl.common.core.utils.poi.ExcelUtil;
+import com.etl.common.core.web.controller.BaseController;
+import com.etl.common.core.web.page.TableDataInfo;
+import com.etl.common.log.annotation.Log;
+import com.etl.common.log.enums.BusinessType;
+import com.etl.common.security.annotation.RequiresPermissions;
+import com.etl.data.rule.domain.EngineRule;
+import com.etl.data.rule.service.IEngineRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 引擎维护Controller
+ *
+ * @author Chao
+ * @date 2024-05-02
+ */
+@RestController
+@RequestMapping("/engine")
+public class EngineRuleController extends BaseController {
+ @Autowired
+ private IEngineRuleService engineRuleService;
+
+ /**
+ * 查询引擎维护列表
+ */
+ @RequiresPermissions("data:engine:list")
+ @GetMapping("/list")
+ public Result> list(EngineRule engineRule) {
+ startPage();
+ List list = engineRuleService.selectEngineRuleList(engineRule);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出引擎维护列表
+ */
+ @RequiresPermissions("data:engine:export")
+ @Log(title = "引擎维护", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, EngineRule engineRule) {
+ List list = engineRuleService.selectEngineRuleList(engineRule);
+ ExcelUtil util = new ExcelUtil(EngineRule.class);
+ util.exportExcel(response, list, "引擎维护数据");
+ }
+
+ /**
+ * 获取引擎维护详细信息
+ */
+ @RequiresPermissions("data:engine:query")
+ @GetMapping(value = "/{id}")
+ public Result getInfo(@PathVariable("id") Long id) {
+ return success(engineRuleService.selectEngineRuleById(id));
+ }
+
+ /**
+ * 新增引擎维护
+ */
+ @RequiresPermissions("data:engine:add")
+ @Log(title = "引擎维护", businessType = BusinessType.INSERT)
+ @PostMapping
+ public Result add(@RequestBody EngineRule engineRule) {
+ return toAjax(engineRuleService.insertEngineRule(engineRule));
+ }
+
+ /**
+ * 修改引擎维护
+ */
+ @RequiresPermissions("data:engine:edit")
+ @Log(title = "引擎维护", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public Result edit(@RequestBody EngineRule engineRule) {
+ return toAjax(engineRuleService.updateEngineRule(engineRule));
+ }
+
+ /**
+ * 删除引擎维护
+ */
+ @RequiresPermissions("data:engine:remove")
+ @Log(title = "引擎维护", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public Result remove(@PathVariable Long[] ids) {
+ return toAjax(engineRuleService.deleteEngineRuleByIds(ids));
+ }
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/mapper/EngineRuleMapper.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/mapper/EngineRuleMapper.java
new file mode 100644
index 0000000..e88d1df
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/mapper/EngineRuleMapper.java
@@ -0,0 +1,62 @@
+package com.etl.data.rule.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.etl.data.rule.domain.EngineRule;
+
+import java.util.List;
+
+/**
+ * 引擎维护Mapper接口
+ *
+ * @author Chao
+ * @date 2024-05-02
+ */
+public interface EngineRuleMapper extends BaseMapper {
+ /**
+ * 查询引擎维护
+ *
+ * @param id 引擎维护主键
+ * @return 引擎维护
+ */
+ public EngineRule selectEngineRuleById(Long id);
+
+ /**
+ * 查询引擎维护列表
+ *
+ * @param engineRule 引擎维护
+ * @return 引擎维护集合
+ */
+ public List selectEngineRuleList(EngineRule engineRule);
+
+ /**
+ * 新增引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ public int insertEngineRule(EngineRule engineRule);
+
+ /**
+ * 修改引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ public int updateEngineRule(EngineRule engineRule);
+
+ /**
+ * 删除引擎维护
+ *
+ * @param id 引擎维护主键
+ * @return 结果
+ */
+ public int deleteEngineRuleById(Long id);
+
+ /**
+ * 批量删除引擎维护
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteEngineRuleByIds(Long[] ids);
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/IEngineRuleService.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/IEngineRuleService.java
new file mode 100644
index 0000000..1eb28a7
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/IEngineRuleService.java
@@ -0,0 +1,62 @@
+package com.etl.data.rule.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.etl.data.rule.domain.EngineRule;
+
+import java.util.List;
+
+/**
+ * 引擎维护Service接口
+ *
+ * @author Chao
+ * @date 2024-05-02
+ */
+public interface IEngineRuleService extends IService {
+ /**
+ * 查询引擎维护
+ *
+ * @param id 引擎维护主键
+ * @return 引擎维护
+ */
+ public EngineRule selectEngineRuleById(Long id);
+
+ /**
+ * 查询引擎维护列表
+ *
+ * @param engineRule 引擎维护
+ * @return 引擎维护集合
+ */
+ public List selectEngineRuleList(EngineRule engineRule);
+
+ /**
+ * 新增引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ public int insertEngineRule(EngineRule engineRule);
+
+ /**
+ * 修改引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ public int updateEngineRule(EngineRule engineRule);
+
+ /**
+ * 批量删除引擎维护
+ *
+ * @param ids 需要删除的引擎维护主键集合
+ * @return 结果
+ */
+ public int deleteEngineRuleByIds(Long[] ids);
+
+ /**
+ * 删除引擎维护信息
+ *
+ * @param id 引擎维护主键
+ * @return 结果
+ */
+ public int deleteEngineRuleById(Long id);
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/impl/EngineRuleServiceImpl.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/impl/EngineRuleServiceImpl.java
new file mode 100644
index 0000000..750766e
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/service/impl/EngineRuleServiceImpl.java
@@ -0,0 +1,91 @@
+package com.etl.data.rule.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.etl.common.core.utils.DateUtils;
+import com.etl.data.rule.domain.EngineRule;
+import com.etl.data.rule.mapper.EngineRuleMapper;
+import com.etl.data.rule.service.IEngineRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 引擎维护Service业务层处理
+ *
+ * @author Chao
+ * @date 2024-05-02
+ */
+@Service
+public class EngineRuleServiceImpl extends ServiceImpl implements IEngineRuleService {
+ @Autowired
+ private EngineRuleMapper engineRuleMapper;
+
+ /**
+ * 查询引擎维护
+ *
+ * @param id 引擎维护主键
+ * @return 引擎维护
+ */
+ @Override
+ public EngineRule selectEngineRuleById(Long id) {
+ return engineRuleMapper.selectEngineRuleById(id);
+ }
+
+ /**
+ * 查询引擎维护列表
+ *
+ * @param engineRule 引擎维护
+ * @return 引擎维护
+ */
+ @Override
+ public List selectEngineRuleList(EngineRule engineRule) {
+ return engineRuleMapper.selectEngineRuleList(engineRule);
+ }
+
+ /**
+ * 新增引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ @Override
+ public int insertEngineRule(EngineRule engineRule) {
+ engineRule.setCreateTime(DateUtils.getNowDate());
+ return engineRuleMapper.insertEngineRule(engineRule);
+ }
+
+ /**
+ * 修改引擎维护
+ *
+ * @param engineRule 引擎维护
+ * @return 结果
+ */
+ @Override
+ public int updateEngineRule(EngineRule engineRule) {
+ engineRule.setUpdateTime(DateUtils.getNowDate());
+ return engineRuleMapper.updateEngineRule(engineRule);
+ }
+
+ /**
+ * 批量删除引擎维护
+ *
+ * @param ids 需要删除的引擎维护主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEngineRuleByIds(Long[] ids) {
+ return engineRuleMapper.deleteEngineRuleByIds(ids);
+ }
+
+ /**
+ * 删除引擎维护信息
+ *
+ * @param id 引擎维护主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEngineRuleById(Long id) {
+ return engineRuleMapper.deleteEngineRuleById(id);
+ }
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilation.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilation.java
new file mode 100644
index 0000000..29f900e
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilation.java
@@ -0,0 +1,63 @@
+package com.etl.data.rule.utils;
+
+import javax.tools.JavaCompiler;
+import javax.tools.JavaFileObject;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.ToolProvider;
+import java.io.File;
+import java.io.FileWriter;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.List;
+
+public class DynamicCompilation {
+
+ /**
+ * 主函数,用于演示Java Compiler API的动态编译与执行过程。
+ * 本示例覆盖了从创建Java源文件到编译、加载及执行的整个流程。
+ *
+ * @param args 命令行参数列表,本示例中未使用该参数。
+ * @throws Exception 可能抛出的异常,涵盖文件I/O操作、编译错误及类加载等过程中的异常情况。
+ */
+ public static void main(String[] args) throws Exception {
+ // 1. 初始化Java编译器实例,利用ToolProvider获取系统默认的Java编译器。
+ JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+
+ // 2. 获取标准的文件管理器,用于处理源文件、类文件等。
+ StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
+
+ try {
+ // 3. 创建一个临时的Java源文件"HelloWorld.java",并向其中写入简单的打印"Hello World!"代码。
+ File sourceFile = new File("HelloWorld.java");
+ FileWriter writer = new FileWriter(sourceFile);
+ writer.write("public class HelloWorld { public static void main(String[] args) { System.out.println(\"Hello World!\"); } }");
+ writer.close();
+
+ // 4. 准备编译任务,指定源文件并配置编译选项(本例中未设置额外选项)。
+ Iterable extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(List.of(sourceFile));
+ JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, null, null, compilationUnits);
+
+ // 5. 执行编译任务并检查是否成功。
+ boolean success = task.call();
+
+ // 6. 若编译成功,则动态加载并执行新生成的类。
+ if (success) {
+ // 动态创建类加载器,指向当前目录以查找新编译的类。
+ URLClassLoader classLoader = new URLClassLoader(new URL[]{new File(".").toURI().toURL()});
+
+ // 加载名为"HelloWorld"的类。
+ Class> clazz = classLoader.loadClass("HelloWorld");
+
+ // 获取该类的main方法,并执行它。
+ Method method = clazz.getMethod("main", String[].class);
+ // 传递null作为main方法的args参数。
+ method.invoke(null, (Object) null);
+ }
+ } finally {
+ // 注意:实际应用中应考虑在此处关闭fileManager等资源,但为简化示例,此处省略。
+ }
+ }
+
+
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilationExample.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilationExample.java
new file mode 100644
index 0000000..0febf5a
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/DynamicCompilationExample.java
@@ -0,0 +1,65 @@
+package com.etl.data.rule.utils;
+
+
+import javax.tools.*;
+import java.io.File;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Collections;
+
+/**
+ * @author Han
+ */
+public class DynamicCompilationExample {
+
+ /**
+ * 主函数:演示内存直接动态编译Java代码。
+ * 该方法首先将Java代码字符串编译成类,然后通过反射执行该类的main方法。
+ *
+ * @param args 命令行参数(未使用)
+ * @throws Exception 如果编译或类加载失败抛出此异常
+ */
+ public static void main(String[] args) throws Exception {
+ // 获取系统Java编译器实例 这个方法可能会抛出异常
+ JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+ // 创建诊断信息收集器 创建一个DiagnosticCollector实例来收集编译过程中的错误、警告等诊断信息
+ DiagnosticCollector diagnostics = new DiagnosticCollector<>();
+ // 获取标准Java文件管理器实例 获取一个标准的文件管理器,用于处理源文件、类文件等。这里,它使用了之前创建的诊断收集器,并且没有指定特定的字符集或locale
+ StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
+
+ // 定义要编译的Java代码字符串
+ String code = "public class HelloWorld {\n" +
+ " public static void main(String[] args) {\n" +
+ " System.out.println(\"Hello, world!\");\n" +
+ " }\n" +
+ "}";
+ // 将代码字符串转换为Java源文件对象
+ JavaFileObject source = new JavaSourceFromString("HelloWorld", code);
+
+ // 创建编译任务
+ Iterable extends JavaFileObject> compilationUnits = Collections.singletonList(source);
+ JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits);
+ // 执行编译任务
+ boolean success = task.call();
+
+ // 关闭文件管理器
+ fileManager.close();
+
+ // 根据编译任务执行结果输出信息并处理
+ if (success) {
+ System.out.println("Compilation succeeded.");
+ // 使用反射加载并执行编译后的类
+ URLClassLoader classLoader = new URLClassLoader(new URL[]{new File(".").toURI().toURL()});
+ Class> clazz = classLoader.loadClass("HelloWorld");
+ Method method = clazz.getMethod("main", String[].class);
+ method.invoke(null, new Object[]{null});
+ } else {
+ System.out.println("Compilation failed.");
+ // 输出诊断信息
+ for (Diagnostic extends JavaFileObject> diagnostic : diagnostics.getDiagnostics()) {
+ System.out.println(diagnostic.getMessage(null));
+ }
+ }
+ }
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/JavaSourceFromString.java b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/JavaSourceFromString.java
new file mode 100644
index 0000000..6165943
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/java/com/etl/data/rule/utils/JavaSourceFromString.java
@@ -0,0 +1,29 @@
+package com.etl.data.rule.utils;
+
+import javax.tools.SimpleJavaFileObject;
+import java.net.URI;
+
+/**
+ * 自定义Java源文件对象,用于从字符串中读取Java源代码。
+ * @author Han
+ */
+public class JavaSourceFromString extends SimpleJavaFileObject {
+
+ final String code;
+
+ /**
+ * 构造函数,使用给定的源代码和类名创建一个新的Java源文件对象。
+ *
+ * @param className 类的简单名称
+ * @param code 类的源代码字符串
+ */
+ JavaSourceFromString(String className, String code) {
+ super(URI.create("string:///" + className.replace('.', '/') + Kind.SOURCE.extension), Kind.SOURCE);
+ this.code = code;
+ }
+
+ @Override
+ public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+ return code;
+ }
+}
diff --git a/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/resources/mapper/data/EngineRuleMapper.xml b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/resources/mapper/data/EngineRuleMapper.xml
new file mode 100644
index 0000000..c8bf279
--- /dev/null
+++ b/etl-modules/etl-modules-data-source/etl-modules-data-source-system/src/main/resources/mapper/data/EngineRuleMapper.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, name, type, scope, encoding, activated_or_not, status, description, remark, create_by, create_time, update_by, update_time from engine_rule
+
+
+
+
+
+
+
+ insert into engine_rule
+
+ name,
+ type,
+ scope,
+ encoding,
+ activated_or_not,
+ status,
+ description,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+
+
+ #{name},
+ #{type},
+ #{scope},
+ #{encoding},
+ #{activatedOrNot},
+ #{status},
+ #{description},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+
+
+
+
+ update engine_rule
+
+ name = #{name},
+ type = #{type},
+ scope = #{scope},
+ encoding = #{encoding},
+ activated_or_not = #{activatedOrNot},
+ status = #{status},
+ description = #{description},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+
+ where id = #{id}
+
+
+
+ delete from engine_rule where id = #{id}
+
+
+
+ delete from engine_rule where id in
+
+ #{id}
+
+
+
diff --git a/pom.xml b/pom.xml
index 3e3b656..d6f613e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,7 @@
8.2.2
4.1.2
2.9.0
+ 3.2.3
2.14.3
@@ -227,6 +228,12 @@
${jedis.version}
+
+ com.alibaba
+ QLExpress
+ ${QLExpress.version}
+
+