From 7a291c756d4a5570c78ac63332dd863443126273 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 12 Nov 2022 09:07:01 +0800 Subject: [PATCH] =?UTF-8?q?service=20=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 ------- .../admin/biz/service/DataSourceService.java | 24 ++++++++++ .../service/impl/DataSourceServiceImpl.java | 45 +++++++++++++++++++ .../web/controller/DomainController.java | 2 +- .../java/cn/icanci/rec/common/result/R.java | 2 +- 5 files changed, 71 insertions(+), 18 deletions(-) create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DataSourceService.java create mode 100644 rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java diff --git a/README.md b/README.md index 368150e..d3fe657 100644 --- a/README.md +++ b/README.md @@ -40,22 +40,6 @@ REC(Rule Engine Component)规则引擎组件:提供统一的规则处理 - 那么通过上述的介绍,相信你就可以了解规则引擎的作用了,那么在实际的业务开发中,我们经常会遇到这种场景,就需要规则引擎进行规则定制执行,来满足业务的诉求。 -## 主流规则引擎 - -| **名称** | **开源** | **流行度** | **运行模式** | **备注** | -| --- | --- | --- | --- | --- | -| ILog | 商业 | 非常高 | / | 价格昂贵 | -| drools | 开源 | github 3.2k | 嵌入式、分离式 | 支持可视化等整个配套,是一个完整的BMRS系统(业务规则管理系统),同时其生态很活跃 | -| esayRule | 开源 | github 2.6k | 嵌入式 | 支持yml、java、注解方式配置规则,但是后两者无法实现动态加载 | -| qlexpress | 开源 | github 2.3k | 嵌入式 | 支持java方式书写规则,且支持动态加载,但加载比较耗时。后续还有Aviator、Vincio均是类似性质,故不予赘述 | -| uRule | 商业 | github 1.1k | 嵌入式、分离式 | 除了部分开源外,其他方面基本和drools差不多,也是一套完整的 BMRS系统,且是国内开发,学习和使用门槛更低 | -| logstash | 开源 | 出名 | 分离式 | 它不算规则引擎,但也放这儿了。想到它也是做数据处理,且支持正则、模式匹配等简单数据处理。也许某些公司某些场景,就刚刚能用上 | -| jess | 商业 | 文档巨少 | / | 不推荐 | -| jruleengine | 开源 | 国内几乎没咋用 | 嵌入式 | 不推荐 | - -- 上述最常用的、最主流的就是`drools`,但是我看了官方的使用和接入文档,使用方式不是很喜欢,而且也不动态,并且还要学习语法的编辑等,我个人认为不是非常友好,因此我重新设计一个只需要页面进行配置即可。 - - ## 设计理念 - 方便运营进行操作,只需页面配置,然后发布,即可动态变更数据。 diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DataSourceService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DataSourceService.java new file mode 100644 index 0000000..10fe350 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/DataSourceService.java @@ -0,0 +1,24 @@ +package cn.icanci.rec.admin.biz.service; + +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.common.model.config.DataSourceVO; + +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 09:03 + */ +public interface DataSourceService extends BaseService { + @Override + List queryAll(); + + @Override + void save(DataSourceVO dataSourceVO); + + @Override + DataSourceVO queryById(String id); + + @Override + PageList queryPage(DataSourceVO dataSourceVO, int pageNum, int pageSize); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java new file mode 100644 index 0000000..28d8d3c --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java @@ -0,0 +1,45 @@ +package cn.icanci.rec.admin.biz.service.impl; + +import cn.icanci.rec.admin.biz.mapper.DataSourceMapper; +import cn.icanci.rec.admin.biz.service.DataSourceService; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.DataSourceDAO; +import cn.icanci.rec.common.model.config.DataSourceVO; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/12 09:04 + */ +@Service +public class DataSourceServiceImpl implements DataSourceService { + @Resource + private DataSourceDAO dataSourceDAO; + @Resource + private DataSourceMapper dataSourceMapper; + + @Override + public List queryAll() { + return null; + } + + @Override + public void save(DataSourceVO dataSourceVO) { + + } + + @Override + public DataSourceVO queryById(String id) { + return null; + } + + @Override + public PageList queryPage(DataSourceVO dataSourceVO, int pageNum, int pageSize) { + return null; + } +} diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/DomainController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/DomainController.java index 4235428..a2f70f7 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/DomainController.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/controller/DomainController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController; * @since 1.0 Created in 2022/10/30 15:10 */ @RestController -@RequestMapping("rec/domain") +@RequestMapping("/rec/domain") public class DomainController { @Resource private DomainService domainService; diff --git a/rec-common/src/main/java/cn/icanci/rec/common/result/R.java b/rec-common/src/main/java/cn/icanci/rec/common/result/R.java index 7625487..84a2b9b 100644 --- a/rec-common/src/main/java/cn/icanci/rec/common/result/R.java +++ b/rec-common/src/main/java/cn/icanci/rec/common/result/R.java @@ -18,7 +18,7 @@ public class R { /** 错误信息 */ private String message; /** 返回前端数据 */ - private Map data = new HashMap(); + private Map data = new HashMap<>(); /** * Builder -- Gitee