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
UK7M*C^n-sg?y> > findDatabaseTableFieldPrice(@Valid @RequestBody DruidReq druidReq){
return Result.success(dataSouceService.findDatabaseTableFieldPrice(druidReq));
}
+
+ @PostMapping("outDatabaseTableFieldPrice")
+ @ApiOperation("数据表输出")
+ public Result outDatabaseTableFieldPrice(@Valid @RequestBody DruidReq druidReq){
+ return Result.success(dataSouceService.findDatabaseTableFieldPrice(druidReq));
+ }
}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/RuleController.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/RuleController.java
new file mode 100644
index 0000000..8d2ea5a
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/RuleController.java
@@ -0,0 +1,58 @@
+package com.etl.database.server.controller;
+
+import com.etl.common.result.Result;
+import com.etl.database.common.entity.Code;
+import com.etl.database.common.entity.Rule;
+import com.etl.database.common.entity.req.RuleReq;
+import com.etl.database.server.service.RuleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 规则控制层
+ */
+@RestController
+@RequestMapping(value ="/rule")
+@Api(tags = "规则-API")
+public class RuleController {
+ @Autowired
+ private RuleService ruleService;
+ @GetMapping("findRule")
+ @ApiOperation(value = "查询规则")
+ public Result findRule(@RequestBody RuleReq ruleReq) {
+ List ruleList=ruleService.findRule(ruleReq);
+ return Result.success(ruleList);
+ }
+
+ @PostMapping("addRule")
+ @ApiOperation(value = "添加规则")
+ public Result addRule(@RequestBody Rule rule) {
+ ruleService.addRule(rule);
+ return Result.success();
+ }
+
+ @PutMapping("updateRule")
+ @ApiOperation(value = "修改规则")
+ public Result updateRule(@RequestBody Rule rule) {
+ ruleService.updateRule(rule);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteRule")
+ @ApiOperation(value = "删除规则")
+ public Result deleteRule(@RequestParam("id") Long id) {
+ ruleService.deleteRule(id);
+ return Result.success();
+ }
+
+ @PostMapping("/addCode")
+ @ApiOperation(value = "添加规则")
+ public Result addCode(@RequestBody Code code) {
+ ruleService.addCode(code);
+ return Result.success();
+ }
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/TaskController.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/TaskController.java
new file mode 100644
index 0000000..99c203a
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/controller/TaskController.java
@@ -0,0 +1,52 @@
+package com.etl.database.server.controller;
+
+import com.etl.common.result.Result;
+import com.etl.database.common.entity.Task;
+import com.etl.database.server.service.TaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 任务控制层
+ */
+@RestController
+@Api(tags = "任务-API")
+@RequestMapping(value ="/task")
+public class TaskController {
+ @Autowired
+ private TaskService taskService;
+
+ @GetMapping("/findTask")
+ @ApiOperation("查询任务")
+ public Result> findTask(){
+ return Result.success(taskService.findTask());
+ }
+ @PostMapping("/addTask")
+ @ApiOperation("添加任务")
+ public Result addTask(@RequestBody Task task){
+ taskService.addTask(task);
+ return Result.success();
+ }
+ @PostMapping("/updateTask")
+ @ApiOperation("修改任务")
+ public Result updateTask(@RequestBody Task task){
+ taskService.updateTask(task);
+ return Result.success();
+ }
+ @DeleteMapping("/deleteTask/{id}")
+ @ApiOperation("删除任务")
+ public Result deleteTask(@PathVariable Long id){
+ taskService.deleteTask(id);
+ return Result.success();
+ }
+ @GetMapping("/findTaskById/{id}")
+ @ApiOperation("根据id查询任务")
+ public Result findTaskById(@PathVariable Long id){
+ return Result.success(taskService.findTaskById(id));
+ }
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeMapper.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeMapper.java
new file mode 100644
index 0000000..a5a26b2
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeMapper.java
@@ -0,0 +1,11 @@
+package com.etl.database.server.mapper;
+
+import com.etl.database.common.entity.Code;
+import com.etl.database.common.entity.Rule;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CodeMapper extends MPJBaseMapper {
+
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeTypeMapper.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeTypeMapper.java
new file mode 100644
index 0000000..833d273
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/CodeTypeMapper.java
@@ -0,0 +1,11 @@
+package com.etl.database.server.mapper;
+
+import com.etl.database.common.entity.Code;
+import com.etl.database.common.entity.CodeType;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CodeTypeMapper extends MPJBaseMapper {
+
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleMapper.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleMapper.java
new file mode 100644
index 0000000..706b653
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleMapper.java
@@ -0,0 +1,10 @@
+package com.etl.database.server.mapper;
+
+import com.etl.database.common.entity.DataSources;
+import com.etl.database.common.entity.Rule;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface RuleMapper extends MPJBaseMapper {
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleTypeMapper.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleTypeMapper.java
new file mode 100644
index 0000000..5a7dcef
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/RuleTypeMapper.java
@@ -0,0 +1,10 @@
+package com.etl.database.server.mapper;
+
+import com.etl.database.common.entity.DatabaseRedis;
+import com.etl.database.common.entity.RuleType;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface RuleTypeMapper extends MPJBaseMapper {
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/TaskMapper.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/TaskMapper.java
new file mode 100644
index 0000000..940084a
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/mapper/TaskMapper.java
@@ -0,0 +1,10 @@
+package com.etl.database.server.mapper;
+
+import com.etl.database.common.entity.Rule;
+import com.etl.database.common.entity.Task;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface TaskMapper extends MPJBaseMapper {
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/DataSouceService.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/DataSouceService.java
index c231e59..be6f92e 100644
--- a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/DataSouceService.java
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/DataSouceService.java
@@ -7,4 +7,10 @@ import com.github.yulichang.base.MPJBaseService;
public interface DataSouceService extends MPJBaseService {
Result findDateSource(DataSourceReq dataSourceReq);
+
+ Result addMysqlDataSource(DataSources dataSources);
+
+ Result updateMysqlDataSource(DataSources dataSources);
+
+ Result deleteMysqlDataSource(Long id);
}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/RuleService.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/RuleService.java
new file mode 100644
index 0000000..6ebd9ec
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/RuleService.java
@@ -0,0 +1,22 @@
+package com.etl.database.server.service;
+
+import com.etl.common.result.Result;
+import com.etl.database.common.entity.Code;
+import com.etl.database.common.entity.DatabaseRedis;
+import com.etl.database.common.entity.Rule;
+import com.etl.database.common.entity.req.RuleReq;
+import com.github.yulichang.base.MPJBaseService;
+
+import java.util.List;
+
+public interface RuleService extends MPJBaseService {
+ List findRule(RuleReq ruleReq);
+
+ void addRule(Rule rule);
+
+ void updateRule(Rule rule);
+
+ void deleteRule(Long id);
+
+ void addCode(Code code);
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/TaskService.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/TaskService.java
new file mode 100644
index 0000000..3f96987
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/TaskService.java
@@ -0,0 +1,18 @@
+package com.etl.database.server.service;
+
+import com.etl.database.common.entity.Task;
+import com.github.yulichang.base.MPJBaseService;
+
+import java.util.List;
+
+public interface TaskService extends MPJBaseService {
+ List findTask();
+
+ void addTask(Task task);
+
+ void updateTask(Task task);
+
+ void deleteTask(Long id);
+
+ Task findTaskById(Long id);
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/DataSouceServiceImpl.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/DataSouceServiceImpl.java
index 64645ac..3d1685e 100644
--- a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/DataSouceServiceImpl.java
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/DataSouceServiceImpl.java
@@ -23,21 +23,52 @@ import java.util.List;
public class DataSouceServiceImpl extends MPJBaseServiceImpl implements DataSouceService {
@Autowired
private DataSourceMapper dataSourceMapper;
+
@Override
public Result findDateSource(DataSourceReq dataSourceReq) {
MPJLambdaWrapper dataSourceMPJLambdaWrapper = new MPJLambdaWrapper();
dataSourceMPJLambdaWrapper.selectAll(DataSources.class)
.select(DataSourceType::getDataSourceTypeName)
.leftJoin(DataSourceType.class, DataSourceType::getId, DataSources::getDatabaseType);
- if (dataSourceReq.getDataSourceDescribe()!=null && !dataSourceReq.getDataSourceDescribe().isEmpty()){
- dataSourceMPJLambdaWrapper.like(DataSources::getDatabaseDescription,dataSourceReq.getDataSourceDescribe());
+ if (dataSourceReq.getDataSourceDescribe() != null && !dataSourceReq.getDataSourceDescribe().isEmpty()) {
+ dataSourceMPJLambdaWrapper.like(DataSources::getDatabaseDescription, dataSourceReq.getDataSourceDescribe());
}
- if (dataSourceReq.getDataSourceType()!=null){
- dataSourceMPJLambdaWrapper.eq(DataSources::getDatabaseType,dataSourceReq.getDataSourceType());
+ if (dataSourceReq.getDataSourceType() != null) {
+ dataSourceMPJLambdaWrapper.eq(DataSources::getDatabaseType, dataSourceReq.getDataSourceType());
}
- Page page = new Page<>(dataSourceReq.getPageNum(),dataSourceReq.getPageSize());
+ Page page = new Page<>(dataSourceReq.getPageNum(), dataSourceReq.getPageSize());
IPage dataSourceReqIPage = dataSourceMapper.selectJoinPage(page, DataSources.class, dataSourceMPJLambdaWrapper);
List records = dataSourceReqIPage.getRecords();
return Result.success(records);
}
+
+ @Override
+ public Result addMysqlDataSource(DataSources dataSources) {
+ int insert = dataSourceMapper.insert(dataSources);
+ if (insert > 0) {
+ return Result.success("添加成功");
+ } else {
+ return Result.error("添加失败");
+ }
+ }
+
+ @Override
+ public Result updateMysqlDataSource(DataSources dataSources) {
+ int i = dataSourceMapper.updateById(dataSources);
+ if (i > 0) {
+ return Result.success("修改成功");
+ } else {
+ return Result.error("修改失败");
+ }
+ }
+
+ @Override
+ public Result deleteMysqlDataSource(Long id) {
+ int i = dataSourceMapper.deleteById(id);
+ if (i > 0) {
+ return Result.success("删除成功");
+ } else {
+ return Result.error("删除失败");
+ }
+ }
}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/MysqlServiceImpl.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/MysqlServiceImpl.java
index 31fc94c..9868145 100644
--- a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/MysqlServiceImpl.java
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/MysqlServiceImpl.java
@@ -27,7 +27,6 @@ import java.util.*;
public class MysqlServiceImpl extends MPJBaseServiceImpl implements MysqlService {
/**
* 测试连接mysql
- *
* @param druidReq
* @return
*/
@@ -197,9 +196,66 @@ public class MysqlServiceImpl extends MPJBaseServiceImpl> results) {
+ Connection connection = null;
+ PreparedStatement preparedStatement = null;
+
+ try {
+ connection = getConnection(druidReq);
+
+ for (Map rowData : results) {
+ // 获取列名并构建 SQL 语句
+ List columnNames = new ArrayList<>(rowData.keySet());
+ columnNames.remove("id"); // 移除 id 列
+ StringBuilder sql = new StringBuilder("INSERT INTO ");
+ sql.append(druidReq.getDatabaseName()).append(".").append(druidReq.getTableName()).append(" (");
+ for (int i = 0; i < columnNames.size(); i++) {
+ if (i > 0) {
+ sql.append(", ");
+ }
+ sql.append(columnNames.get(i));
+ }
+ sql.append(") VALUES (");
+
+ // 添加占位符
+ for (int i = 0; i < columnNames.size(); i++) {
+ if (i > 0) {
+ sql.append(", ");
+ }
+ sql.append("?");
+ }
+ sql.append(")");
+
+ preparedStatement = connection.prepareStatement(sql.toString());
+
+ // 填充数据并执行 INSERT
+ int index = 1;
+ for (String columnName : columnNames) {
+ preparedStatement.setObject(index++, rowData.get(columnName));
+ }
+
+ preparedStatement.executeUpdate();
+ }
+ } catch (SQLException | ClassNotFoundException e) {
+ e.printStackTrace();
+ } finally {
+ // 关闭资源
+ try {
+ if (preparedStatement != null) preparedStatement.close();
+ if (connection != null) connection.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
private DataSource createDataSource(DruidReq druidReq) {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName(druidReq.getDriverClassName());
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/RuleServiceImpl.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/RuleServiceImpl.java
new file mode 100644
index 0000000..9d21ed1
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/RuleServiceImpl.java
@@ -0,0 +1,74 @@
+package com.etl.database.server.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.etl.database.common.entity.*;
+import com.etl.database.common.entity.req.RuleReq;
+import com.etl.database.server.mapper.CodeMapper;
+import com.etl.database.server.mapper.RuleMapper;
+import com.etl.database.server.service.RuleService;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@Slf4j
+public class RuleServiceImpl extends MPJBaseServiceImpl implements RuleService {
+ @Autowired
+ private RuleMapper ruleMapper;
+
+ @Autowired
+ private CodeMapper codeMapper;
+ @Override
+ public List findRule(RuleReq ruleReq) {
+ MPJLambdaWrapper ruleMPJLambdaWrapper = new MPJLambdaWrapper<>();
+ ruleMPJLambdaWrapper.select(Rule::getId, Rule::getRuleTypeId, Rule::getRuleName)
+ .select(RuleType::getRuleTypeName)
+ .select(CodeType::getCodeTypeName)
+ .leftJoin(RuleType.class, RuleType::getId, Rule::getRuleTypeId)
+ .leftJoin(Code.class, Code::getRuleId, Rule::getId)
+ .leftJoin(CodeType.class, CodeType::getId, Code::getCodeTypeId);
+ if (ruleReq.getRuleTypeId() != null) {
+ ruleMPJLambdaWrapper.eq(Rule::getRuleTypeId, ruleReq.getRuleTypeId());
+ }
+ if (ruleReq.getCodeTypeId() != null) {
+ ruleMPJLambdaWrapper.eq(Code::getCodeTypeId, ruleReq.getCodeTypeId());
+ }
+ Page page = new Page<>(ruleReq.getPageNum(), ruleReq.getPageSize());
+ IPage ruleIPage = ruleMapper.selectJoinPage(page, Rule.class, ruleMPJLambdaWrapper);
+ List records = ruleIPage.getRecords();
+ return records;
+ }
+
+ @Override
+ public void addRule(Rule rule) {
+ if (rule != null){
+ ruleMapper.insert(rule);
+ }
+ }
+
+ @Override
+ public void updateRule(Rule rule) {
+ if (rule != null){
+ ruleMapper.updateById(rule);
+ }
+ }
+
+ @Override
+ public void deleteRule(Long id) {
+ if (id != null){
+ ruleMapper.deleteById(id);
+ }
+ }
+
+ @Override
+ public void addCode(Code code) {
+ if (code != null){
+ codeMapper.insert(code);
+ }
+ }
+}
diff --git a/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/TaskServiceImpl.java b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/TaskServiceImpl.java
new file mode 100644
index 0000000..55244e9
--- /dev/null
+++ b/etl-database/etl-database-server/src/main/java/com/etl/database/server/service/impl/TaskServiceImpl.java
@@ -0,0 +1,47 @@
+package com.etl.database.server.service.impl;
+
+
+import com.etl.database.common.entity.Task;
+import com.etl.database.server.mapper.TaskMapper;
+import com.etl.database.server.service.TaskService;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@Slf4j
+public class TaskServiceImpl extends MPJBaseServiceImpl implements TaskService {
+ @Autowired
+ private TaskMapper taskMapper;
+
+ @Override
+ public List findTask() {
+ MPJLambdaWrapper taskMPJLambdaWrapper = new MPJLambdaWrapper()
+ .selectAll(Task.class);
+ return taskMapper.selectJoinList(Task.class, taskMPJLambdaWrapper);
+ }
+
+ @Override
+ public void addTask(Task task) {
+ taskMapper.insert(task);
+ }
+
+ @Override
+ public void updateTask(Task task) {
+ taskMapper.updateById(task);
+ }
+
+ @Override
+ public void deleteTask(Long id) {
+ taskMapper.deleteById(id);
+ }
+
+ @Override
+ public Task findTaskById(Long id) {
+ return taskMapper.selectById(id);
+ }
+}
diff --git a/etl-database/etl-database-server/src/main/resources/mapper/DataSourceMapper.xml b/etl-database/etl-database-server/src/main/resources/mapper/DataSourceMapper.xml
deleted file mode 100644
index c61888c..0000000
--- a/etl-database/etl-database-server/src/main/resources/mapper/DataSourceMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/etl-database/etl-database-server/src/main/resources/mapper/MysqlMapper.xml b/etl-database/etl-database-server/src/main/resources/mapper/MysqlMapper.xml
deleted file mode 100644
index ca64baf..0000000
--- a/etl-database/etl-database-server/src/main/resources/mapper/MysqlMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/etl-database/etl-database-server/src/main/resources/mapper/RedisMapper.xml b/etl-database/etl-database-server/src/main/resources/mapper/RedisMapper.xml
deleted file mode 100644
index e318fc5..0000000
--- a/etl-database/etl-database-server/src/main/resources/mapper/RedisMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/DataSourceController.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/DataSourceController.class
index 1567bcb14cc92460f8e6db495e6233801c233238..7b6a33fbe4fb7d555fbe3438a68a90b97be92b82 100644
GIT binary patch
literal 2423
zcma)7TW=Fb6h7lPaT6O1fdo=6Ewn%`gh^?*H53{W^~n?zP+s~p_D;;eddJzFP3nJ8
zRjSm7_MuNjRr^Y*R0%<)^4{N3Ecg>uzgchWHD1?#*twr`zH`2BX8->8#a~3UOzRW$
z4t+9CIaUr7-qqG+=x?0kHl?QcSdDSgn)a0)AAMvsj
zUck3R#c035McaU{hDPryUpjC*c3pYO++Z{^JGaRwyQUo=ES8ifzX)q(>E9QK#%Qvn
zE5h9rzOwUpF>4+ugum7|pNjU3uU!|Z#VPp}xz=7p{QXFT_`BVl5#b9(PwaUA)%*)6jS>U@m
zFt+5jgc@qQ&O4-yP{e}fjR^Qe6_Cb)TJNs3lGKSPrttY?dRqX
zPn+L9X}+rmQ0$1WI6^Dr4w>*xJA|{--KKYi6^xO7m!gKx74-~d
zU~Xxr0q2v#ac(z)ZMQ==qtZZ1JEw!eWac|$LVV}j+}q{oGIdj#^v&oHPeWL2KKt|4
zH;)qqo(k*mCwp>P9$o}tLIcyhkH6wSFP}8Of1Zr&NEdwcL|&SWIOVSJs=TBjt%0)7
zCy_YU{nbj%SW{b5Wujbz-pwfX3A4&qno`2XBg#K{^_g%%ID>#}IY*fK8AKH6WP
zahk}{T7eGJRDn*>=>naz%>tbVA5d)S|6suT336?TT9UX^ekd!3(NaHW_8*h>a{-zh
zeq}_AG8QKKJZ59)3+PADBLlQW%s6^xSLdG*`yGP}9YAXj6LLF?D=qaX27snzO)2(B%3mDKe9f2#0>j?IaVm$LDv4GyCV|Efdt(5K{DElqWBI2gxE`NYun?q{Ys{9+IVqj)K+BM|L-$MKE&_%w*`}
Xh}M%pv5fhpw((`Ug7MXe=4<}}WSo(b
delta 318
zcmYL@Iab3!5JdkBmIhe^coleOGmAG85{^JhO6nW<01kWv<=nv$?-BR_9EFICj7N>+
z_XxVHYr3kYe;RM;==1ku2Rt&b5^u%6kck>)TAX(IN(&fw&v^=vl2TC^NJ2#EfY*8=&AauG~7PeKUjvEETbZ3$N}f#
Q7qU0YtV^y$u8Z99AG7EeF#rGn
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/DataSourceTypeController.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/DataSourceTypeController.class
new file mode 100644
index 0000000000000000000000000000000000000000..fa4ce5e59674cb4fb6209b8e726926e0fc5f9410
GIT binary patch
literal 1167
zcmb7DT~8B16g|^VDOIqDf&zky0*TH`jV7o`gVC5&F+lp_)9iLy2e&(Qc9w?UU`%}R
zRTC3m6%rF8CjJ2bht*$Uyt|N=lGfXtIH
zO0bz*%2)OdLvmrU!jM|gRiZgkR=#``HXLa-1a)I5l(j3oiZCkj4}PZXQ$_7>4;1BU
z-x}?Cq_0=kN+&=Z3N__dd*ckV3yU3Cnps2p+{hsGEMJQa)fM~7Zb^qb1bA5SeQ6(x
zW|PK4W$7*9g(PW=_v<@fR+1xJ~@Vi=i
z{NVrEJ`bsLcX%W5;s)_%TiWbAav07dgKQR;^EinD!}6dV|A%#87>!25J>l2+s$sQvwLw1O4f-G^TGfy5T%gCmeK7;MX;p22h$v^=o
z=*;gYU<9M&u}CX{M8!q&qP*PFCnUZg$*@CS0$qfOLkPJ8gow-;${M5EQ%}GGjN^3l
d9mKyUVu;C@^9+(WOa3_uPsORznCXjJ3RHFD{ij?3(2IQ)K1_JvMMA?QrYH;r
z(<)|=RFG0Ji#Y}JLKj57D6k~3EU-e6rdTZ)UqsFjbnpZX6qC}i?DtyNuhzwjeg9}z
zc*Lx(!7iB$JJ@B2AjhyL&?hi}96^+KlV~xed=Ns5AvNow1Th35^N7~OY9)tWwYwwaUVZ_nSdVLgQj*tJXj{gDy
CQd)Wd
delta 267
zcmaDLvr5|U)W2Q(7#J8#7}B{I1QV{{%>z?hJ
z0AWn#WM9J;!^0rM5IcD{yPHQe4?`S7JR<|oi~aMS^(}qYG2v;~e0GKe9)?7QB)IU?
zB^zICS<1tZ%#gyvV8D>d!;l6dEJ1`VLnHabv^oPLgK9JbV=;pZgDa5j24=eh06DEiLjV8(
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/RuleController.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/RuleController.class
new file mode 100644
index 0000000000000000000000000000000000000000..4f814ec724e5dbd6d6f0950d1924f2fc425e82ff
GIT binary patch
literal 2930
zcmb7GOK%%h6h7le+}cAL8b~RGlBNWlILS@hq$xNA+_WhLr!h`3NUX;8jhQl@ap#dJ
zdlnUIHeFF65IZOmQd^K<&+i~n`4fom-Wfk*GiKxaI`@3vJ>NNJ{O3Qv{!T>8^l6e(
zbnPT1X(L6~=|++^>86;yFJ`yI>;v)hq4>!sXe&Xt6-wEj!FRa5r&qW_3;BvwXWTVd
zRdcnn=5XfVjN5X62`jeEvkILpdZw$_c}aKlvcYqvX}OxKTc)GX)x2fbnA5Ozv$kt%
zb-r)eU$8RQOo#1i71y#4nAW<$a-M7L>o%{#?Z}#L>h8Ki(e!Ldq1c911-Vms-Q>5u
zdYRjIG@vPTI&W1pqomooSO=Ri_j4Wamj^zjVwtXO83tY@UbE3!0{O(QZdS#vLizM@
z4~S0PG8xCC-2-Oxd(uOZ-^uyaioD0};`y
zt;B3!Q)qQ)sjf=`?L<-!??3$e!FNr9SB7>JXf9JH5Z&(_;i3z>@VCY)vJr)fF1?|0
z8Pd*Ykle96yTUhhA>6nKcDwB?ilQFWFZ-1pdWze=j+gdtwf(QkvSxhw=MuE7(itiw=p&Viw4>4t-4U~oRmzCjB9&BHp-&XL
zc&u82&&$A`jNFnvPo~y(`7W=Z4`v3r5#D;fQVOkymb~57$dC2d$tGM-+Fh+3&BgI5
z749HBmpaSGCmWtr=}>wiU9#dsIF$}9$MH@Ieg)%VIEG&UB|4A)4=MbgP$(j_#W;%9
z2*y*v2-&eZjTOVFV2sZ_Cgo>LA~YTt5xqz+V6OTGSWRH1AWdGPsJvW-brgGJbH7j|
z^OT|y+M0htu}9d8N>PNkVf~IECuLiwcQJoY&U60)xkL>6
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/TaskController.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/controller/TaskController.class
new file mode 100644
index 0000000000000000000000000000000000000000..25a1771961eb3796957f287e5e012811b5057b3e
GIT binary patch
literal 2902
zcmbVOTW=dh6h7-Xabj=U(3D1LgI}Vo(KqD3rI*MRDySYM{B{KK%5!x#dhq(L6$r->oe#3&UY^BzyAIG4*-~g
z2T4f5!T=;;F$GI-Cke}NSMJ`EyA`>6Uw(Zczj6t)!=r{cFM%9I@~I6
zI<&&JZRas5GHSVGla_?-><}7WAX!h?+uUIWy6v0e78mmx^rXi&G>9+S29i6T;}*N`
zRf^16r--J(iJV=c<_2}RJo^vh;vq-)n;khR8k^48fWyq%*jHJgx
z7pO|bwur-A&lF@$EoePZ;AM*n&p|F9A7Vb2dqlS=@dP(Xj=N$mbRJ6WqcD_I>?m%t
z^Z3zVs;!jUtVoJTw^7BrOx&Z@DoT#mdbgriig1nk%b@h%EHbHM*rZ*q3)ZY
zZQB}$SJ;&j$&cb>ZFjHs)e~+sw_mbgdrpZhb2;^fWj>>+bxqEdPUE)SjKJ|FqU#v)
z`2%JG{*0Yk#(|owOPk5&SB{3JYB$PVFOi+E!w|frgARiUSk>V)PmX{pn2?u-g=$4WN
zF8t&+y%}&^x?ZWoTvTncv3}|V4)42km%|Pv8E*7n?`nKHv;S#V;}b68--i_boxt9g
zxxw`qp89Y-?ys0OJe|N3!BxYxcl;@6zu+bY!@d!~N&Eo1PzLZaoWhfaX+8rz>hg?#
zd2sw!i0wg-2ERf4=N2dD8k`LJPR=TuR}`<)2zd@2o&N+h7hZ)6a__=xxQt*ZafP&u
zMlrl}Od?I}L2nG9`XZ>L`gH^Yzo_6&)vbLvya$)yb@W&Vej@}P4S_EQz*iuRKnW?!
z7;ZGI-%czNZCPAK7FYf!i-~~6)m9c6xYj|7{7a)X$7q%iKKw?0tK&`}nNlkhsIY&OHD8I(Q2k=pdOFF^C
zU_Z&v_Ivi%_s1syT)|NalN1h8I5aR`xYAo~g$(4`+HNdX)|dE{uc^>!R&b4_(^Z>e
z*H*4r^<-`X;q3YGF5=8K4axP;NLu02svY<^S+hs->a@dqUefetYGAV9RtkD>Ra89g
z%i9f?y|#hVc^e06dU3(!72SHzYSpn11}-v|5@-m#<=LdS`jVpd`fFHH33&I5=hL
zqR@G7{gZ;n{xA@9X>H69BH@D27oC2QeHf7*0)LH8-9V%+sY_X)LuZ@F`nT&PkfP3Jb%F
zCd0NVO}^;JOb5d8^W&Z1Sl2cA>wb{9#F=K@^Rihvi)7hwi}!9uFKtc9O`>2lb&b#I
z!IYwU@=L8RU3MN6oK6~9tmxGQla+L9tz*r`*`VM&b-ut*dt-~a*A=}x|Av9dlVj1q
z3DqtbcD@y{i|&O#&I0)rd8~Tp8)s{I1;^VVC^-9P3XuW@1F0R!8Kmz@AHW_&J;tyv
J7zsZF_yN;LdoTb1
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/mapper/RuleMapper.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/mapper/RuleMapper.class
new file mode 100644
index 0000000000000000000000000000000000000000..d2f3375fd521a575707cc118c5ea3a9663cc2b87
GIT binary patch
literal 386
zcma)2u};H44D}UAXaT{>7a)X$7q%iK7#L70P%5!sf=RDj?xH(iQGShq58$H^PCCKF
zU_Z&v_Ivi%_s1syT)|Nevm6d`I8-oQn#O5PffQ85T5mL3?HYWn)>QMnsC|o#;Z>@z
zPuA3{fvj{STs%G82`+TkQMeu(i7mcp)*~;It#?R{4fj|kOY@t#g4xoiP}9A!qIf)%
zw;L`8Z3U-gl7W_x0pJ1-QkbN$m%_e+@!V8abM&NOk+1YxW36q4_r;1z&hpYVSQ%c%
z0=rn7a@muG4usQ(yBoo&Zd>w~!ys{u&zkkX%Vy&&l4Zjk&SFiET}#o??mjZf8m$2Kz>ago5A^yvyHrh!@nUYIQeG^i2?;9sV&JFq;E?f!44z?rm!oR
I2tNk+0vlR;hX4Qo
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/mapper/TaskMapper.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/mapper/TaskMapper.class
new file mode 100644
index 0000000000000000000000000000000000000000..66b86dfc12e809e09614dd2d50b4d5d7522ed6c1
GIT binary patch
literal 386
zcma)2u};H44D}UAXaT{>7a)X$7q%iK7#L70P>a}|VA5-oyU6Dh<<}Va06q$FNhg>X
z>?irze$W2;{`drdD>zDFlEOg>hX%$ATRPHK*g&4GXhT?$EAcU3aiP*>wZz+~ZDDfr%2QSrDh
zZ#P`_+6GSNZ5*ii#Ri*KeCwQ7QtMqXaFKZ_F*IUb`6g8JyO%WvWnr&f!#L;02diGX
zD0JRi|K%vKY*?@!91o7R(gsfc9&X_5pO+^F42)vz#NR^9yD^Vo50U{>*pHY*ehlyf
D9TRqj
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/service/DataSouceService.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/service/DataSouceService.class
index 4248cbca0c598b3a35d008e096bae3e570b43d8b..00fa837aedb66ceac3af9cdec117a68fb9679aa2 100644
GIT binary patch
delta 190
zcmdnM+|Md}>ff$?3=9k=3_|P-{Ok+@>rxqD~k(rToOwXgY!#^l2aKO
zd?uff$?3=9k=47}_NTzw$i!F{Zh
zxCz$NYlIYGoSC9hJ~*M5v!z-ovZ^ZRIbX8&X=Ged|FzhNH)6|S5T31V)5gDQ^&L_K_u?(mgMtT%C=GbuY{qm;n%H!=&{ylh2k@c9*-Zq&
zLkb?2;ag_DpPl{u+I;}P4P1I~?!nlD3kHKXRirbMBZFxW$#Th2=R6f!Bw~%6E|z7%
zvCv9yd4(%(duO-`C(%M|1UFjcJW^{NG8o1xD}*)`k>S6{Zrhw#7vYpNJ&`u{gH}a1
zG8ru5t-
zd~0$g=T^o&^wZ1Z9X)uA)kaC&KffQBrjq!e>;^|RQA2TU*TdlI&q~)Mffcufl-xd>
z5h8Fqb>VBvl-LsN0O*@z8^yL=-CCx5=7rO%q8rh5VWaKfsR?-)>S6
zddXpV%rbB0z1jWw{rU!Qg>wfJ2U7=U41;%-Mz5myV3>HbU@f+Sms%w}P=)pxh6@#^
zLYKK@xY;Az24S}0QYSnTS}a8&IbCeBl*?2rU2&uA-;s_ZqQ=JaS~bny7~JxcbY(rB
z8_7iOz|^ZpO+*^=AWLK4@JG94=G8;QaJ^4zWz7)&Q-5BrWvG4I87sXim%J(y6|Ri6
zUHR$daZal*WWH6QY@dm{$jUsF_bQ=q$7ah$;?g_=!^K{>1zE_Pn?g=D-KK>E?AzHu
z>X8{dBhY5%J_AFC&H;UpUYDVZ9-%&=4jjS*3<0WcQx7q+_z1_AQ!`I6w&?T^GX}K1
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/DataSouceServiceImpl.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/DataSouceServiceImpl.class
index e257a93d6ee4315ea07b5c088eaec31675d7d848..3dc29cf830cd591b41f4b24d757beb59c3e0f2b0 100644
GIT binary patch
delta 2498
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
HA7lRjvgK7(
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/DataSourceTypeServiceImpl.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/DataSourceTypeServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..b02630961d733f53655b4148f01dcb7746693240
GIT binary patch
literal 2125
zcmbVNZEqVz5PsHnEN
z`2qYN5Qr9#_yO>r5YOIStk`iv%6-_myPbJv=9!t@zyA6CPXKrEu#5^;invim&dF6L
zZfUp|KQ7{vBJK<1y`U>lZ3baiM&9n-ec24UT^-g1<~qu%
z?H~@@`q^P$Z>UIbseWIF0{5EjpeMEUq|<3}M@Bk)u0z>NG~~k})6|TR^G{>nnx5V<
zk!g9l;roGA)&zbea6gTq9~!^A8>*f@2*U4WODjK;yQ*!2@KCCOfo#M!I545^5O!kC
z_{Od?o7(b@Kw&fJXo0Dw@%2}6ucgChir$hm+sfNfp>f~Y&w|}EbpPPglw4+}t)=Pp
zy^+MW)2%PL!!WA5#_tSgF0fcz9w3vnUf|16N3mz+(?rm2VVLNxCy$$|*XpQm!i;X2
zAasr0i(B$A_Dp+E`CWOC?#odFLQV}sGQa8OzIv`?Y>g+ICbCqTX$HsXV2v|MzI!!)
zYl8%x*Q6V=Of{=*4@XF=uhVy9B%J?)F}c?Evci|PP1jd84q4^D$48&UMXFpMAFJCK
z$LDC}SI+pPLFUB?*ImPXlLbhk%IO3?GOmFa#%j6tyXC4YP#Zf$k=3CNEDJ1;fGcdI#QLkVPpBJ%S!54TSuX2o)mYrO|Kw<>&KywC?2(}V~H191p=3N>0NRCz&kPL
zx{m*1;~xl?
zr@ZzDa^Jo{zFPPd7n&=-V4_;M@f(VHY^}b;J85kwGmbb~#$Py>|wC?{aSv?+x-<;*NVt)zV9pf5t_Z6Pf0k<}^)L
R*ZGyh`}iP{wE;cLz`ts;bZP(q
literal 0
HcmV?d00001
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/MysqlServiceImpl.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/MysqlServiceImpl.class
index 56216d8e1992d6d9f8000b07503dd949c28ffb09..3d7d3a0d46b30d75cc4b0616fd4311009d0fe33a 100644
GIT binary patch
delta 5475
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
C=!L)l
delta 3760
zcmcgudwf*I75+{__TJpRd545NzyxT-WSj5`kMNKHfk58uhL8{vLc-Gs;ceBr0*X+G
zRWAtIS_EwsQC@2Uq9AW5MTC~3LKSVRh1yod+FBIiH@llf!2Z!c+Wq}@&bc#ZX1+P!
zIcH{3-IX%;v8%iG0O&2V4b)j^lQ`ffIJTiIb{1Wyf#uTcw@W@H+$TaYh-OR@Ur!OT*g+-oaS|?sNFPhIe(m
zXP_g_Yk1#43ijyuK*>Mo_@k14Qq~{p_(;h=8@ParO8bjyK32_N4g3v%*YSzk;Zr+4
z!zI;xuHhdBdaCulP-yrE+(2?bP3hOFfa;x)Q4Sln|2A4aGpjYG>J4&qC8b1QL2enO^j+{HED04
z9JlV#Bue4}%1fD|@HAylgSvrQIS~_WRizX=^BWSnCAAx!N^i*~MpODoUsL*_K@c;eZb4mEW8KWDS*~ewW-Y9n
z)HvCc{*q(4!Ulz>nleBJYBI=_!P3`S7uMTWFAhPxRT>&^eHs=w{B{{4kO8LT%0N?w
z%0Pj6Vatw-_b>lw#l{QkpEqTgT41;-c{0M3k;*DxHKSDbXcOC{z#1LCC8kh{G)Xh1
zSV|P=QbDHmL2#NnXZ}{B-9pF8+V5^lIW(oxpNoJn!^CtCU*+5txuv-
ztmdHhVVcY|WtKFVsKX>{chuLhk=KZG&YLrR=2StVRT!TbDG0j;jF>zZqs7wRt;}FqOLLGr%-V=a*mx?qECF
zTAbM5t!z6%W1Ge~-4KD>SYa6B4~xRX0X5X4N(Vogin+$PLs
zA6Q>}J1A`q=5mjD>?M+M8s_tB0T$AZpo8~wW+b6Z@#G|ZE?yADh@o*dYhxb{^+gi;
z6G{$xVF2@Fw_e=pWxDPALspm
zS_gcLyKxT>5+)_M7e7QWt=pl=P5i+MO&fk{KK#1WaJrkQ?Hj^tLN
z4Arn$!x9Y-Xn0V=QVkDz+huHlBqxP^6q|hhTj^f=_4e-TC#XrHrr27!jds1Q-xRoM
z(XjtuNZ{A67;=LlZ>lo2okHhB7=wr#ZMcf}7g#DpfeQ|p0Ygc0J1nPF5Pn2Yt?;q!
zvEAYb@-ke5cn*$)fqcYbG?Gz(t|(-H6_e8vYQ-3fQpS22-S5Ot`TcXsQ*hxc6iPd|
zq&v%d1q#SpxhzM8tfXwlSa}rV0*pHYj5|2T%eWhQo>j89cu?`Bzej0b7P!^|@m
z*5k)`1UBv!LimqTOY>^8;kI${w$3GfEmS!v5QWYDDC{m1xTvZ-J!QNvZjmkHU||)b
zx1W@IOIk>vD*5bJ(_U5F0>s9~v@(~juN_W2u7M?K4R9Ir?e{^zk`OyJ&=~aYz
z%Z0DU_9a*JW%Luw=qCg8o+rH#MDFw)ODhx0(QTwR!*}t*06m~%0||bHYdy*eji}PcpGz
za%eZ4b|Yywigv}+%W%|7W(#k)r7TlFA%%9rF-h`MZ0E5^{S51PsM)-Zp5_rld7uS8
zs(G9$xHk~B##5E?%cK#Sv2O{{J93-satBI_94sl_T2Q8BdJD!Vnb9&4PNg_n;BsuGx$hN}$kzvOoOHaw
zKs>=Gz?*!VoMgp0<>foYw{)A^k>2KZbY}2vcGTqRL$>D>58AG5*G_&v5Iv>6v$!182GQIXm!#56{X(OwcVdDEHR{ssKeFeKX7Q{SxjZ!@d
HcLU!5G!Maj
diff --git a/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/RuleServiceImpl.class b/etl-database/etl-database-server/target/classes/com/etl/database/server/service/impl/RuleServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..77904edb66608898c54e4e36a04ae3d07e1a7669
GIT binary patch
literal 7719
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
-
-
-
-
-
diff --git a/etl-database/etl-database-server/target/classes/mapper/MysqlMapper.xml b/etl-database/etl-database-server/target/classes/mapper/MysqlMapper.xml
deleted file mode 100644
index ca64baf..0000000
--- a/etl-database/etl-database-server/target/classes/mapper/MysqlMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/etl-database/etl-database-server/target/classes/mapper/RedisMapper.xml b/etl-database/etl-database-server/target/classes/mapper/RedisMapper.xml
deleted file mode 100644
index e318fc5..0000000
--- a/etl-database/etl-database-server/target/classes/mapper/RedisMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-