From 7e2d0adb86f520cfb5c6230be55a95c5cb8777d4 Mon Sep 17 00:00:00 2001 From: dunzhida <2652102136@qq.com> Date: Wed, 9 Aug 2023 17:37:40 +0800 Subject: [PATCH] git init --- .idea/.gitignore | 8 + .idea/compiler.xml | 15 + .idea/encodings.xml | 13 + .idea/inspectionProfiles/Project_Default.xml | 81 +++++ .idea/jarRepositories.xml | 25 ++ .idea/misc.xml | 12 + .idea/modules.xml | 10 + .idea/vcs.xml | 6 + .../etl-task-schdeling-common.iml | 8 + etl-task-schdeling-common/pom.xml | 120 +++++++ .../com/bwie/common/constants/Constants.java | 18 + .../bwie/common/constants/JwtConstants.java | 29 ++ .../bwie/common/constants/TokenConstants.java | 24 ++ .../java/com/bwie/common/domain/Config.java | 31 ++ .../com/bwie/common/domain/LoadEntity.java | 14 + .../java/com/bwie/common/domain/Mysql.java | 31 ++ .../java/com/bwie/common/domain/NodeOne.java | 40 +++ .../com/bwie/common/domain/NodeThree.java | 49 +++ .../java/com/bwie/common/domain/NodeTwo.java | 36 ++ .../com/bwie/common/result/PageResult.java | 34 ++ .../java/com/bwie/common/result/Result.java | 76 +++++ .../java/com/bwie/common/utils/JwtUtils.java | 109 ++++++ .../com/bwie/common/utils/StringUtils.java | 68 ++++ .../com/bwie/common/constants/Constants.class | Bin 0 -> 651 bytes .../bwie/common/constants/JwtConstants.class | Bin 0 -> 544 bytes .../common/constants/TokenConstants.class | Bin 0 -> 526 bytes .../com/bwie/common/domain/Config.class | Bin 0 -> 2800 bytes .../com/bwie/common/domain/LoadEntity.class | Bin 0 -> 1916 bytes .../com/bwie/common/domain/Mysql.class | Bin 0 -> 2761 bytes .../com/bwie/common/domain/NodeOne.class | Bin 0 -> 3970 bytes .../com/bwie/common/domain/NodeThree.class | Bin 0 -> 5409 bytes .../com/bwie/common/domain/NodeTwo.class | Bin 0 -> 3970 bytes .../com/bwie/common/result/PageResult.class | Bin 0 -> 3196 bytes .../com/bwie/common/result/Result.class | Bin 0 -> 4715 bytes .../com/bwie/common/utils/JwtUtils.class | Bin 0 -> 2752 bytes .../com/bwie/common/utils/StringUtils.class | Bin 0 -> 1737 bytes .../etl-task-schdeling-common-3.6.3.jar | Bin 0 -> 19346 bytes .../target/maven-archiver/pom.properties | 5 + .../compile/default-compile/createdFiles.lst | 13 + .../compile/default-compile/inputFiles.lst | 13 + .../default-testCompile/inputFiles.lst | 0 .../etl-task-schdeling-remote.iml | 8 + etl-task-schdeling-remote/pom.xml | 22 ++ .../etl-task-schdeling-remote-3.6.3.jar | Bin 0 -> 1549 bytes .../target/maven-archiver/pom.properties | 5 + .../compile/default-compile/inputFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 .../etl-task-schdeling-server.iml | 8 + etl-task-schdeling-server/pom.xml | 49 +++ .../src/main/java/com/yun/task/Demo.java | 66 ++++ .../src/main/java/com/yun/task/Demo2.java | 54 +++ .../src/main/java/com/yun/task/MazePra.java | 167 ++++++++++ .../java/com/yun/task/TaskApplication.java | 36 ++ .../yun/task/controller/TaskController.java | 211 ++++++++++++ .../java/com/yun/task/mapper/TaskMapper.java | 42 +++ .../com/yun/task/service/TaskService.java | 46 +++ .../task/service/impl/TaskServiceImpl.java | 312 ++++++++++++++++++ .../src/main/resources/bootstrap.yml | 25 ++ .../src/main/resources/mapper/TaskMapper.xml | 48 +++ .../target/classes/bootstrap.yml | 25 ++ .../target/classes/com/yun/task/Demo.class | Bin 0 -> 1696 bytes .../target/classes/com/yun/task/Demo2.class | Bin 0 -> 2871 bytes .../target/classes/com/yun/task/MazePra.class | Bin 0 -> 2970 bytes .../com/yun/task/TaskApplication.class | Bin 0 -> 1458 bytes .../yun/task/controller/TaskController.class | Bin 0 -> 9602 bytes .../com/yun/task/mapper/TaskMapper.class | Bin 0 -> 1069 bytes .../com/yun/task/service/TaskService.class | Bin 0 -> 1710 bytes .../task/service/impl/TaskServiceImpl.class | Bin 0 -> 8860 bytes .../target/classes/mapper/TaskMapper.xml | 48 +++ .../etl-task-schdeling-server-3.6.3.jar | Bin 0 -> 17345 bytes .../target/maven-archiver/pom.properties | 5 + .../compile/default-compile/createdFiles.lst | 8 + .../compile/default-compile/inputFiles.lst | 8 + .../default-testCompile/inputFiles.lst | 0 pom.xml | 35 ++ 75 files changed, 2116 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 etl-task-schdeling-common/etl-task-schdeling-common.iml create mode 100644 etl-task-schdeling-common/pom.xml create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/constants/Constants.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/constants/JwtConstants.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/constants/TokenConstants.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Config.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/LoadEntity.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Mysql.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeOne.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeThree.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeTwo.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/result/PageResult.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/result/Result.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/utils/JwtUtils.java create mode 100644 etl-task-schdeling-common/src/main/java/com/bwie/common/utils/StringUtils.java create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/constants/Constants.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/constants/JwtConstants.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/constants/TokenConstants.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/Config.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/LoadEntity.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/Mysql.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/NodeOne.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/NodeThree.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/domain/NodeTwo.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/result/PageResult.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/result/Result.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/utils/JwtUtils.class create mode 100644 etl-task-schdeling-common/target/classes/com/bwie/common/utils/StringUtils.class create mode 100644 etl-task-schdeling-common/target/etl-task-schdeling-common-3.6.3.jar create mode 100644 etl-task-schdeling-common/target/maven-archiver/pom.properties create mode 100644 etl-task-schdeling-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 etl-task-schdeling-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 etl-task-schdeling-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 etl-task-schdeling-remote/etl-task-schdeling-remote.iml create mode 100644 etl-task-schdeling-remote/pom.xml create mode 100644 etl-task-schdeling-remote/target/etl-task-schdeling-remote-3.6.3.jar create mode 100644 etl-task-schdeling-remote/target/maven-archiver/pom.properties create mode 100644 etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 etl-task-schdeling-server/etl-task-schdeling-server.iml create mode 100644 etl-task-schdeling-server/pom.xml create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/Demo.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/Demo2.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/MazePra.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/TaskApplication.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/controller/TaskController.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/mapper/TaskMapper.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/service/TaskService.java create mode 100644 etl-task-schdeling-server/src/main/java/com/yun/task/service/impl/TaskServiceImpl.java create mode 100644 etl-task-schdeling-server/src/main/resources/bootstrap.yml create mode 100644 etl-task-schdeling-server/src/main/resources/mapper/TaskMapper.xml create mode 100644 etl-task-schdeling-server/target/classes/bootstrap.yml create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/Demo.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/Demo2.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/MazePra.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/TaskApplication.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/controller/TaskController.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/mapper/TaskMapper.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/service/TaskService.class create mode 100644 etl-task-schdeling-server/target/classes/com/yun/task/service/impl/TaskServiceImpl.class create mode 100644 etl-task-schdeling-server/target/classes/mapper/TaskMapper.xml create mode 100644 etl-task-schdeling-server/target/etl-task-schdeling-server-3.6.3.jar create mode 100644 etl-task-schdeling-server/target/maven-archiver/pom.properties create mode 100644 etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 pom.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..a6154ea --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..d16147a --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..33adf3e --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,81 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..a4d8568 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b784bbc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6957841 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/etl-task-schdeling-common/etl-task-schdeling-common.iml b/etl-task-schdeling-common/etl-task-schdeling-common.iml new file mode 100644 index 0000000..1daccae --- /dev/null +++ b/etl-task-schdeling-common/etl-task-schdeling-common.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/etl-task-schdeling-common/pom.xml b/etl-task-schdeling-common/pom.xml new file mode 100644 index 0000000..2db1042 --- /dev/null +++ b/etl-task-schdeling-common/pom.xml @@ -0,0 +1,120 @@ + + + + etl-task-scheduling + com.yun + 3.6.3 + + 4.0.0 + + etl-task-schdeling-common + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + com.mysql + mysql-connector-j + + + + com.yun + yun-common-core + + + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + io.jsonwebtoken + jjwt + 0.9.1 + + + + com.alibaba + fastjson + 1.2.80 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + org.springframework.boot + spring-boot-starter-validation + + + + org.apache.commons + commons-lang3 + + + + org.projectlombok + lombok + + + + cn.hutool + hutool-all + 5.8.3 + + + + + + diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/Constants.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/Constants.java new file mode 100644 index 0000000..e90f0f7 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/Constants.java @@ -0,0 +1,18 @@ +package com.bwie.common.constants; + +/** + * @description: 系统常量 + * @author Dzd + */ +public class Constants { + /** + * 成功标记 + */ + public static final Integer SUCCESS = 200; + public static final String SUCCESS_MSG = "操作成功"; + /** + * 失败标记 + */ + public static final Integer ERROR = 500; + public static final String ERROR_MSG = "操作异常"; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/JwtConstants.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/JwtConstants.java new file mode 100644 index 0000000..ba9710a --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/JwtConstants.java @@ -0,0 +1,29 @@ +package com.bwie.common.constants; + +/** + * @author Dzd + * @description: Jwt常量 + */ +public class JwtConstants { + + /** + * 用户ID字段 + */ + public static final String DETAILS_USER_ID = "user_id"; + + /** + * 用户名字段 + */ + public static final String DETAILS_USERNAME = "username"; + + /** + * 用户标识 + */ + public static final String USER_KEY = "user_key"; + + /** + * 令牌秘钥 + */ + public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; + +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/TokenConstants.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/TokenConstants.java new file mode 100644 index 0000000..4624b2f --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/constants/TokenConstants.java @@ -0,0 +1,24 @@ +package com.bwie.common.constants; + +/** + * @author Dzd + * @description: 令牌常量 + */ +public class TokenConstants { + /** + * 缓存有效期,默认720(分钟) + */ + public final static long EXPIRATION = 720; + /** + * 缓存刷新时间,默认120(分钟) + */ + public final static long REFRESH_TIME = 120; + /** + * 权限缓存前缀 + */ + public final static String LOGIN_TOKEN_KEY = "login_tokens:"; + /** + * token标识 + */ + public static final String TOKEN = "token"; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Config.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Config.java new file mode 100644 index 0000000..79144cf --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Config.java @@ -0,0 +1,31 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/7/30 21:16 + * fileName Middle + */ +/* +* 配置表 +* */ +@Data +public class Config { + /* + * 配置表的主键Id + * */ + private Integer configId; + /* + * 主表的任务Id + * */ + private Integer improt1Id; + /* + * 副表的任务Id + * */ + private Integer improt2Id; + /* + * 关联表的任务Id + * */ + private Integer improt3Id; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/LoadEntity.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/LoadEntity.java new file mode 100644 index 0000000..559093e --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/LoadEntity.java @@ -0,0 +1,14 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/8/4 8:16 + * fileName LoadEntity + */ +@Data +public class LoadEntity { + public Integer id; + public String name; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Mysql.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Mysql.java new file mode 100644 index 0000000..cac1ba6 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/Mysql.java @@ -0,0 +1,31 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/7/30 21:19 + * fileName Mysql + */ +/* +* 定义的响应参数接受的表 +* */ +@Data +public class Mysql { + /* + * 列名 + * */ + private String COLUMNNAME; + /* + * 类型 + * */ + private String DATATYPE; + /* + * 是否为空 + * */ + private String ISNULLABLE; + /* + * 字段描述 + * */ + private String COLUMN_COMMENT; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeOne.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeOne.java new file mode 100644 index 0000000..4790597 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeOne.java @@ -0,0 +1,40 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/7/30 21:12 + * fileName NodeOne + */ + +/* +* 第一个 输入主表节点表 +* */ +@Data +public class NodeOne { + /* + * 主表节点主键Id + * */ + private Integer nodeOneId; + /* + * 主表数据库 + * */ + private String nodeOneDatabase; + /* + * 主表数据表 + * */ + private String nodeOneDatatable; + + /* + * 主表字段 + * */ + private String[] nodeOneFields; + private String nodeOneField; + + /* + * 主表任务Id + * */ + private Integer import1Id; + +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeThree.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeThree.java new file mode 100644 index 0000000..22cf90f --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeThree.java @@ -0,0 +1,49 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/7/30 21:14 + * fileName NodeThree + */ +/* +* 输入联查节点表 +* */ +@Data +public class NodeThree { + /* + * 联查节点主键Id + * */ + private Integer nodeThreeId; + /* + * 联查节点主表的数据库 + * */ + private String nodeOneDatatable; + /* + * 联查节点主表的字段 + * */ + private String nodeOneField; + /* + * 联查方式 + * */ + private String nodeThreeWay; + /* + * 联查节点副表的数据库 + * */ + private String nodeTwoDatatable; + /* + * 联查节点副表的字段 + * */ + private String nodeTwoField; + /* + * 联查节点的任务id + * */ + private Integer import3Id; + + private String[] nodeFieldArr; + + private String nodeFields; + + +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeTwo.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeTwo.java new file mode 100644 index 0000000..f0d32e0 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/domain/NodeTwo.java @@ -0,0 +1,36 @@ +package com.bwie.common.domain; + +import lombok.Data; + +/** + * @author Dunzhida + * data 2023/7/30 21:13 + * fileName NodeTwo + */ +/* +* 第二个输入副表节点表 +* */ +@Data +public class NodeTwo { + /* + * 关联表的主键Id + * */ + private Integer nodeTwoId; + /* + * 关联表的数据库 + * */ + private String nodeTwoDatabase; + /* + * 关联表的数据表 + * */ + private String nodeTwoDatatable; + /* + * 关联表的字段 + * */ + private String[] nodeTwoFields; + private String nodeTwoField; + /* + * 关联表的任务Id + * */ + private Integer import2Id; +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/result/PageResult.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/result/PageResult.java new file mode 100644 index 0000000..483ddde --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/result/PageResult.java @@ -0,0 +1,34 @@ +package com.bwie.common.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author dzd + * @description: 列表返回结果集 + */ +@Data +public class PageResult implements Serializable { + /** + * 总条数 + */ + private long total; + /** + * 结果集合 + */ + private List list; + public PageResult() { + } + public PageResult(long total, List list) { + this.total = total; + this.list = list; + } + public static PageResult toPageResult(long total, List list){ + return new PageResult(total , list); + } + public static Result> toResult(long total, List list){ + return Result.success(PageResult.toPageResult(total,list)); + } +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/result/Result.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/result/Result.java new file mode 100644 index 0000000..153ffd7 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/result/Result.java @@ -0,0 +1,76 @@ +package com.bwie.common.result; + +import com.bwie.common.constants.Constants; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Dzd + * @description: 响应信息主体 + */ +@Data +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 成功 + */ + public static final int SUCCESS = Constants.SUCCESS; + /** + * 失败 + */ + public static final int FAIL = Constants.ERROR; + /** + * 返回状态码 + */ + private int code; + /** + * 响应信息 + */ + private String msg; + /** + * 响应数据 + */ + private T data; + + public static Result success() { + return restResult(null, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data) { + return restResult(data, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data, String msg) { + return restResult(data, SUCCESS, msg); + } + + public static Result error() { + return restResult(null, FAIL, Constants.ERROR_MSG); + } + + public static Result error(String msg) { + return restResult(null, FAIL, msg); + } + + public static Result error(T data) { + return restResult(data, FAIL, Constants.ERROR_MSG); + } + + public static Result error(T data, String msg) { + return restResult(data, FAIL, msg); + } + + public static Result error(int code, String msg) { + return restResult(null, code, msg); + } + + private static Result restResult(T data, int code, String msg) { + Result apiResult = new Result<>(); + apiResult.setCode(code); + apiResult.setData(data); + apiResult.setMsg(msg); + return apiResult; + } +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/JwtUtils.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/JwtUtils.java new file mode 100644 index 0000000..7a6ca65 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/JwtUtils.java @@ -0,0 +1,109 @@ +package com.bwie.common.utils; + +import com.bwie.common.constants.JwtConstants; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +import java.util.Map; + +/** + * @description: Jwt工具类 + * @author dzd + */ +public class JwtUtils { + + /** + * 秘钥 + */ + public static String secret = JwtConstants.SECRET; + + /** + * 从数据声明生成令牌 + * + * @param claims 数据声明 + * @return 令牌 + */ + public static String createToken(Map claims){ + String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); + return token; + } + + /** + * 从令牌中获取数据声明 + * + * @param token 令牌 + * @return 数据声明 + */ + public static Claims parseToken(String token){ + return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + } + /** + * 根据令牌获取用户标识 + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserKey(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户标识 + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserKey(Claims claims){ + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户ID + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserId(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据身份信息获取用户ID + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserId(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据令牌获取用户名 + * + * @param token 令牌 + * @return 用户名 + */ + public static String getUserName(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取用户名 + * + * @param claims 身份信息 + * @return 用户名 + */ + public static String getUserName(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取键值 + * + * @param claims 身份信息 + * @param key 键 + * @return 值 + */ + public static String getValue(Claims claims, String key){ + Object obj = claims.get(key); + return obj == null ? "" : obj.toString(); + } +} diff --git a/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/StringUtils.java b/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/StringUtils.java new file mode 100644 index 0000000..d9e73a4 --- /dev/null +++ b/etl-task-schdeling-common/src/main/java/com/bwie/common/utils/StringUtils.java @@ -0,0 +1,68 @@ +package com.bwie.common.utils; + +import org.springframework.util.AntPathMatcher; + +import java.util.Collection; +import java.util.List; + +/** + * @author dzd + * @description: 字符串处理工具类 + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) { + return object == null; + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) { + return isNull(coll) || coll.isEmpty(); + } + + /** + * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matches(String str, List strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String pattern : strs) { + if (isMatch(pattern, str)) + { + return true; + } + } + return false; + } + + /** + * 判断url是否与规则配置: + * ? 表示单个字符; + * * 表示一层路径内的任意字符串,不可跨层级; + * ** 表示任意层路径; + * + * @param pattern 匹配规则 + * @param url 需要匹配的url + * @return + */ + public static boolean isMatch(String pattern, String url) { + AntPathMatcher matcher = new AntPathMatcher(); + return matcher.match(pattern, url); + } +} diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/constants/Constants.class b/etl-task-schdeling-common/target/classes/com/bwie/common/constants/Constants.class new file mode 100644 index 0000000000000000000000000000000000000000..ca526b6494ea87191469fec9e37c625f10de7bf5 GIT binary patch literal 651 zcma)4J#X4z5PpsTHm;LkXlQBE5Ar3*P%qhnx*!@M(IVlLwKDEo;>g&NF?8<~RjL#z zYoz>!C__+`c8>Bp3cnz8)w6+wZe8x4d+zSN$9KN{bM*_r4z?5|@l3&Utfr8_i_pB3 z@JhmKf@FNGRH}wS$kq?dfvG#D+tF)oAUeX|B|MtuKfO2h2${JWBk*mv!zGIq&+P@K z8?;QPFJu%5iE6XiXcAJ94|`>-5t3!wwS%{Wg<`2ih*!MNg0Nh-UGbscZ3}YimfEz`HdcuK~D1G`7qtXp1JZ-2Fg&Y?Y%T`b{Y+zG`1X;x*WWxG?j3J~ScGhSg3M(L}kA5OXeF4!o@Yd5OT#@X>P@{GoZjHOY$+}$cGXc<&lB{z7OLVRE}A7#4pY9 z%ba78(AZ`;tFtHeiS0|!dDNO^n~X>aj~T0z0<0j%k&Gw*G&6;)hMOT`7g*5fE&}oJ VDgJ}lDm)RaD#cR?PZ`IM{|oAmkthHF literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/constants/JwtConstants.class b/etl-task-schdeling-common/target/classes/com/bwie/common/constants/JwtConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..452b534641592a2df98eeb0dd2a45ec22a968bba GIT binary patch literal 544 zcma)(%TB{E5Jj&`OG7D-miJR)gMbCuumd4gZIB89BvLA|s+`mmw}}IJP|9DiLSn%O z@KK0K0FfmNkM9|4u4n9z&$o8~2iPoO3`<2U7qP-H(=b}KrfGGqE#s=wY%o;KK7Zu8 z%T-UeqCl$NA;VPNS7F3e)aGt1G^{erW-Bjh=Z1zg1}*hDGj24jGmKkC{mN)**dTo* zm5h!V#&&kw4Eeg>6?DHTmAHsKTLdj`yOgP#zQf%%4`jkW$$WGtLxvsG@jcxhN}-eR zd_~)LU!i_FjDDL8spFF6$AKeGWa3%L9_}ael`)MOhVB3P(X@Y$a%uO46EPIyPy`*> zrJ)n0xJNgovNI4PhE;AmU2)sHll_6~DgXW<2&4FM_%wRP7IO3pKprc!3ZUm9%7Oj_ zT81ZxOBtRdE@ya(Dp@iL#aVLDQw9oquV62!WrgB6r9tLZise)nFo$^}h6Rc_EPesg Cd3opn literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/constants/TokenConstants.class b/etl-task-schdeling-common/target/classes/com/bwie/common/constants/TokenConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..684ace3b3539ed572fbe090abfff328502045cc6 GIT binary patch literal 526 zcma)2O;5r=5Pbtwkbofgg`e?;9PGuD7!yN^BDEN3h@MD`4K9{#LW}yhJehd#2YB)q z8K)H$Z*H=0=gsWCoi}eEFRuU&u#-j{>q%@Ru}Mg4SC@_UiP>lw1Ue^VYo7E2O9oxb zoj3|V;T3x)WZGK2t#!_NX5&Je=J80#>8;a-(KB03&FD3?YeGRETKAUfT5_Ovg0YZ; zY6@EfCAyQsHev2aND&+p;^nD514flzQtD76=UqhM+G#J3cw% zlQYirRc0I>w4-!JXB>U0GyYB1`kmcPvcc712F`xx{JwMc-1Y~5{{8c>0A9dG61~VL zU|>*|o~HQ!Hm^y#$#_YQwGhioCOHXgD%oo2>a}%1zbFx~Y1Jr*^|3yN4no zN^3|>>{X%5a$#!v?gQg^m7=h4{qAV8e9?UT%oanM%~jPm6eB8)=pIo+nC22 z4B32{za?y{v$Nxt`2mcF*DL5s_>*YKj{R!k*Vi$$hOK-&$=jrtw~>aJw2~+$-SnPp zsP|+~`D}xdj#Ca$%kruC)JGmb{Xh_7C@`29+wc^n?Gx}c2B|4&IOPCw)A>ilzNaDV zoQ`znj3S)lN1eMPojKbGXYHtSU!*g4BEnfe>U<{Bc?6?@bB;yESgJ8H`V(T&9qaZP zLC2(|BB*JD1EPgp>?OiA=Ii(hit){9oI@ z<5$y|<$avT1Z(ZWJzU@y5##Td{3l?7z9aYoFA{0Eio3W-q$3X(FA*6i;R;?RGEwE- z^a_!MulT+kQ37A{bDbngVv2cOM2Bhpg?1CukI-%65`Qf92)#Z`{0HQlc_;dl;2V^; zhq{bFiVJ_8{-^CPs@^D0XGv0=lFQQ%qdupfN$;J`$ti8x8(V+pqmCZ@Q#ee5ob%U{^)UB^K%I@j$<2_G0RMK zHvDy>7#p~bIaU!TC(oA4I4)6M<*$wv^xzti;kEfYSdVGY*k+~JS}66Hj!iu#hA!xJ zLYFv(KKZ9)C(*OVf literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/domain/LoadEntity.class b/etl-task-schdeling-common/target/classes/com/bwie/common/domain/LoadEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..85d992f6e226711f258ff93eafabfb32fbe2e890 GIT binary patch literal 1916 zcma)7+in|G6kW%j@r>QcrEcuh5TKy}e2MDp zG_1?=u7USb+~1ewn%rF%>4r!f25zR1!kUR&vfq}aZsLxK4@BHF&`^lEEroNN5A84P zO2_tgD|OFzcAb7rLG$dcqmVvvx$XB|Zs2;;c5B1)UH>a) z(sv!dPK=p+;RKKoN`v=X0noWIi({zzei$H|pWrXx4H|?IGAB)<0Ai7FK0mNKggj<& zcjuwg^lODr6jX1Vr|634dw$#LGl!JCBwU+;CJ>W>GGsXws>8$7wr@8-YuI}MVeE0x zDzj;O8v=wu+V*}s zN{ePjbYGHZU|}BTEu6!gg$%L^i~rds3vb{x3oqg&3$KcF0gD#i#EQcF=w*f3uN}CZ zmQXT1%A0pvYZkU}SC)HZYx#m;USmB43so#C%#PxOc&Lnw)bNsaP)I{f(aWQhP5@$?s7E3=MHW_y|w1{v^O+ti} zyM$LJ#fkslI6|bv;j@Y2{K;Gf@w7|DZ=h>OrC*_a4LyET`UP5Jxj29x94REWmbp~5 z@^3hk(;nmOA*^yv8^9P^m{px7W;K!1#U}9>=|fEA^juOa?tA)wbtb|dc+;LpNTX>r}b?#Rv#rWrP8SfBJoR4fC zS1D-$4R@eDr9vYOO0je(^^``Vb4(N&=tF~{jW({L8T0YG5LJ4gIc4(lKOyz;Bb-TF j158Q515Br9LfPb&p5-#Y+0!F(ayau*T?(~;`PF{_Vmn63 literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/domain/Mysql.class b/etl-task-schdeling-common/target/classes/com/bwie/common/domain/Mysql.class new file mode 100644 index 0000000000000000000000000000000000000000..f04f2238cb913e25199f90a727b1c3af2f9de12e GIT binary patch literal 2761 zcma)7TW=dx5dMz6H{0u6+$QaoPy(coYfTFjaGH`dP1{i0DNR~PxwIR{G;SR`bsP{9 z&xj`^o{*4ur4s4`RFFy_A$Tbgzll=5+1+H<>4GX*bLPzXW_B*$IsWUPUw#Ad3My$F zz=aeH6h)LoltnCe%S8#nTc?N+UEV^YC7GqW_aw0x20>G{R- zbdj4b-}Bn+La8)YUQ#el)*7|;DTU9Xqm)%~8*@@JxwGbOuK7G5Ddt(x#Y^+TG)3KLRX4ZlZML+dj?_?? za%L!+TX%p96R_G%pQq&JVsooish+I~#nK*KjtZM?JdMLP4#Kf8l5RTY5D%uO8y(nT>#G9B_II#D=oZhO{S7l_qUIxSA%%*I(SYff_gFE$2kmrwDuKZfsN=s|piwbbXA$L3)#Tme0fiJ~J8;(i&5jLuLEg$9am_+W2PvQ7F3(kQ)kp6`{pi64DGkqP%}`+ zS-eKgL<`e+otlNO$hJ4ArSLW1u>!R;CYi?xbeq=S=rVEgA^J^B@n@-rIOwaX|4{j5 zK63sf7*}~b)MW%xT=aJO#rZ_lcZ<_mk`$-pHT1)%&*^8W~MqDK1(gZ27ZJytRl(blrTq4nsS`YmvJofl{`ny@Y?)6tVc9xY_n2qEtGmh z$8etzLm%`Vzz#<1GzBmt0t=CQtpV8V1c&&T1G=zA{%80z!A;gFulDq>=vuyy?p)6{ rdSx_Rayefov3qm-d_5!jeqXmm@1xj8|K7(h`ruCoJyw|axbxP(FGac< literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/classes/com/bwie/common/domain/NodeOne.class b/etl-task-schdeling-common/target/classes/com/bwie/common/domain/NodeOne.class new file mode 100644 index 0000000000000000000000000000000000000000..a0bba1574faac450923d7ac39ce0885194aa8bf7 GIT binary patch literal 3970 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 literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-common/target/etl-task-schdeling-common-3.6.3.jar b/etl-task-schdeling-common/target/etl-task-schdeling-common-3.6.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..6e7a2ebdf8e29276134170b3a05a60269da10d83 GIT binary patch literal 19346 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 + + + + + + + \ No newline at end of file diff --git a/etl-task-schdeling-remote/pom.xml b/etl-task-schdeling-remote/pom.xml new file mode 100644 index 0000000..cd16f4a --- /dev/null +++ b/etl-task-schdeling-remote/pom.xml @@ -0,0 +1,22 @@ + + + + etl-task-scheduling + com.yun + 3.6.3 + + 4.0.0 + + etl-task-schdeling-remote + + + + + com.yun + etl-task-schdeling-common + 3.6.3 + + + diff --git a/etl-task-schdeling-remote/target/etl-task-schdeling-remote-3.6.3.jar b/etl-task-schdeling-remote/target/etl-task-schdeling-remote-3.6.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..da4ef09d9ebc8eded72de7e3c0ec1ca7a3e8a6fd GIT binary patch literal 1549 zcmWIWW@h1H0DX!0$m@5SFf@ZpC&`xno>)0bW0M8 zvvrG;Gg4A>GV{`Pi&As*OH$!(;9y7${~ea0d|pzAk%8ec69a<p2F z|FD8Y>-*o@v+jvoW%op8l&2?cauv3Jq}zC%PgkCCTiO4(C3mk$mcEv4FRqa1Q|*r1 z_EKz(a8&3`9??jyu1vj<;8gwdC@LlqlMSH%TN8WU4L-<&gJin|EoQmZMMbv zL&|@NtTp#$EHKc$n75eY9=H4H8)dPJq(g-E#Pf+%bU7}0c41#%n}^Sb&S@(D7qTTQ zoYnPs`%t8Ur^sMIMMWWFUQ@+{a`%siUdJ8~J`}Y2KDW*73l}c=ALtay7pju^cf;x@ z6D-MafD`?$`+WKpz>u#3VtaC9pr9zfAhoC@GqpIl%>S&nu9uFdZ=lDjkPp5(-e(^_ z4Jy+<6;hz%8*X3_XkfCzXxj!O!@vSQzCZ&b1EXh8wV-*#^qTQy=Az5ppS-zkf^#N+ zF8-?J-FQp5+so*(&}8q1q?M|cyHq=m-rRNcq@?Cb%bArgce$?I`BQb}o)}<0U}O?u z#+{deJ_7;)hPRF&8YySPv|-QNAjKfCq){D6!nGmgbbJ#=7^gy#2{nh_Zkw;`Y`3IQM&r~q>snhRit;LETu6)h&@>% gZ21Z-DoFMO$QDE*4e(}V0~yE;gt|cEPBDXc0MgdrPyhe` literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-remote/target/maven-archiver/pom.properties b/etl-task-schdeling-remote/target/maven-archiver/pom.properties new file mode 100644 index 0000000..325567c --- /dev/null +++ b/etl-task-schdeling-remote/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Fri Aug 04 10:38:44 CST 2023 +version=3.6.3 +groupId=com.yun +artifactId=etl-task-schdeling-remote diff --git a/etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/etl-task-schdeling-remote/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/etl-task-schdeling-server/etl-task-schdeling-server.iml b/etl-task-schdeling-server/etl-task-schdeling-server.iml new file mode 100644 index 0000000..1daccae --- /dev/null +++ b/etl-task-schdeling-server/etl-task-schdeling-server.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/etl-task-schdeling-server/pom.xml b/etl-task-schdeling-server/pom.xml new file mode 100644 index 0000000..2bf96ef --- /dev/null +++ b/etl-task-schdeling-server/pom.xml @@ -0,0 +1,49 @@ + + + + etl-task-scheduling + com.yun + 3.6.3 + + 4.0.0 + + etl-task-schdeling-server + + + + + + + com.yun + etl-task-schdeling-common + 3.6.3 + + + + + com.yun + yun-common-datasource + + + + + com.yun + yun-common-datascope + + + + + com.yun + yun-common-log + + + + + com.yun + yun-common-swagger + + + + diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/Demo.java b/etl-task-schdeling-server/src/main/java/com/yun/task/Demo.java new file mode 100644 index 0000000..be2a008 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/Demo.java @@ -0,0 +1,66 @@ +package com.yun.task; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; + +/** + * @author Dunzhida + * data 2023/8/4 19:40 + * fileName Demo + */ +public class Demo { + + public static void main(String[] args) throws SQLException { + String a = "name,age,info"; + + StringBuilder sql = new StringBuilder("insert into t_info("); +// StringBuilder val = new StringBuilder("values("); + StringBuilder resultSql = null; + for (String s : a.split(",")) { +// val.append(s).append(","); + sql.append(s).append(","); + if (sql.toString().endsWith(",")){ + StringBuilder substring = new StringBuilder(sql.substring(0, sql.length() - 1)); + resultSql=substring.append(")"); + } + } +// System.out.println("value:"+val); + System.out.println("result:"+resultSql); + + + System.out.println("---------------------------------------------------------------"); +// Connection connection1 = DriverManager.getConnection("jdbc:mysql://124.221.14.100:3306/six", "root", "dzd123"); +// +// +// +// +// +// PreparedStatement preparedStatement1 = connection1.prepareStatement("insert into t_info (name) "); +// +// +// int i =0; +// for (String s : split) { +// preparedStatement1.setString(i+1,s); +// } + + String[] split = a.split(","); + + String value = "values("; + for (int j = 0; j < split.length; j++) { +// 数据加载到目标系统中 + value+=",#{}"; + } + +// String substring = value.substring(0, value.length() - 2); + +// System.out.println(substring+")"); +// +// System.out.println("result:"+resultSql+substring+")"); + String sqlsql=resultSql+value+")"; + + System.out.println(sqlsql); +// preparedStatement1.executeUpdate(); + } +} diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/Demo2.java b/etl-task-schdeling-server/src/main/java/com/yun/task/Demo2.java new file mode 100644 index 0000000..5b92ac8 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/Demo2.java @@ -0,0 +1,54 @@ +package com.yun.task; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +/** + * @author Dunzhida + * data 2023/8/5 9:28 + * fileName Demo2 + */ +public class Demo2 { + +// 首先,定义一个包含元素和对应权重的列表。可以使用自定义的类来表示每个元素和其对应的权重值,或者使用Map来存储元素和权重的映射关系。 +// +//计算所有元素的权重总和。遍历列表或Map,将所有元素的权重值相加得到总和。 +// +//生成一个随机数,范围在0到权重总和之间。可以使用Java的Random类来生成随机数。 +// +//遍历列表或Map,累加每个元素的权重值,直到累加值大于等于随机数。选中对应的元素作为结果。 + public static void main(String[] args) { + + // 定义元素和对应的权重 + Map elements = new HashMap<>(); + elements.put("A", 8); + elements.put("B", 3); + elements.put("C", 6); + + // 计算权重总和 + + int totalWeight = elements.values().stream().mapToInt(Integer::intValue).sum(); + + // 生成随机数 + + Random random = new Random(); + int randomNumber = random.nextInt(totalWeight); + + // 遍历元素,根据权重选择 + + int cumulativeWeight = 0; + String selectedElement = null; + for (Map.Entry entry : elements.entrySet()) { + cumulativeWeight += entry.getValue(); + if (randomNumber < cumulativeWeight) { + selectedElement = entry.getKey(); + break; + } + } + + // 输出结果 + + System.out.println("Selected element: " + selectedElement); + } +} diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/MazePra.java b/etl-task-schdeling-server/src/main/java/com/yun/task/MazePra.java new file mode 100644 index 0000000..ffaeafc --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/MazePra.java @@ -0,0 +1,167 @@ +package com.yun.task;//package com.njupt.recurrence; + + +/** + * Creat with IntelliJ IDEA + * + * @Auther:倔强的加瓦 + * @Date:2021/07/17/15:15 + * @Description: + */ +public class MazePra { + public static void main(String[] args) { + //先创建一个二维数组来管理迷宫 + int[][] map = new int[7][8]; + int plan1 = 0; + int plan2 = 0; + for (int i = 0; i < 7; i++) { + map[i][0] = 1; + map[i][7] = 1; + } + for (int j = 0; j < 8; j++) { + map[0][j] = 1; + map[6][j] = 1; + } + map[1][6] = 1; + map[2][1] = 1; + map[2][2] = 1; + map[2][4] = 1; + map[3][2] = 1; + map[4][5] = 1; + map[4][3] = 1; + +//这里为什么要重新创建一个地图呢?为什么用int[][] map1=map,然后用map1调用第二个方法不行呢?可以帮我回答一下吗??? + int[][] map1 = new int[7][8]; + for (int i = 0; i < 7; i++) { + map1[i][0] = 1; + map1[i][7] = 1; + } + for (int j = 0; j < 8; j++) { + map1[0][j] = 1; + map1[6][j] = 1; + } + map1[1][6] = 1; + map1[2][1] = 1; + map1[2][2] = 1; + map1[2][4] = 1; + map1[3][2] = 1; + map1[4][5] = 1; + map1[4][3] = 1; + + System.out.println("=======map===="); + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 8; j++) { + System.out.print(map[i][j] + " "); + } + System.out.println(" "); + } + System.out.println("=======map1===="); + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 8; j++) { + System.out.print(map1[i][j] + " "); + } + System.out.println(" "); + } + + System.out.println("=====策略1,先向右,在向下====="); + judgePoint(map, 1, 1); + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 8; j++) { + System.out.print(map[i][j] + " "); + if (map[i][j] == 2) { + plan1++; + } + } + System.out.println(" "); + } + + + System.out.println("=====策略2,先向下,在向右====="); + judgePoint2(map1, 1, 1); + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 8; j++) { + System.out.print(map1[i][j] + " "); + if (map1[i][j] == 2) { + plan2++; + } + } + System.out.println(" "); + } + + System.out.println("策略1:先右后下的策略,共走了" + plan1 + "步"); + System.out.println("策略2:先下后右的策略,共走了" + plan2 + "步"); + if (plan1 < plan2) { + System.out.println("故策略1:先右后下的策略好,共走了" + plan1 + "步"); + } else { + System.out.println("故策略2:先下后右的策略好,共走了" + plan2 + "步"); + } + + } + + //开始写判断节点位置的状态的方法 + // 策略1,向往右,在往下,在向上,在向左 + //规定:1表示墙,2表示节点已经走过,3表示此节点不通 + public static boolean judgePoint(int[][] map, int i, int j) { + if (map[4][4] == 2) { + return true; + } else { + //最先输入的这个点假设没有走过 + if (map[i][j] == 0) { + //先把这个点假设可以走得通 + map[i][j] = 2; + //先向右走 + if (judgePoint(map, i, j + 1)) { + return true; + //向下走 + } else if (judgePoint(map, i + 1, j)) { + return true; + //如果先下走不通,则向向上走 + } else if (judgePoint(map, i - 1, j)) { + return true; + //如果向上走不通,则向左走 + } else if (judgePoint(map, i, j - 1)) { + return true; + } else { + //都走不通,则把这个点设成走不通3 + map[i][j] = 3; + return false; + } + } else { + return false; + } + } + } + + //策略2,先往下,后往右,在向上,在向左 + public static boolean judgePoint2(int[][] map, int i, int j) { + if (map[4][4] == 2) { + return true; + } else { + //最先输入的这个点假设没有走过 + if (map[i][j] == 0) { + //先把这个点假设可以走得通 + map[i][j] = 2; + //先向下走 + if (judgePoint2(map, i + 1, j)) { + return true; + //如果先下走不通,则向右走 + } else if (judgePoint2(map, i, j + 1)) { + return true; + //如果先右走不通,则向向上走 + } else if (judgePoint2(map, i - 1, j)) { + return true; + //如果向上走不通,则向左走 + } else if (judgePoint2(map, i, j - 1)) { + return true; + } else { + //都走不通,则把这个点设成走不通3 + map[i][j] = 3; + return false; + } + } else { + return false; + } + } + } +} + diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/TaskApplication.java b/etl-task-schdeling-server/src/main/java/com/yun/task/TaskApplication.java new file mode 100644 index 0000000..0465580 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/TaskApplication.java @@ -0,0 +1,36 @@ +package com.yun.task; + +import com.yun.common.security.annotation.EnableCustomConfig; +import com.yun.common.security.annotation.EnableRyFeignClients; +import com.yun.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author Dunzhida + * data 2023/7/27 11:00 + * fileName TaskApplication + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class TaskApplication { + + public static void main(String[] args) { + + SpringApplication.run(TaskApplication.class); + + System.out.println("(♥◠‿◠)ノ゙ 数据处理层模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } + +} diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/controller/TaskController.java b/etl-task-schdeling-server/src/main/java/com/yun/task/controller/TaskController.java new file mode 100644 index 0000000..869ed00 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/controller/TaskController.java @@ -0,0 +1,211 @@ +package com.yun.task.controller; + +import com.alibaba.fastjson.JSONObject; + + +import com.bwie.common.domain.*; +import com.bwie.common.result.Result; +import com.yun.task.service.TaskService; +import lombok.Data; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.xml.soap.Node; +import java.util.List; +import java.util.Map; + +/** + * @author Dunzhida + * data 2023/7/27 16:08 + * fileName TaskController + */ +@RequestMapping("city") +@RestController +@Log4j2 +public class TaskController { + @Autowired + private TaskService taskService; + @Autowired + private HttpServletRequest request; + + /* + * 方法名: findBydatabase + * 查询所有数据库 + * 参数:无 + * 请求方法:post + * 返回结果:string的集合 + * */ + + @PostMapping("/findBydatabase") + public Result> findBydatabase(){ + log.info("功能名称,查询所有数据库,请求URI:{},请求方式:{}",request.getRequestURI(),request.getMethod()); + List list=taskService.findBydatabase(); + System.out.println(list); + Result> result=Result.success(list); + log.info("功能名称,查询所有数据库,请求URI:{},请求方式:{},响应结果:{}",request.getRequestURI(),request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + + /* + * 方法名: findByTable + * 根据数据库查询表 + * 参数: 路径传参 String database 数据库的名称 + * 请求方法:post + * 返回结果:string的集合 + * */ + + @PostMapping("/findByTable/{database}") + public Result> findByTable(@PathVariable String database){ + log.info("功能名称,根据数据库名称查询数据表,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),database); + List list=taskService.findByTable(database); + System.out.println(list); + Result> result=Result.success(list); + log.info("功能名称,根据数据库名称查询数据表,请求URI:{},请求方式:{},响应结果:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + /* + * + * 方法名: findByField + * 根据表查询表字段 + * 参数: 路径传参 String database (数据库名称) + * 路径传参 String datatable (表名称) + * 请求方法:post + * 返回结果:Mysql对象list集合 + * */ + + @PostMapping("/findByField/{database}/{datatable}") + public Result> findByField(@PathVariable String datatable, @PathVariable String database){ + log.info("功能名称,根据数据表名称查询字段,请求URI:{},请求方式:{},请求参数:{}{}",request.getRequestURI(),request.getMethod(),database,datatable); + List list=taskService.findByField(datatable,database); + System.out.println(list); + Result> result=Result.success(list); + log.info("功能名称,根据数据表名称查询字段,请求URI:{},请求方式:{},响应结果:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + /** + * 方法名: createMiddle + * 进入配置自动创建配置表 + * 参数: RequestBody Config 配置实体类 + * 请求方法:post + */ + @PostMapping("/createMiddle") + public Result createMiddle(@RequestBody Config config){ + log.info("功能名称,进入配置自动创建配置表,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(), JSONObject.toJSONString(config)); + taskService.createMiddle(config); + System.out.println(config.getConfigId()); + Result result=Result.success(config.getConfigId()); + log.info("功能名称,进入配置自动创建配置表,请求URI:{},请求方式:{},响应结果:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + /* + * 方法名: addImport + * 添加第一个输入主表节点信息 + * 参数: NodeOne 对象 + * 请求方法:post + * */ + + @PostMapping("/addImport") + public Result addImport(@RequestBody NodeOne NodeOne){ + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(NodeOne)); + taskService.addImport(NodeOne); + Result result=Result.success(); + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + /* + * 添加第二个输入副表节点信息 + * 参数: nodeTwo 对象 + * 请求方法:post + * */ + + @PostMapping("/addImport2") + public Result addImport2(@RequestBody NodeTwo nodeTwo){ + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(nodeTwo)); + taskService.addImport2(nodeTwo); + Result result=Result.success(); + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + + + + /* + * 保存配置 + * 参数: NodeTwo 对象 + * 请求方法:post + * */ + + @PostMapping("/addImport3") + public Result addImport3(@RequestBody NodeThree nodeThree){ + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(nodeThree)); + taskService.addImport3(nodeThree); + Result result=Result.success(); + log.info("功能名称,输入表1添加,请求URI:{},请求方式:{},请求参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + /* + * 展示所有配置列表 + * */ + @PostMapping("/taskList") + public Result> taskList(){ + log.info("功能名称,配置列表,请求URI:{},请求方式:{}",request.getRequestURI(),request.getMethod()); + List list = taskService.taskList(); + Result> success = Result.success(list); + log.info("功能名称,配置列表,请求URI:{},请求方式:{},响应参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(success)); + return success; + } + + + /* + * 联查信息V1 + * */ + @PostMapping("/JoinList/{nodeOneDatatable}/{nodeTwoDatatable}/{nodeOneField}/{nodeTwoField}/{nodeThreeWay}") + public Result> JoinList(@PathVariable String nodeOneDatatable,@PathVariable String nodeTwoDatatable,@PathVariable String nodeOneField,@PathVariable String nodeTwoField,@PathVariable String nodeThreeWay){ + log.info("功能名称,配置列表,请求URI:{},请求方式:{}",request.getRequestURI(),request.getMethod()); + List list = taskService.JoinList(nodeOneDatatable,nodeTwoDatatable,nodeOneField,nodeTwoField,nodeThreeWay); + Result> success = Result.success(list); + log.info("功能名称,配置列表,请求URI:{},请求方式:{},响应参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(success)); + return success; + } + + + /* + * 联查信息v2 + * */ + @PostMapping("/FileList/{nodeThreeId}") + public Result FileList(@PathVariable Integer nodeThreeId){ + log.info("功能名称,联查信息,请求URI:{},请求方式:{}",request.getRequestURI(),request.getMethod()); + NodeThree threes = taskService.FileList(nodeThreeId); + + Result result = taskService.FileLists(threes.getNodeOneDatatable(), threes.getNodeTwoDatatable(), threes.getNodeOneField(), threes.getNodeTwoField(), threes.getNodeThreeWay(),threes.getNodeFields()); + + Result success = Result.success(result); + log.info("功能名称,联查信息,请求URI:{},请求方式:{},响应参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(success)); + return success; + } + + + + /* + * 加载信息 + * */ + @PostMapping("/loading/{nodeThreeId}") + public Result loading(@PathVariable Integer nodeThreeId ){ + log.info("功能名称,加载信息,请求URI:{},请求方式:{}",request.getRequestURI(),request.getMethod()); + Result result = taskService.loading(nodeThreeId); + Result success = Result.success(result); + log.info("功能名称,加载信息,请求URI:{},请求方式:{},响应参数:{}",request.getRequestURI(),request.getMethod(),JSONObject.toJSONString(success)); + return success; + } + + + + +} + diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/mapper/TaskMapper.java b/etl-task-schdeling-server/src/main/java/com/yun/task/mapper/TaskMapper.java new file mode 100644 index 0000000..4dfe362 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/mapper/TaskMapper.java @@ -0,0 +1,42 @@ +package com.yun.task.mapper; + + +import com.bwie.common.domain.*; +import com.bwie.common.result.Result; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author Dunzhida + * data 2023/7/27 16:15 + * fileName TaskMapper + */ +@Mapper +public interface TaskMapper { + void addImport(NodeOne nodeOne); + + void updateMiddle(Integer import1Id); + + void addImport2(NodeTwo nodeTwo); + + void updateMiddle2(Integer import2Id); + + void createMiddle(Config config); + + void addImport3(NodeThree nodeThree); + + + List taskList(); + + + NodeThree FileList(Integer nodeThreeId); + + + Integer loading(String nodeFields); + + List FileLists(String nodeOneDatatable, String nodeTwoDatatable, String nodeOneField, String nodeTwoField, String nodeThreeWay, String nodeFields); + +} diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/service/TaskService.java b/etl-task-schdeling-server/src/main/java/com/yun/task/service/TaskService.java new file mode 100644 index 0000000..a3a459a --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/service/TaskService.java @@ -0,0 +1,46 @@ +package com.yun.task.service; + + +import com.bwie.common.domain.*; +import com.bwie.common.result.Result; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author Dunzhida + * data 2023/7/27 16:14 + * fileName TaskService + */ + +public interface TaskService { + + + List findBydatabase(); + + + List findByTable(String database); + + + List findByField(String datatable, String database); + + void addImport(NodeOne nodeOne); + + void addImport2(NodeTwo nodeTwo); + + void createMiddle(Config config); + + void addImport3(NodeThree nodeThree); + + List taskList(); + + List JoinList( String nodeOneDatatable, String nodeTwoDatatable, String nodeOneField, String nodeTwoField,String nodeThreeWay); + + + NodeThree FileList(Integer nodeThreeId); + + Result FileLists(@Param("nodeOneDatatable") String nodeOneDatatable, @Param("nodeTwoDatatable") String nodeTwoDatatable, @Param("nodeOneField") String nodeOneField, @Param("nodeTwoField") String nodeTwoField, @Param("nodeThreeWay") String nodeThreeWay,@Param("nodeFields") String nodeFields); + + Result loading(Integer nodeThreeId); +} diff --git a/etl-task-schdeling-server/src/main/java/com/yun/task/service/impl/TaskServiceImpl.java b/etl-task-schdeling-server/src/main/java/com/yun/task/service/impl/TaskServiceImpl.java new file mode 100644 index 0000000..59553b4 --- /dev/null +++ b/etl-task-schdeling-server/src/main/java/com/yun/task/service/impl/TaskServiceImpl.java @@ -0,0 +1,312 @@ +package com.yun.task.service.impl; + + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.domain.*; +import com.bwie.common.result.Result; +import com.yun.common.core.domain.R; +import com.yun.task.mapper.TaskMapper; +import com.yun.task.service.TaskService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.xml.soap.Node; +import java.lang.reflect.Field; +import java.sql.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author Dunzhida + * data 2023/7/27 16:15 + * fileName TaskServiceImpl + */ +@Service +public class TaskServiceImpl implements TaskService { + + + @Autowired + private TaskMapper taskMapper; + +// jdbcTemplate是Spring框架中的一个核心类,用于简化在Java应用程序中执行SQL操作的过程。 +// 提供了一种方便、灵活和安全的方式来访问数据库,并处理与数据库交互相关的细节 + @Autowired + private JdbcTemplate jdbcTemplate; + + +/* +* +* +* daedadawpdjawiofhnoaffdmafmgmpmg凡是美国福克斯没干过可能凡是美国模式每个网格法兰克福哪里呢 +* +* +* */ + /* + * 查询所有数据库 + * */ + @Override + public List findBydatabase() { + String sql = "SELECT schema_name FROM information_schema.schemata"; + return jdbcTemplate.queryForList(sql,String.class); + } + + + + /* + * 根据数据库查询数据库里面的所有表 + * */ + @Override + public List findByTable(String database) { + String sql = "show tables from `"+database+"`"; + return jdbcTemplate.queryForList(sql, String.class); + } + + + /* + * 根据数据库和数据表查询表中的所有字段 + * */ + + @Override + public List findByField(String datatable, String database) { +// 选择要查询的列,包括列名、数据类型、是否可为空和列注释。 + String sql = "SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_COMMENT "+ +// 所有列的相关信息 + "FROM INFORMATION_SCHEMA.COLUMNS "+ +// 通过指定的表模式和表名来筛选出特定的表。 + "WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?"; + + + // 来执行SQL查询并返回结果 执行的SQL语句 数据库名 表名 + List> rows = jdbcTemplate.queryForList(sql, database, datatable); + + List resultList = new ArrayList<>(); + + // 以循环的方式将查出来的字段属性存入对象中 + // 列名 字段类型 是否为null 字段描述 + for (Map row : rows) { + Mysql mysql = new Mysql(); + mysql.setCOLUMNNAME((String) row.get("COLUMN_NAME")); + mysql.setDATATYPE((String) row.get("DATA_TYPE")); + mysql.setISNULLABLE((String) row.get("IS_NULLABLE")); + mysql.setCOLUMN_COMMENT((String) row.get("COLUMN_COMMENT")); + resultList.add(mysql); + } + + return resultList; + } + + + + + + /* + * 进行添加输入主表节点 + * */ + @Override + public void addImport(NodeOne nodeOne) { + //获取输入的多个字段进行join切割 成string类型 + String firstFieldsString = String.join(",", nodeOne.getNodeOneFields()); + nodeOne.setNodeOneField(firstFieldsString); + + taskMapper.addImport(nodeOne); + + taskMapper.updateMiddle(nodeOne.getImport1Id()); + } + + + + /* + * 输入关联表节点 + * */ + @Override + public void addImport2(NodeTwo nodeTwo) { + //获取输入的多个字段进行join切割 成string类型 + String firstFieldsString = String.join(",", nodeTwo.getNodeTwoFields()); + nodeTwo.setNodeTwoField(firstFieldsString); + + taskMapper.addImport2(nodeTwo); + + taskMapper.updateMiddle2(nodeTwo.getImport2Id()); + } + + /* + * 将节点任务id 添加到配置表中 + * */ + @Override + public void createMiddle(Config config) { + taskMapper.createMiddle(config); + } + + @Override + public void addImport3(NodeThree nodeThree) { +// String join = String.join(",", nodeThree.getNodeFieldArr()); +// nodeThree.setNodeFields(join); + taskMapper.addImport3(nodeThree); + } + + @Override + public List taskList() { + List threes = taskMapper.taskList(); + return threes; + } + + @Override + public List JoinList(String nodeOneDatatable, String nodeTwoDatatable, String nodeOneField, String nodeTwoField,String nodeThreeWay) { + String substring = nodeThreeWay.substring(0 , 4); + String substring1 = nodeThreeWay.substring(4, 8); + String sql =" select * FROM "+nodeOneDatatable +" "+ substring +" "+substring1 +" "+ nodeTwoDatatable+" ON "+nodeOneDatatable+"."+nodeOneField+" = "+nodeTwoDatatable+"."+nodeTwoField; + List nodeThrees = jdbcTemplate.queryForList(sql, NodeThree.class); + return nodeThrees; + } + + @Override + public NodeThree FileList(Integer nodeThreeId) { +// 通过Id查询对象 + NodeThree nodeThree = taskMapper.FileList(nodeThreeId); + +// 获取对象内容 在进行查询返回集合 + return nodeThree; + + } + +// String substring = nodeThreeWay.substring(0 , 4); +// String substring1 = nodeThreeWay.substring(5, 9); +// String sql =" select * FROM "+nodeOneDatatable +" "+ substring +" "+substring1 +" "+ nodeTwoDatatable+" ON "+nodeOneDatatable+"."+nodeOneField+" = "+nodeTwoDatatable+"."+nodeTwoField; +//// String sql=" SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE (TABLE_NAME = '"+nodeOneDatatable+"' OR TABLE_NAME = '"+nodeTwoDatatable+"') ORDER BY TABLE_NAME, ORDINAL_POSITION;"; +// List maps = jdbcTemplate.queryForList(sql, Map.class); +// +// +//// List resultList = new ArrayList<>(); +//// for (Map row : rows) { +//// Mysql mysql = new Mysql(); +//// mysql.setCOLUMNNAME((String) row.get("COLUMN_NAME")); +//// mysql.setDATATYPE((String) row.get("DATA_TYPE")); +//// mysql.setISNULLABLE((String) row.get("IS_NULLABLE")); +//// mysql.setCOLUMN_COMMENT((String) row.get("COLUMN_COMMENT")); +//// resultList.add(mysql); +//// } +// return maps; +// + @Override + public Result FileLists(String nodeOneDatatable, String nodeTwoDatatable, String nodeOneField, String nodeTwoField, String nodeThreeWay,String nodeFields) { + + + + + String substring =null; + String substring1=null; +// 判断联查方式 + if (nodeThreeWay.equals("left join")){ + + substring = nodeThreeWay.substring(0 , 4); + substring1 = nodeThreeWay.substring(5, 9); + + }else if (nodeThreeWay.equals("right join")){ + + substring = nodeThreeWay.substring(0,5); + substring1 = nodeThreeWay.substring(6,10); + } + + +// 进行对源数据查询 +// String sql1 =" select * FROM "+nodeOneDatatable +" "+ substring +" "+substring1 +" "+ nodeTwoDatatable+" ON "+nodeOneDatatable+"."+nodeOneField+" = "+nodeTwoDatatable+"."+nodeTwoField; +// List> maps = jdbcTemplate.queryForList(sql1); +// +// List maps1 = taskMapper.FileLists(nodeOneDatatable, nodeTwoDatatable, nodeOneField, nodeTwoField, nodeThreeWay, nodeFields); +// +// StringBuilder sql = new StringBuilder("insert into t_info("); +// StringBuilder resultSql = null; +// for (String s : nodeFields.split(",")) { +// sql.append(s).append(","); +// if (sql.toString().endsWith(",")){ +// StringBuilder stringBuilder = new StringBuilder(sql.substring(0, sql.length() - 1)); +// resultSql=stringBuilder.append(")"); +// } +// } +// System.out.println("result:"+resultSql); +// System.out.println("---------------------------------------------------------------"); +// +// String[] split = nodeFields.split(","); +// String value = "values("; +// for (int j = 0; j < split.length; j++) { +// value+=",#{}"; +// } +// String sqlsql=resultSql+value+")"; +// System.out.println(sqlsql); + + + Connection connection=null; + ResultSet resultSet=null; + try { + // 连接源数据 + connection = DriverManager.getConnection("jdbc:mysql://124.221.14.100:3306/six", "root", "dzd123"); + // 进行对源数据查询 + String sql1 =" select * FROM "+nodeOneDatatable +" "+ substring +" "+substring1 +" "+ nodeTwoDatatable+" ON "+nodeOneDatatable+"."+nodeOneField+" = "+nodeTwoDatatable+"."+nodeTwoField; + PreparedStatement preparedStatement = connection.prepareStatement(sql1); + resultSet = preparedStatement.executeQuery(); + // 选取需要得字段 + + while (resultSet.next()){ + String name = resultSet.getString("name"); + int age = resultSet.getInt("age"); + String phone = resultSet.getString("phone"); + String password = resultSet.getString("password"); + String email = resultSet.getString("email"); + + // 连接目标系统 + Connection connection1 = DriverManager.getConnection("jdbc:mysql://124.221.14.100:3306/six", "root", "dzd123"); + // 数据加载到目标系统中 + PreparedStatement preparedStatement1 = connection1.prepareStatement("insert into t_info (name,age,phone,password,email) values (?,?,?,?,?)"); + preparedStatement1.setString(1,name); + preparedStatement1.setInt(2,age); + preparedStatement1.setString(3,phone); + preparedStatement1.setString(4,password); + preparedStatement1.setString(5,email); + + preparedStatement1.executeUpdate(); + preparedStatement1.close(); + connection1.close(); + } + preparedStatement.close(); + + } catch (SQLException throwables) { + throwables.printStackTrace(); + }finally { + + try { + if (resultSet!=null){ + resultSet.close(); + } + if (connection!=null){ + connection.close(); + } + + } catch (Exception exception) { + exception.printStackTrace(); + } + } + + + return Result.success("完成"); + + } + + @Override + public Result loading(Integer nodeThreeId) { +// String sql="insert into "+nodeThree.getNodeOneDatatable() +" VALUES ( "+nodeThree.getNodeOneField()+" )"; + +// String nodeFields = String.join(",", nodeThree.getNodeFieldArr()); + NodeThree nodeThree = taskMapper.FileList(nodeThreeId); + + Integer integer= taskMapper.loading(nodeThree.getNodeFields()); + + return Result.success(integer); + + } + + +} diff --git a/etl-task-schdeling-server/src/main/resources/bootstrap.yml b/etl-task-schdeling-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..e17db9f --- /dev/null +++ b/etl-task-schdeling-server/src/main/resources/bootstrap.yml @@ -0,0 +1,25 @@ +# Tomcat +server: + port: 9636 + +# Spring +spring: + application: + # 应用名称 + name: etl-task + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 10.21.21.4:8848 + config: + # 配置中心地址 + server-addr: 10.21.21.4:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/etl-task-schdeling-server/src/main/resources/mapper/TaskMapper.xml b/etl-task-schdeling-server/src/main/resources/mapper/TaskMapper.xml new file mode 100644 index 0000000..cdb0497 --- /dev/null +++ b/etl-task-schdeling-server/src/main/resources/mapper/TaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + INSERT INTO `shengshixian`.`t_node_one` ( `node_one_id`, `node_one_database`, `node_one_datatable`, `node_one_field`, `import1_id` ) +VALUES + ( 0,#{nodeOneDatabase},#{nodeOneDatatable},#{nodeOneField},#{import1Id} );; + + + + INSERT INTO `shengshixian`.`t_node_two` (`node_two_id`, `node_two_database`, `node_two_datatable`, `node_two_field`, `import2_id`) + VALUES (0,#{nodeTwoDatabase},#{nodeTwoDatatable},#{nodeTwoField},#{import2Id}); + + + + INSERT INTO `shengshixian`.`t_config` (`config_id`, `improt1_id`, `improt2_id`, `improt3_id`) + VALUES (0,0,0,0); + + + + INSERT INTO `shengshixian`.`t_node_three` (`node_three_id`, `node_one_datatable`, `node_one_field`, `node_three_way`, `node_two_datatable`, `node_two_field`, `import3_id`,`node_fields`) + VALUES (0,#{nodeOneDatatable},#{nodeOneField},#{nodeThreeWay},#{nodeTwoDatatable},#{nodeTwoField},1,#{nodeFields}); + + + INSERT INTO `six`.`t_info` (`id`, `name`) VALUES (0, #{nodeFields}); + + + + + update t_config set improt1_id=#{improt1Id} where config_id=#{import1Id} + + + update t_config set improt2_id=#{improt2Id} where config_id=#{import2Id} + + + + + + + diff --git a/etl-task-schdeling-server/target/classes/bootstrap.yml b/etl-task-schdeling-server/target/classes/bootstrap.yml new file mode 100644 index 0000000..e17db9f --- /dev/null +++ b/etl-task-schdeling-server/target/classes/bootstrap.yml @@ -0,0 +1,25 @@ +# Tomcat +server: + port: 9636 + +# Spring +spring: + application: + # 应用名称 + name: etl-task + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 10.21.21.4:8848 + config: + # 配置中心地址 + server-addr: 10.21.21.4:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/etl-task-schdeling-server/target/classes/com/yun/task/Demo.class b/etl-task-schdeling-server/target/classes/com/yun/task/Demo.class new file mode 100644 index 0000000000000000000000000000000000000000..d03ca17e9fac9e7f79321e4821c69d60309da87b GIT binary patch literal 1696 zcmbtU&u<%55dL25{b92v=_XDwzZz(vo7S#F+6L;BhO|i`#c^9)64C-??QGpm*Sp5M zuBZ?a2M!!LR6?APdf^NbjzpyX0bCFVPN?v2R7Gm}-Z~{MHYY55-kW(d-^_e({C>Xw z(`^7pP)}nwUe)oMhGRNPX(TYK<9HgclkQdq=ksWA3UxxSUg z63*y&TSr;PvWAL=vjXaI*LR~60tst!MId=9Sa$@5%dYQKI?bBXzF^lpTFi1#x4jj+ z?Mi*yn2fHvp}=Ul9yE(LI({*-!)wI_ry0x=s%g8vz_@j(ykTFri=OQ_iq)v?`i)tc zDiwBWVXO+|`dm(STyNcJ6Gt$E*>^4vHuzg&BD>v?RSd{O2b-;hAA8K#cEXMqRpnj@ zTb>(ny>5FQcBj%KcFI&EyMAriZp9sHur!<_^8)F`PwGx9asxlqaGrWK=(Ow3X;+ey zk}V&ST^e`_If0CCH=VrQaPqEyB@o#CZw9v8W7V!7I_+q}^`l@Sx-8u-3Gxn0&ojA! zJgNpR;9UbNST*n-)(l+4B?B+ueL78Q_`tx2xGbRcIxI=|k2J8Dn#7qa{J#%@W12#X zT<7G=sN?ZN5RAD#;nOcM^2hf+;G*6uKq`z7db(m<2R%O|3{q3acgO5Ak?Fj z+z2D5$%vpsuCl$vZcseOzevQ29J|Tfk9E@{cD5gRr<>83;KyNjgDnZ_`5c;YJ}B}t z1R;l&@@Z;Cu7ay_U=!l|`1l!0H8y7OEcZsw0ng!iYANi&1VI=q?$9qq+aKmoc?*d( zGr0+6SyT?1Y8P55nM>ZDQ4%w1R?RB6u#ih;)#;L!&uLxg(nVj*caf62^f%Ze5%LLI zo=C2DVGydM=X5hezseV?`0l~h4|q~KZDQCQp|#M(F2;9Z^1vMB`Y^FMR_f(t1-E+0 z49Y1oZ<{9 literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/classes/com/yun/task/Demo2.class b/etl-task-schdeling-server/target/classes/com/yun/task/Demo2.class new file mode 100644 index 0000000000000000000000000000000000000000..5048e6a0ed54575471042e5b9f85094fb9466d44 GIT binary patch literal 2871 zcma)8>sJ(I82`PnyEE*L0;?dXdBp+=x2(uOO+gJ3(S$Ii%wczck=dDTcb24!-Rx%f zn`LDeyO?FCQy(zooKDAYdHRd`kp147U3ON7)}=c{}0i zxrxLMBkgSLq^-1W+5+{>!+l5fNj+id_E=)T&6@UDr}PyzY&Sc_eW$-`y|!&+yDdGJ zGibHW*UG!5mDrLM02}_Cvl8+G)&I}rqu^N$$MGB? z>~b78=VtZH9>X1XQn~5~p0B|R)nPQ$;6)8D;e>*hHN1jX6}+b5b)2MD$)8^v4R7F0 z4R7IX1@CBh7w<7_4e#Rv4IknoHb+Tg4pt4PB+Cyz2&IOPaZ`G!ZJDP(IMJCrt!-)!Fnt%D*HeNP3PPL?&j&}Tp}D~K z=A+xOWYe3D%@$l-3a&(_DvNCB9IRz!sy`9lt5dskVMM+00er_Cl$ttVXLm=ldcW5pj({pa*s?mBmGMF9NJ{6cq>t)JP8bu8rAs#jKe4I%9A_fW$L{Z7 zLInfqFR!amzkO=HT zE!PI9Xhc1h61-)&6D#>cZ!HE1;4rZ{OiXm5a)OwgA}VLlhV$5f3%CQn@Ym&ExW_|q zKdqeLsf~11;zdgvxvRL0yC^4U^*CkQS)4&k;$Cbbvcqt2A88@_vCzR&nBGiuVl(Tr zh5GfB_w8<_E#KPxw6=}Bm8iT58>)is3c7@XZoy@Tf}OyYf2df=6lFI&z#ahNJk>Fb Z4UsCG!;koZX%CPti$6%&hcSc${{a$%06qW! literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/classes/com/yun/task/MazePra.class b/etl-task-schdeling-server/target/classes/com/yun/task/MazePra.class new file mode 100644 index 0000000000000000000000000000000000000000..40a51aa647783db6c85f2d40ac01f0c9ed86c236 GIT binary patch literal 2970 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 literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/classes/com/yun/task/mapper/TaskMapper.class b/etl-task-schdeling-server/target/classes/com/yun/task/mapper/TaskMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..2e04778a74b7ba0f8e3e4bb530977850cd097e23 GIT binary patch literal 1069 zcmc&zO-~d-5PglfyDWnI9{85COo|PSOk&B6^nyIe$Ue&AapI4VZ0BmEej+b?;GE9ju+)q+t9mDH(H!ukw zoGHoaBQctXCJ{>W&nA?IT6Q*%7+QH63MUU#7{-!esogyl-vp0^j`+TIGLqKUHE)>T z-ACO&GafQir6yD>u(Bfc>dyW?8hxyyTe4dWZ|+1C6ZKE5EN5ysk$vr|j7*qsZ)b;zZjinMUKrGa<;DA@g*ZKcQuB58b5u`EU2k2URn8ismoM5uJcuubF;-su*9LYgyFCzTr`SugXL1|J!X$>-KHUU5Nu_;T z+-ruFFS&Lqkw+?1gIMlqZJcn*XmWGCYiz_tDuNTq)qv6&7o!4R5|PGg@vzQw&5Mi1 z6VJ~_QVesWM|3zim4T}LMqXJ^;ly6oCz*PALIfyDRl zzz6VAh_N?hL(-I0A9z@KX7Frqmuc2z5ht)z zt2Yl>kI`5QpEgCL8w83i;Yp_B5CLlwfQ`h#XVRlB9SZ3+UZc}|LfvLvAKg}Klc*CS zy~+SPJ>Hh!zDwZ62}GGP=$y%Mqv@!Cc8>+8C!o__iKJ=DOR#kqR|| zmD)7?2j%iz$s6?!fzr_9*}q)c$I7~tosculcZBPjs#m7Q*;I00cw=Fn6R1x0FqyRv zLZ0MS&@B3F+QXE3{2`}SBjqq1Qh2X~OgQ{ZRiAvoESB-?F!Hzm7%pouwuH}Z@vu=ptz(jR!9o2)5)t@1$}*VCEaf^IW-`5yN3pNzo;|SUmAzPM5%7+P1g?aS zEMx)KJbWXi(o72_G3jbkg&t)`%sJpxbkQ79mIA2tLbACY^J8rAMVZXYJ6vG6!c5Ow z6VAhksXRapc7s(B@t0~k`xEQq)ETh-h56)t#a!HI1lC8(IsH+_Z(VAsICPNDrq;%x zY4NZp9RAd7Spv&uZ}ekH%{YhyFKEzX`W2?l#;( o`(2E?nM2_oe#;TuPsK_quB75>Dppf*4T&E>4ao@9?NuKB24^DxasU7T literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/classes/com/yun/task/service/impl/TaskServiceImpl.class b/etl-task-schdeling-server/target/classes/com/yun/task/service/impl/TaskServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..8dbc41e62edad0e0a7531813f94fa8765ed58d96 GIT binary patch literal 8860 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 D-nsA( literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/classes/mapper/TaskMapper.xml b/etl-task-schdeling-server/target/classes/mapper/TaskMapper.xml new file mode 100644 index 0000000..cdb0497 --- /dev/null +++ b/etl-task-schdeling-server/target/classes/mapper/TaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + INSERT INTO `shengshixian`.`t_node_one` ( `node_one_id`, `node_one_database`, `node_one_datatable`, `node_one_field`, `import1_id` ) +VALUES + ( 0,#{nodeOneDatabase},#{nodeOneDatatable},#{nodeOneField},#{import1Id} );; + + + + INSERT INTO `shengshixian`.`t_node_two` (`node_two_id`, `node_two_database`, `node_two_datatable`, `node_two_field`, `import2_id`) + VALUES (0,#{nodeTwoDatabase},#{nodeTwoDatatable},#{nodeTwoField},#{import2Id}); + + + + INSERT INTO `shengshixian`.`t_config` (`config_id`, `improt1_id`, `improt2_id`, `improt3_id`) + VALUES (0,0,0,0); + + + + INSERT INTO `shengshixian`.`t_node_three` (`node_three_id`, `node_one_datatable`, `node_one_field`, `node_three_way`, `node_two_datatable`, `node_two_field`, `import3_id`,`node_fields`) + VALUES (0,#{nodeOneDatatable},#{nodeOneField},#{nodeThreeWay},#{nodeTwoDatatable},#{nodeTwoField},1,#{nodeFields}); + + + INSERT INTO `six`.`t_info` (`id`, `name`) VALUES (0, #{nodeFields}); + + + + + update t_config set improt1_id=#{improt1Id} where config_id=#{import1Id} + + + update t_config set improt2_id=#{improt2Id} where config_id=#{import2Id} + + + + + + + diff --git a/etl-task-schdeling-server/target/etl-task-schdeling-server-3.6.3.jar b/etl-task-schdeling-server/target/etl-task-schdeling-server-3.6.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..c3f62bf6167048bfd3d98948eaf5824c6956e6de GIT binary patch literal 17345 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 literal 0 HcmV?d00001 diff --git a/etl-task-schdeling-server/target/maven-archiver/pom.properties b/etl-task-schdeling-server/target/maven-archiver/pom.properties new file mode 100644 index 0000000..7e92a86 --- /dev/null +++ b/etl-task-schdeling-server/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Fri Aug 04 10:38:46 CST 2023 +version=3.6.3 +groupId=com.yun +artifactId=etl-task-schdeling-server diff --git a/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..ef1f8da --- /dev/null +++ b/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,8 @@ +com\yun\task\Demo.class +com\yun\task\controller\TaskController.class +com\yun\task\MazePra.class +com\yun\task\Demo2.class +com\yun\task\mapper\TaskMapper.class +com\yun\task\service\TaskService.class +com\yun\task\service\impl\TaskServiceImpl.class +com\yun\task\TaskApplication.class diff --git a/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..8b0bccc --- /dev/null +++ b/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,8 @@ +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\test.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\service\TaskService.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\service\impl\TaskServiceImpl.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\Demo.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\controller\TaskController.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\mapper\TaskMapper.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\Demo2.java +D:\项目\etl-task-scheduling\etl-task-schdeling-server\src\main\java\com\yun\task\TaskApplication.java diff --git a/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/etl-task-schdeling-server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..5b46774 --- /dev/null +++ b/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + com.yun + yun-parent + 3.6.3 + + + + etl-task-schdeling-common + etl-task-schdeling-remote + etl-task-schdeling-server + + + etl-task-scheduling + 3.6.3 + pom + + + etl-task-scheduling任务调度 + + + + + 21-releases + 21-releases + http://10.21.21.3/repository/maven-releases/ + + + + +