From da8bef15d048d7b515a90685a05c8ea2cddb5ef5 Mon Sep 17 00:00:00 2001
From: zhang chengzhi <3144712872@qq.com>
Date: Thu, 22 Aug 2024 16:05:45 +0800
Subject: [PATCH] 11111
---
.gitignore | 35 +++++
cloud-rule-client/pom.xml | 27 ++++
cloud-rule-common/pom.xml | 28 ++++
cloud-rule-remote/pom.xml | 27 ++++
cloud-rule-server/pom.xml | 124 ++++++++++++++++++
.../etl/server/DataSourcesApplication.java | 21 +++
.../server/controller/EtlRuleController.java | 106 +++++++++++++++
.../muyu/etl/server/mapper/EtlRuleMapper.java | 33 +++++
.../etl/server/service/EtlRuleService.java | 43 ++++++
.../service/impl/EtlRuleServiceImpl.java | 93 +++++++++++++
.../src/main/resources/banner.txt | 2 +
.../src/main/resources/bootstrap.yml | 56 ++++++++
.../src/main/resources/logback/dev.xml | 74 +++++++++++
.../src/main/resources/logback/prod.xml | 81 ++++++++++++
.../src/main/resources/logback/test.xml | 81 ++++++++++++
pom.xml | 30 +++++
16 files changed, 861 insertions(+)
create mode 100644 .gitignore
create mode 100644 cloud-rule-client/pom.xml
create mode 100644 cloud-rule-common/pom.xml
create mode 100644 cloud-rule-remote/pom.xml
create mode 100644 cloud-rule-server/pom.xml
create mode 100644 cloud-rule-server/src/main/java/com/muyu/etl/server/DataSourcesApplication.java
create mode 100644 cloud-rule-server/src/main/java/com/muyu/etl/server/controller/EtlRuleController.java
create mode 100644 cloud-rule-server/src/main/java/com/muyu/etl/server/mapper/EtlRuleMapper.java
create mode 100644 cloud-rule-server/src/main/java/com/muyu/etl/server/service/EtlRuleService.java
create mode 100644 cloud-rule-server/src/main/java/com/muyu/etl/server/service/impl/EtlRuleServiceImpl.java
create mode 100644 cloud-rule-server/src/main/resources/banner.txt
create mode 100644 cloud-rule-server/src/main/resources/bootstrap.yml
create mode 100644 cloud-rule-server/src/main/resources/logback/dev.xml
create mode 100644 cloud-rule-server/src/main/resources/logback/prod.xml
create mode 100644 cloud-rule-server/src/main/resources/logback/test.xml
create mode 100644 pom.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3e403e3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,35 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
diff --git a/cloud-rule-client/pom.xml b/cloud-rule-client/pom.xml
new file mode 100644
index 0000000..4407c5d
--- /dev/null
+++ b/cloud-rule-client/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-etl-rule
+ 1.0.0
+
+
+ cloud-rule-client
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ cloud-rule-common
+
+
+
+
diff --git a/cloud-rule-common/pom.xml b/cloud-rule-common/pom.xml
new file mode 100644
index 0000000..8992d0f
--- /dev/null
+++ b/cloud-rule-common/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-etl-rule
+ 1.0.0
+
+
+ cloud-rule-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ com.muyu
+ cloud-common-core
+
+
+
+
diff --git a/cloud-rule-remote/pom.xml b/cloud-rule-remote/pom.xml
new file mode 100644
index 0000000..c87384f
--- /dev/null
+++ b/cloud-rule-remote/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-etl-rule
+ 1.0.0
+
+
+ cloud-rule-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ cloud-rule-common
+
+
+
+
diff --git a/cloud-rule-server/pom.xml b/cloud-rule-server/pom.xml
new file mode 100644
index 0000000..e68cb7f
--- /dev/null
+++ b/cloud-rule-server/pom.xml
@@ -0,0 +1,124 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-etl-rule
+ 1.0.0
+
+
+ cloud-rule-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ cloud-common-datasource
+
+
+
+
+ com.muyu
+ cloud-common-datascope
+
+
+
+
+ com.muyu
+ cloud-common-log
+
+
+
+
+ com.muyu
+ cloud-common-api-doc
+
+
+
+
+ com.muyu
+ cloud-common-xxl
+
+
+ com.muyu
+ cloud-common-rabbit
+
+
+ com.muyu
+ cloud-etl-common
+
+
+ com.muyu
+ cloud-common-nacos-api
+
+
+
+
+ cloud-etl
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/cloud-rule-server/src/main/java/com/muyu/etl/server/DataSourcesApplication.java b/cloud-rule-server/src/main/java/com/muyu/etl/server/DataSourcesApplication.java
new file mode 100644
index 0000000..2427091
--- /dev/null
+++ b/cloud-rule-server/src/main/java/com/muyu/etl/server/DataSourcesApplication.java
@@ -0,0 +1,21 @@
+package com.muyu.etl.server;
+
+import com.muyu.common.security.annotation.EnableCustomConfig;
+import com.muyu.common.security.annotation.EnableMyFeignClients;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @Author:zhangzhihao
+ * @name:DataSourcesApplication
+ * @Date:2024/8/21 14:37
+ * 不准抄代码,添加注释,清楚每一行代码意思
+ */
+@EnableCustomConfig
+@EnableMyFeignClients
+@SpringBootApplication
+public class DataSourcesApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(DataSourcesApplication.class);
+ }
+}
diff --git a/cloud-rule-server/src/main/java/com/muyu/etl/server/controller/EtlRuleController.java b/cloud-rule-server/src/main/java/com/muyu/etl/server/controller/EtlRuleController.java
new file mode 100644
index 0000000..53579a8
--- /dev/null
+++ b/cloud-rule-server/src/main/java/com/muyu/etl/server/controller/EtlRuleController.java
@@ -0,0 +1,106 @@
+package com.muyu.etl.server.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.etl.common.domain.EtlRule;
+import com.muyu.etl.common.domain.req.EtlRuleAddReq;
+import com.muyu.etl.common.domain.req.EtlRuleListReq;
+import com.muyu.etl.common.domain.req.EtlRuleUpdReq;
+import com.muyu.etl.common.domain.resp.EtlRuleResp;
+import com.muyu.etl.server.service.EtlRuleService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @Author:张承志
+ * @Package:com.muyu.etl.controller
+ * @Project:cloud-etl
+ * @name:EtlRuleController
+ * @Date:2024/8/21 14:17
+ */
+@Log4j2
+@RestController
+@RequestMapping("/etlRule")
+@RequiredArgsConstructor
+@Tag(name = "etl规则控制层", description = "进行etl规则管理,查看等相关操作")
+public class EtlRuleController {
+
+ @Autowired
+ private EtlRuleService etlRuleService;
+
+ /**
+ * 通过ID查询单条数据
+ *
+ * @param id 主键
+ * @return 实例对象
+ */
+ @GetMapping("/{id}")
+ public Result queryById(@PathVariable("id") int id){
+ EtlRule etlRule = etlRuleService.queryById(id);
+ return Result.success(etlRule);
+ }
+
+
+ @PostMapping("/List")
+ public Result> selectList(@Validated @RequestBody EtlRuleListReq req){
+
+ List list = etlRuleService.selectList(req);
+
+ return Result.success(list);
+ }
+
+
+ /**
+ * 新增数据
+ *
+ * @param etlRule 实例对象
+ * @return 实例对象
+ */
+
+ @PostMapping
+ public Result add(@RequestBody EtlRuleAddReq etlRule){
+ etlRuleService.save(EtlRule.addBuild(etlRule));
+ return Result.success();
+ }
+
+ /**
+ * 更新数据
+ *
+ * @param etlRule 实例对象
+ * @return 实例对象
+ */
+
+ @PutMapping("/{id}")
+ public Result edit(@PathVariable("id") Long id, @RequestBody @Validated EtlRuleUpdReq etlRule){
+ etlRuleService.updateById(EtlRule.updBuild(etlRule,()->id));
+ return Result.success();
+ }
+
+ /**
+ * 通过主键删除数据
+ *
+ * @param id 主键
+ * @return 是否成功
+ */
+ @DeleteMapping
+ public Result deleteById(int id){
+ etlRuleService.deleteById(id);
+ return Result.success();
+ }
+
+
+
+
+
+}
+
+
+
+
+
+
diff --git a/cloud-rule-server/src/main/java/com/muyu/etl/server/mapper/EtlRuleMapper.java b/cloud-rule-server/src/main/java/com/muyu/etl/server/mapper/EtlRuleMapper.java
new file mode 100644
index 0000000..53c476f
--- /dev/null
+++ b/cloud-rule-server/src/main/java/com/muyu/etl/server/mapper/EtlRuleMapper.java
@@ -0,0 +1,33 @@
+package com.muyu.etl.server.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.muyu.etl.common.domain.EtlRule;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ * @Author:张承志
+ * @Package:com.muyu.etl.mapper
+ * @Project:cloud-etl
+ * @name:EtlRuleMapper
+ * @Date:2024/8/21 14:22
+ */
+@Mapper
+public interface EtlRuleMapper extends BaseMapper {
+
+ /**
+ * 分页查询指定行数据
+ *
+ * @param page 分页参数
+ * @param wrapper 动态查询条件
+ * @return 分页对象列表
+ */
+ @Select("SELECT * FROM etl_rule")
+ IPage selectByPage(IPage page , @Param(Constants.WRAPPER) Wrapper wrapper);
+
+
+}
diff --git a/cloud-rule-server/src/main/java/com/muyu/etl/server/service/EtlRuleService.java b/cloud-rule-server/src/main/java/com/muyu/etl/server/service/EtlRuleService.java
new file mode 100644
index 0000000..6877945
--- /dev/null
+++ b/cloud-rule-server/src/main/java/com/muyu/etl/server/service/EtlRuleService.java
@@ -0,0 +1,43 @@
+package com.muyu.etl.server.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.etl.common.domain.EtlRule;
+import com.muyu.etl.common.domain.req.EtlRuleListReq;
+import com.muyu.etl.common.domain.resp.EtlRuleResp;
+
+import java.util.List;
+
+/**
+ * @Author:张承志
+ * @Package:com.muyu.etl.service
+ * @Project:cloud-etl
+ * @name:EtlRuleService
+ * @Date:2024/8/21 14:21
+ */
+public interface EtlRuleService extends IService {
+
+ /**
+ * 通过ID查询单条数据
+ *
+ * @param id 主键
+ * @return 实例对象
+ */
+ EtlRule queryById(int id);
+
+
+ /**
+ * 通过主键删除数据
+ *
+ * @param id 主键
+ * @return 是否成功
+ */
+ boolean deleteById(int id);
+
+ /**
+ * 条件查询列表
+ * @param req
+ * @return
+ */
+
+ List selectList(EtlRuleListReq req);
+}
diff --git a/cloud-rule-server/src/main/java/com/muyu/etl/server/service/impl/EtlRuleServiceImpl.java b/cloud-rule-server/src/main/java/com/muyu/etl/server/service/impl/EtlRuleServiceImpl.java
new file mode 100644
index 0000000..5a8a0cc
--- /dev/null
+++ b/cloud-rule-server/src/main/java/com/muyu/etl/server/service/impl/EtlRuleServiceImpl.java
@@ -0,0 +1,93 @@
+package com.muyu.etl.server.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.etl.common.domain.EtlRule;
+import com.muyu.etl.common.domain.req.EtlRuleListReq;
+import com.muyu.etl.common.domain.resp.EtlRuleResp;
+import com.muyu.etl.server.mapper.EtlRuleMapper;
+import com.muyu.etl.server.service.EtlRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:张承志
+ * @Package:com.muyu.etl.service.impl
+ * @Project:cloud-etl
+ * @name:EtlRuleServiceImpl
+ * @Date:2024/8/21 14:22
+ */
+@Service
+public class EtlRuleServiceImpl extends ServiceImpl implements EtlRuleService {
+
+ @Autowired
+ private EtlRuleMapper etlRuleMapper;
+
+ /**
+ * 通过ID查询单条数据
+ *
+ * @param id 主键
+ * @return 实例对象
+ */
+ @Override
+ public EtlRule queryById(int id){
+ return etlRuleMapper.selectById(id);
+ }
+
+
+
+ /**
+ * 通过主键删除数据
+ *
+ * @param id 主键
+ * @return 是否成功
+ */
+ @Override
+ public boolean deleteById(int id){
+ int total = etlRuleMapper.deleteById(id);
+ return total > 0;
+ }
+
+ @Override
+ public List selectList(EtlRuleListReq req) {
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+
+ queryWrapper.like(StringUtils.isNotEmpty(req.getName()),EtlRule::getName,req.getName());
+
+ queryWrapper.eq(
+ StringUtils.isNotEmpty(req.getStatus()),EtlRule::getStatus,req.getStatus()
+ );
+ queryWrapper.eq(
+ StringUtils.isNotEmpty(req.getOpen()),EtlRule::getOpen,req.getOpen()
+ );
+
+ queryWrapper.eq(
+ StringUtils.isNotEmpty(req.getType()),EtlRule::getType,req.getType()
+ );
+
+ List etlRuleList = this.list(queryWrapper);
+
+ List respList = etlRuleList.stream()
+ .map(etlRule -> EtlRuleResp.etlRuleRespBuilder(etlRule)).toList();
+
+
+ return respList;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/cloud-rule-server/src/main/resources/banner.txt b/cloud-rule-server/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/cloud-rule-server/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/cloud-rule-server/src/main/resources/bootstrap.yml b/cloud-rule-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..f5ca5fd
--- /dev/null
+++ b/cloud-rule-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,56 @@
+# Tomcat
+server:
+ port: 13000
+
+# nacos线上地址
+nacos:
+ addr: 12.2.0.252:8848
+ user-name: nacos
+ password: nacos
+ namespace: muyu-cloud
+
+# Spring
+spring:
+ main:
+ allow-bean-definition-overriding: true
+ application:
+ # 应用名称
+ name: cloud-etl
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ config:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ # 系统共享配置
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # 系统环境Config共享配置
+ - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # xxl-job 配置文件
+ - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # rabbit 配置文件
+ - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+logging:
+ level:
+ com.muyu.system.mapper: DEBUG
diff --git a/cloud-rule-server/src/main/resources/logback/dev.xml b/cloud-rule-server/src/main/resources/logback/dev.xml
new file mode 100644
index 0000000..100deef
--- /dev/null
+++ b/cloud-rule-server/src/main/resources/logback/dev.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-rule-server/src/main/resources/logback/prod.xml b/cloud-rule-server/src/main/resources/logback/prod.xml
new file mode 100644
index 0000000..bcab75a
--- /dev/null
+++ b/cloud-rule-server/src/main/resources/logback/prod.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-rule-server/src/main/resources/logback/test.xml b/cloud-rule-server/src/main/resources/logback/test.xml
new file mode 100644
index 0000000..bcab75a
--- /dev/null
+++ b/cloud-rule-server/src/main/resources/logback/test.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..a00d52d
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+
+
+ com.muyu
+ cloud-server-parent
+ 3.6.4
+
+
+ cloud-etl-rule
+ 1.0.0
+ pom
+
+ cloud-rule-client
+ cloud-rule-common
+ cloud-rule-remote
+ cloud-rule-server
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+