diff --git a/README.md b/README.md index 368150eb15a82e81f7ae60312f5aab017de00458..d3fe657fba16561568ed3c0a97da37048c45d37a 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 0000000000000000000000000000000000000000..10fe35055fe4d283b41027be315f1732d0bb6737 --- /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 0000000000000000000000000000000000000000..28d8d3c7aa35c4f67f7c9f5a5a4f4d566f405d52 --- /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 4235428df44eab705d68f11aaab3ad1d4bddaa50..a2f70f703ad8e48f610696163027d2c1e85adaca 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 7625487f385ee83fdb6d99fbf1c379c55a785b41..84a2b9bc201ef60a85f75166826c332ee1310a81 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