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 + + + +