From 679f02ad35f47595f2741f2881dd778fee58c654 Mon Sep 17 00:00:00 2001 From: Qin Dong Ming <2720806930@qq.com> Date: Thu, 22 Aug 2024 22:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E5=88=99=E5=BC=95=E6=93=8E=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/muyu/domain/EngineVersion.java | 129 ++++++++++++++++++ .../com/muyu/req/EngineVersionEditReq.java | 50 +++++++ .../com/muyu/req/EngineVersionListResp.java | 49 +++++++ .../com/muyu/req/EngineVersionQueryReq.java | 27 ++++ .../com/muyu/req/EngineVersionSaveReq.java | 54 ++++++++ .../com/muyu/controller/EngIneController.java | 47 +++++-- .../controller/EngineVersionController.java | 37 +++++ .../com/muyu/mapper/EngineVersionMapper.java | 16 +++ .../java/com/muyu/service/EngIneService.java | 10 ++ .../muyu/service/EngineVersionService.java | 24 ++++ .../serviceImpl/EngIneServiceImpl.java | 54 ++++++++ .../serviceImpl/EngineVersionServiceImpl.java | 43 ++++++ 12 files changed, 527 insertions(+), 13 deletions(-) create mode 100644 cloud-etl-common/src/main/java/com/muyu/domain/EngineVersion.java create mode 100644 cloud-etl-common/src/main/java/com/muyu/req/EngineVersionEditReq.java create mode 100644 cloud-etl-common/src/main/java/com/muyu/req/EngineVersionListResp.java create mode 100644 cloud-etl-common/src/main/java/com/muyu/req/EngineVersionQueryReq.java create mode 100644 cloud-etl-common/src/main/java/com/muyu/req/EngineVersionSaveReq.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/controller/EngineVersionController.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/mapper/EngineVersionMapper.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/service/EngineVersionService.java create mode 100644 cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngineVersionServiceImpl.java diff --git a/cloud-etl-common/src/main/java/com/muyu/domain/EngineVersion.java b/cloud-etl-common/src/main/java/com/muyu/domain/EngineVersion.java new file mode 100644 index 0000000..08fd802 --- /dev/null +++ b/cloud-etl-common/src/main/java/com/muyu/domain/EngineVersion.java @@ -0,0 +1,129 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.req.EngineVersionEditReq; +import com.muyu.req.EngineVersionQueryReq; +import com.muyu.req.EngineVersionSaveReq; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; +import java.util.function.Supplier; + +/** + * @Author:qdm + * @Package:com.muyu.domain + * @Project:cloud-etl-engine + * @name:EngineVersion + * @Date:2024/8/22 21:46 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("engine_version") +@EqualsAndHashCode(callSuper = true) +public class EngineVersion extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 编号 */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + /** 版本类名 */ + @Excel(name = "版本类名") + private String versionClass; + + /** 版本名称 */ + @Excel(name = "版本名称") + private String name; + + /** 版本编码 */ + @Excel(name = "版本编码") + private String versionCode; + + /** 是否激活 */ + @Excel(name = "是否激活") + private String isActivate; + + /** 版本状态 */ + @Excel(name = "版本状态") + private Integer status; + + /** 版本测试状态 */ + @Excel(name = "版本测试状态") + private Integer testStatus; + + /** 规则内容 */ + @Excel(name = "规则内容") + private String ruleContent; + + /** 引擎维护编号 */ + @Excel(name = "引擎维护编号") + private Long engineMaintenanceId; + + /** 描述 */ + @Excel(name = "描述") + private String description; + + /** + * 查询构造器 + */ + public static EngineVersion queryBuild(EngineVersionQueryReq engineConfigQueryReq){ + return EngineVersion.builder() + .versionCode(engineConfigQueryReq.getVersionCode()) + .ruleContent(engineConfigQueryReq.getRuleContent()) + .engineMaintenanceId(engineConfigQueryReq.getEngineMaintenanceId()) + .build(); + } + + /** + * 添加构造器 + */ + public static EngineVersion saveBuild(EngineVersionSaveReq engineConfigSaveReq, Supplier createBy){ + return EngineVersion.builder() + .versionClass(engineConfigSaveReq.getVersionClass()) + .name(engineConfigSaveReq.getName()) + .versionCode(engineConfigSaveReq.getVersionCode()) + .isActivate(engineConfigSaveReq.getIsActivate()) + .status(engineConfigSaveReq.getStatus()) + .testStatus(engineConfigSaveReq.getTestStatus()) + .ruleContent(engineConfigSaveReq.getRuleContent()) + .engineMaintenanceId(engineConfigSaveReq.getEngineMaintenanceId()) + .description(engineConfigSaveReq.getDescription()) + .remark(engineConfigSaveReq.getRemark()) + .createBy(createBy.get()) + .createTime(new Date()) + .build(); + } + + /** + * 修改构造器 + */ + public static EngineVersion editBuild(Long id, EngineVersionEditReq engineConfigEditReq, Supplier updateBy){ + return EngineVersion.builder() + .id(id) + .versionClass(engineConfigEditReq.getVersionClass()) + .name(engineConfigEditReq.getName()) + .versionCode(engineConfigEditReq.getVersionCode()) + .isActivate(engineConfigEditReq.getIsActivate()) + .status(engineConfigEditReq.getStatus()) + .testStatus(engineConfigEditReq.getTestStatus()) + .ruleContent(engineConfigEditReq.getRuleContent()) + .engineMaintenanceId(engineConfigEditReq.getEngineMaintenanceId()) + .description(engineConfigEditReq.getDescription()) + .remark(engineConfigEditReq.getRemark()) + .updateBy(updateBy.get()) + .updateTime(new Date()) + .build(); + } + +} diff --git a/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionEditReq.java b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionEditReq.java new file mode 100644 index 0000000..d930775 --- /dev/null +++ b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionEditReq.java @@ -0,0 +1,50 @@ +package com.muyu.req; + +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @Author:qdm + * @Package:com.muyu.req + * @Project:cloud-etl-engine + * @name:EngineVersionEditReq + * @Date:2024/8/22 22:15 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class EngineVersionEditReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 版本类名 */ + private String versionClass; + + /** 版本名称 */ + private String name; + + /** 版本编码 */ + private String versionCode; + + /** 是否激活 */ + private String isActivate; + + /** 版本状态 */ + private Integer status; + + /** 版本测试状态 */ + private Integer testStatus; + + /** 规则内容 */ + private String ruleContent; + + /** 引擎维护编号 */ + private Long engineMaintenanceId; + + /** 描述 */ + private String description; +} diff --git a/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionListResp.java b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionListResp.java new file mode 100644 index 0000000..f49be0a --- /dev/null +++ b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionListResp.java @@ -0,0 +1,49 @@ +package com.muyu.req; + +import com.muyu.domain.EngineVersion; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * @Author:qdm + * @Package:com.muyu.req + * @Project:cloud-etl-engine + * @name:EngineVersionListResp + * @Date:2024/8/22 21:45 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class EngineVersionListResp { + /** 编号 */ + private Long id; + + /** 名称 */ + private String name; + + /** 类型 */ + private Integer type; + + /** 作用域 */ + private Integer scope; + + /** 引擎编码 */ + private String engineCode; + + /** 是否激活 */ + private String isActivate; + + /** 状态 */ + private String status; + + /** 描述 */ + private String description; + + /** 规则引擎版本列表 */ + private List engineVersionList; +} diff --git a/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionQueryReq.java b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionQueryReq.java new file mode 100644 index 0000000..c84a99f --- /dev/null +++ b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionQueryReq.java @@ -0,0 +1,27 @@ +package com.muyu.req; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +/** + * @Author:qdm + * @Package:com.muyu.req + * @Project:cloud-etl-engine + * @name:EngineVersionQueryReq + * @Date:2024/8/22 22:02 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class EngineVersionQueryReq extends BaseEntity { + /** 版本编码 */ + private String versionCode; + + /** 规则内容 */ + private String ruleContent; + + /** 引擎维护编号 */ + private Long engineMaintenanceId; +} diff --git a/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionSaveReq.java b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionSaveReq.java new file mode 100644 index 0000000..885107a --- /dev/null +++ b/cloud-etl-common/src/main/java/com/muyu/req/EngineVersionSaveReq.java @@ -0,0 +1,54 @@ +package com.muyu.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @Author:qdm + * @Package:com.muyu.req + * @Project:cloud-etl-engine + * @name:EngineVersionSaveReq + * @Date:2024/8/22 22:06 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class EngineVersionSaveReq { + private static final long serialVersionUID = 1L; + + /** 编号 */ + private Long id; + + /** 版本类名 */ + private String versionClass; + + /** 版本名称 */ + private String name; + + /** 版本编码 */ + private String versionCode; + + /** 是否激活 */ + private String isActivate; + + /** 版本状态 */ + private Integer status; + + /** 版本测试状态 */ + private Integer testStatus; + + /** 规则内容 */ + private String ruleContent; + + /** 引擎维护编号 */ + private Long engineMaintenanceId; + + /** 描述 */ + private String description; + + /** 描述 */ + private String remark; +} diff --git a/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java b/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java index 04a7b9a..d9a285a 100644 --- a/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java +++ b/cloud-etl-server/src/main/java/com/muyu/controller/EngIneController.java @@ -1,17 +1,13 @@ package com.muyu.controller; - -import com.muyu.common.core.domain.Result; -import com.muyu.common.core.web.controller.BaseController; -import com.muyu.domain.EngineMaintenance; -import com.muyu.service.EngIneService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.domain.EngineMaintenance; +import com.muyu.req.EngineVersionListResp; +import com.muyu.service.EngIneService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.List; /** * @Author:qdm * @Package:com.muyu.controller @@ -31,4 +27,29 @@ public class EngIneController extends BaseController { List list = engIneService.list(); return Result.success(list); } + + @PostMapping("/delete/{id}") + public Result delete(@PathVariable Integer id){ + return engIneService.delete(id); + } + + @PostMapping("/update") + public Result update(@RequestBody EngineMaintenance engineMaintenance){ + return engIneService.updateMsg(engineMaintenance); + } + + @PostMapping("/insert") + public Result insert(@RequestBody EngineMaintenance engineMaintenance){ + return engIneService.insert(engineMaintenance); + } + + /** + * 查询规则引擎版本列表 + */ + @RequiresPermissions("rule-engine:maintenance:edit") + @PutMapping("/getRuleEngineInfo/{id}") + public Result getRuleEngineInfo(@PathVariable Long id) { + EngineVersionListResp engineConfigListResp = engIneService.getRuleEngineInfo(id); + return Result.success(engineConfigListResp); + } } diff --git a/cloud-etl-server/src/main/java/com/muyu/controller/EngineVersionController.java b/cloud-etl-server/src/main/java/com/muyu/controller/EngineVersionController.java new file mode 100644 index 0000000..7214f9b --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/controller/EngineVersionController.java @@ -0,0 +1,37 @@ +package com.muyu.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.domain.EngineVersion; +import com.muyu.req.EngineVersionQueryReq; +import com.muyu.service.EngineVersionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:qdm + * @Package:com.muyu.controller + * @Project:cloud-etl-engine + * @name:EngineVersionController + * @Date:2024/8/22 21:59 + */ +@RestController +@RequestMapping("/version") +public class EngineVersionController { + + @Autowired + EngineVersionService engineVersionService; + + /** + * 查询引擎规则配置列表 + */ + @RequiresPermissions("rule-engine:version:list") + @GetMapping("/list") + public Result> list(EngineVersionQueryReq engineConfigQueryReq) { + return Result.success(engineVersionService.list(EngineVersion.queryBuild(engineConfigQueryReq))); + } +} diff --git a/cloud-etl-server/src/main/java/com/muyu/mapper/EngineVersionMapper.java b/cloud-etl-server/src/main/java/com/muyu/mapper/EngineVersionMapper.java new file mode 100644 index 0000000..853e5ff --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/mapper/EngineVersionMapper.java @@ -0,0 +1,16 @@ +package com.muyu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.EngineVersion; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:qdm + * @Package:com.muyu.mapper + * @Project:cloud-etl-engine + * @name:EngineVersionMapper + * @Date:2024/8/22 22:18 + */ +@Mapper +public interface EngineVersionMapper extends BaseMapper { +} diff --git a/cloud-etl-server/src/main/java/com/muyu/service/EngIneService.java b/cloud-etl-server/src/main/java/com/muyu/service/EngIneService.java index af9c04c..ce30544 100644 --- a/cloud-etl-server/src/main/java/com/muyu/service/EngIneService.java +++ b/cloud-etl-server/src/main/java/com/muyu/service/EngIneService.java @@ -1,8 +1,10 @@ package com.muyu.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.common.core.domain.Result; import com.muyu.domain.EngineMaintenance; import com.muyu.req.EngineMaintenanceQueryReq; +import com.muyu.req.EngineVersionListResp; import java.util.List; @@ -15,4 +17,12 @@ import java.util.List; */ public interface EngIneService extends IService { List list( ); + + Result delete(Integer id); + + Result updateMsg(EngineMaintenance engineMaintenance); + + Result insert(EngineMaintenance engineMaintenance); + + EngineVersionListResp getRuleEngineInfo(Long id); } diff --git a/cloud-etl-server/src/main/java/com/muyu/service/EngineVersionService.java b/cloud-etl-server/src/main/java/com/muyu/service/EngineVersionService.java new file mode 100644 index 0000000..a957210 --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/service/EngineVersionService.java @@ -0,0 +1,24 @@ +package com.muyu.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.EngineVersion; + +import java.util.List; + +/** + * @Author:qdm + * @Package:com.muyu.service + * @Project:cloud-etl-engine + * @name:EngineVersionService + * @Date:2024/8/22 21:57 + */ +public interface EngineVersionService extends IService { + + /** + * 查询引擎规则配置列表 + * + * @param engineConfig 引擎规则配置 + * @return 引擎规则配置集合 + */ + public List list(EngineVersion engineConfig); +} diff --git a/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngIneServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngIneServiceImpl.java index 965d650..46b2de5 100644 --- a/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngIneServiceImpl.java +++ b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngIneServiceImpl.java @@ -2,11 +2,15 @@ package com.muyu.service.serviceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.StringUtils; import com.muyu.domain.EngineMaintenance; +import com.muyu.domain.EngineVersion; import com.muyu.mapper.EngineMapper; import com.muyu.req.EngineMaintenanceQueryReq; +import com.muyu.req.EngineVersionListResp; import com.muyu.service.EngIneService; +import com.muyu.service.EngineVersionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +29,9 @@ public class EngIneServiceImpl extends ServiceImpl list( ) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -56,4 +63,51 @@ public class EngIneServiceImpl extends ServiceImpl updateMsg(EngineMaintenance engineMaintenance) { + if (engineMapper.updateById(engineMaintenance) > 0) { + return Result.success(engineMaintenance); + } + return Result.error("失败"); + } + + @Override + public Result insert(EngineMaintenance engineMaintenance) { + if (engineMapper.insert(engineMaintenance) > 0) { + return Result.success(engineMaintenance); + } + return Result.error("失败"); + } + + @Override + public EngineVersionListResp getRuleEngineInfo(Long id) { + EngineMaintenance engineMaintenance = this.getOne(new LambdaQueryWrapper<>() {{ + eq(EngineMaintenance::getId, id); + }}); + List engineConfigs = engineConfigService.list(); + List engineConfigList = engineConfigs.stream().filter(engineConfig -> + engineConfig.getEngineMaintenanceId().equals(engineMaintenance.getId()) + ).toList(); + return EngineVersionListResp.builder() + .id(engineMaintenance.getId()) + .name(engineMaintenance.getName()) + .type(engineMaintenance.getType()) + .scope(engineMaintenance.getScope()) + .engineCode(engineMaintenance.getEngineCode()) + .isActivate(engineMaintenance.getIsActivate()) + .status(engineMaintenance.getStatus()) + .description(engineMaintenance.getDescription()) + .engineVersionList(engineConfigList) + .build(); + } } diff --git a/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngineVersionServiceImpl.java b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngineVersionServiceImpl.java new file mode 100644 index 0000000..d085d97 --- /dev/null +++ b/cloud-etl-server/src/main/java/com/muyu/service/serviceImpl/EngineVersionServiceImpl.java @@ -0,0 +1,43 @@ +package com.muyu.service.serviceImpl; + +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.domain.EngineVersion; +import com.muyu.mapper.EngineVersionMapper; +import com.muyu.service.EngineVersionService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author:qdm + * @Package:com.muyu.service.serviceImpl + * @Project:cloud-etl-engine + * @name:EngineVersionServiceImpl + * @Date:2024/8/22 22:17 + */ +@Service +public class EngineVersionServiceImpl extends ServiceImpl implements EngineVersionService { + + + @Override + public List list(EngineVersion engineConfig) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + if (StringUtils.isNotNull(engineConfig.getVersionCode())) { + queryWrapper.eq(EngineVersion::getVersionCode, engineConfig.getVersionCode()); + } + + if (StringUtils.isNotNull(engineConfig.getRuleContent())) { + queryWrapper.eq(EngineVersion::getRuleContent, engineConfig.getRuleContent()); + } + + if (StringUtils.isNotNull(engineConfig.getEngineMaintenanceId())) { + queryWrapper.eq(EngineVersion::getEngineMaintenanceId, engineConfig.getEngineMaintenanceId()); + } + + return list(queryWrapper); + } + +}