diff --git a/cloud-task-common/pom.xml b/cloud-task-common/pom.xml
index 6f10d0c..cf1c493 100644
--- a/cloud-task-common/pom.xml
+++ b/cloud-task-common/pom.xml
@@ -21,5 +21,9 @@
com.muyu
cloud-common-core
+
+ com.muyu
+ cloud-datasources-common
+
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/NodeJoint.java b/cloud-task-common/src/main/java/com/muyu/common/domian/NodeJoint.java
index f531cdd..600c3c6 100644
--- a/cloud-task-common/src/main/java/com/muyu/common/domian/NodeJoint.java
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/NodeJoint.java
@@ -25,7 +25,7 @@ public class NodeJoint {
*/
private Long taskId;
/**
- * 任务id
+ * 节点id
*/
private Long nodeId;
/**
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInput.java b/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInput.java
index d33657a..f015f4c 100644
--- a/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInput.java
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInput.java
@@ -46,7 +46,7 @@ public class TaskInput extends BaseEntity {
/**
* 数据库id
*/
- private String databaseId;
+ private Long databaseId;
/**
* 表名称
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/req/InputAddReq.java b/cloud-task-common/src/main/java/com/muyu/common/domian/req/InputAddReq.java
index 0be2e89..cb7caaa 100644
--- a/cloud-task-common/src/main/java/com/muyu/common/domian/req/InputAddReq.java
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/req/InputAddReq.java
@@ -33,7 +33,7 @@ public class InputAddReq {
/**
* 数据库id
*/
- private String databaseId;
+ private Long databaseId;
/**
* 表名称
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInputUpdReq.java b/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInputUpdReq.java
index ea3f74b..1dbd1f1 100644
--- a/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInputUpdReq.java
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInputUpdReq.java
@@ -30,7 +30,7 @@ public class TaskInputUpdReq {
/**
* 数据库id
*/
- private String databaseId;
+ private Long databaseId;
/**
* 表名称
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInputResp.java b/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInputResp.java
index c83c438..d3a28a3 100644
--- a/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInputResp.java
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInputResp.java
@@ -35,7 +35,7 @@ public class TaskInputResp {
/**
* 数据库id
*/
- private String databaseId;
+ private Long databaseId;
/**
* 表名称
diff --git a/cloud-task-remote/pom.xml b/cloud-task-remote/pom.xml
index 415ee0f..0f212b5 100644
--- a/cloud-task-remote/pom.xml
+++ b/cloud-task-remote/pom.xml
@@ -16,5 +16,11 @@
17
UTF-8
+
+
+ com.muyu
+ cloud-task-common
+
+
diff --git a/cloud-task-remote/src/main/java/com/muyu/Main.java b/cloud-task-remote/src/main/java/com/muyu/Main.java
deleted file mode 100644
index 95690d4..0000000
--- a/cloud-task-remote/src/main/java/com/muyu/Main.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.muyu;
-
-public class Main {
- public static void main(String[] args) {
- System.out.println("Hello world!");
- }
-}
\ No newline at end of file
diff --git a/cloud-task-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-task-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..6b6cf9f
--- /dev/null
+++ b/cloud-task-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.muyu.task.server.feign.Factory.DatasourceFeignFactory
diff --git a/cloud-task-server/pom.xml b/cloud-task-server/pom.xml
index 051506c..ac052b2 100644
--- a/cloud-task-server/pom.xml
+++ b/cloud-task-server/pom.xml
@@ -90,7 +90,15 @@
com.muyu
cloud-common-nacos-api
-
+
+ com.muyu
+ cloud-task-remote
+ 1.0.0
+
+
+ com.muyu
+ cloud-datasources-common
+
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/TaskApplication.java b/cloud-task-server/src/main/java/com/muyu/task/server/TaskApplication.java
index 40b7494..d1cf9be 100644
--- a/cloud-task-server/src/main/java/com/muyu/task/server/TaskApplication.java
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/TaskApplication.java
@@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+
@EnableCustomConfig
@EnableMyFeignClients
@SpringBootApplication
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/feign/DatasourceFeign.java b/cloud-task-server/src/main/java/com/muyu/task/server/feign/DatasourceFeign.java
new file mode 100644
index 0000000..7f26752
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/feign/DatasourceFeign.java
@@ -0,0 +1,22 @@
+package com.muyu.task.server.feign;
+
+
+import com.muyu.common.domain.DataValue;
+import com.muyu.task.server.feign.Factory.DatasourceFeignFactory;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.muyu.common.core.domain.Result;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@EnableFeignClients
+@FeignClient(contextId = "datasourceFeign", name = "cloud-etl-datasources",fallbackFactory = DatasourceFeignFactory.class )
+public interface DatasourceFeign {
+ @PostMapping("/dataValue/findTableValue")
+ public Result>> findTableValue(@RequestParam("basicId") Long basicId, @RequestParam("sql") String sql);
+}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/feign/Factory/DatasourceFeignFactory.java b/cloud-task-server/src/main/java/com/muyu/task/server/feign/Factory/DatasourceFeignFactory.java
new file mode 100644
index 0000000..e9a6501
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/feign/Factory/DatasourceFeignFactory.java
@@ -0,0 +1,22 @@
+package com.muyu.task.server.feign.Factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.task.server.feign.DatasourceFeign;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Log4j2
+@Component
+public class DatasourceFeignFactory implements FallbackFactory {
+ @Override
+ public DatasourceFeign create(Throwable e) {
+ return new DatasourceFeign() {
+ @Override
+ public Result findTableValue(Long basicId, String sql) {
+ log.info(e);
+ return Result.error("网络开小差......");
+ }
+ };
+ }
+}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInputMapper.java b/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInputMapper.java
index c88e805..9586d17 100644
--- a/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInputMapper.java
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInputMapper.java
@@ -8,5 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface TaskInputMapper extends BaseMapper {
+ TaskInput selectByNodeId(String oneNodeId);
+ TaskInput selectByTaskId(Long taskId);
}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInputServiceImpl.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInputServiceImpl.java
index ee7cdcc..e4fe4fa 100644
--- a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInputServiceImpl.java
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInputServiceImpl.java
@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
+import com.muyu.common.domain.DataValue;
import com.muyu.common.domian.NodeJoint;
import com.muyu.common.domian.TaskInput;
import com.muyu.common.domian.req.TaskInputListReq;
+import com.muyu.task.server.feign.DatasourceFeign;
import com.muyu.task.server.mapper.TaskInputMapper;
import com.muyu.task.server.service.NodeJointService;
import com.muyu.task.server.service.NodeTableService;
@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.HashSet;
import java.util.List;
@Service
@@ -30,6 +33,10 @@ public class TaskInputServiceImpl extends ServiceImpl findList(TaskInputListReq req) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
@@ -40,30 +47,57 @@ public class TaskInputServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>();
- wrapper.eq("task_id",taskId);
+ wrapper.eq("task_id", taskId);
+ HashSet longs = new HashSet<>();
List list = taskInputMapper.selectList(wrapper);
- if (CollectionUtils.isEmpty(list)){
+ if (CollectionUtils.isEmpty(list)) {
return "没有选择字段";
}
- String fieName="";
+ String fieName = "";
for (int i = 0; i < list.size(); i++) {
- fieName+= ","+list.get(i).getTableAsFieId();
+ fieName += "," + list.get(i).getTableAsFieId();
+ Long databaseId = list.get(i).getDatabaseId();
+ longs.add(databaseId);
+ }
+ if (longs.size() > 1) {
+ return "你选择的不是同一个数据库";
}
-
QueryWrapper jointQueryWrapper = new QueryWrapper<>();
- jointQueryWrapper.eq("task_id",taskId);
+ jointQueryWrapper.eq("task_id", taskId);
List jointList = nodeJointService.list(jointQueryWrapper);
- for (NodeJoint nodeJoint : jointList) {
+ String joint = "";
+ if (!CollectionUtils.isEmpty(jointList)){
+ for (NodeJoint nodeJoint : jointList) {
+ String oneNodeId = nodeJoint.getOneNodeId();
+ TaskInput taskInput = taskInputMapper.selectByNodeId(oneNodeId);
+ String tableName = taskInput.getTableName();
+ String tableAsName = taskInput.getTableAsName();
+ String twoNodeId = nodeJoint.getTwoNodeId();
+ TaskInput taskInputTwo = taskInputMapper.selectByNodeId(twoNodeId);
+ String tableNameTwo = taskInputTwo.getTableName();
+ String tableAsNameTwo = taskInputTwo.getTableAsName();
+
+ joint += " " + tableName + " " + " " + tableAsName + " " + nodeJoint.getJoint() + " " + tableNameTwo + " " + " " + tableAsNameTwo + " "
+ + " on " +nodeJoint.getOneFie() +"="+nodeJoint.getTwoFie();
+
+ }
+ }else {
+ TaskInput taskInput = taskInputMapper.selectByTaskId(taskId);
+ String tableName = taskInput.getTableName();
+ String tableAsName = taskInput.getTableAsName();
+ joint=" "+tableName+" "+tableAsName;
}
-
+ TaskInput taskInput = taskInputMapper.selectByTaskId(taskId);
+ Long databaseId = taskInput.getDatabaseId();
fieName = fieName.substring(1);
- // tableService.selectTableName(taskId);
+ String sql="select "+fieName + " form "+joint;
+ System.out.println("select "+fieName + " from "+joint);
+ Result>> tableValue = datasourceFeign.findTableValue(databaseId, sql);
+ System.out.println(tableValue);
return null;
}
}
diff --git a/cloud-task-server/src/main/resources/mapper/TaskInfoMapper.xml b/cloud-task-server/src/main/resources/mapper/TaskInfoMapper.xml
deleted file mode 100644
index 992bf4b..0000000
--- a/cloud-task-server/src/main/resources/mapper/TaskInfoMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/cloud-task-server/src/main/resources/mapper/TaskInputMapper.xml b/cloud-task-server/src/main/resources/mapper/TaskInputMapper.xml
new file mode 100644
index 0000000..e866640
--- /dev/null
+++ b/cloud-task-server/src/main/resources/mapper/TaskInputMapper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+