概要介绍
规则引擎分为规则和触发两部分
规则介绍
数据增删改查节点
可选择数据库某个业务表做新增、删除、修改、查询等操作。
消息通知节点
可设定邮件、消息通知、短信、钉钉等方式,通过微服务调用消息通知模块将消息通知给对应的用户。
内部服务节点
可配置调用注册中心里所有的微服务。
外部服务节点
可配置调用http协议的外部接口服务。
缓存节点
可配置读取或者写入数据到redis。
消息队列节点
可配置将数据发送到指定交换机或者消息队列中。
子规则节点
可配置已经存在的规则,达到规则复用,简化配置。
字段计算节点
计算的结果可以被赋值到其他应用表中或作为流转条件。
条件分支节点
可配置数据满足不同条件时走不通的规则链。
循环节点
可配置迭代循环、固定循环、条件循环,循环体节点配置类似子规则。
关联节点
可把两个数据集对象根据关联字段和连接方式重新聚合成一个新的数据集。
聚合节点
从工作表或上游数据集节点中筛选符合条件的数据并进行汇总计算,如:记录数量、求和、平均、最大、最小等。
自定义节点
可配置groovy和java以及js脚本,无需重启,热加载即时生效。
触发介绍
以下五种:固定时间触发、表单时间触发、流程触发、数据触发、MQ触发。
固定时间触发
可以设定一个循环周期时间(例如每周一早9点),当时间每到达一个周期时间,都可以执行一次计划的规则。例如公司每周五下午3点开周例会,设置每周五下午2点半触发,提醒大家准备开会的规则。
表单时间触发
可以选择某个产品应用的表中的日期时间字段,根据表中所有记录的时间值之前或者之后配置触发的时间点,每到一个周期就能触发规则。
例如员工表里记录每个员工的生日,当有员工生日的那天早上8点,就触发给员工发短信祝福消息的规则。
流程触发
可以设定审批流程数据记录变更触发,就执行配置的规则。例如入库订单审核节点同意后,触发自动将产品库存数量增加的规则。
数据触发
可以设定某个产品应用表有数据变更,就自动执行设置好的规则。例如员工表新增数据,触发更新通讯录,并给所有老员工发最新通讯录的邮件的规则。
MQ触发
可以设定外部系统通过相关操作或数据变更时,将信息传递给规则引擎平台,平台根据相关信息执行对应的规则。例如CRM系统中新增一个订单并确认后,在库存管理系统中同步发起一条出库申请流程的规则。
和鲸任务案例
规则管理
每日规则
1、http节点:获取昨日经验
2、循环节点:循环2次,点赞和取消,每日任务10经验,因为每周任务有概率是10次点赞,周五领取周任务时可自动完成。
3、并行分支节点
4、http节点:评论和删除评论,每日任务固定会有评论任务15经验,评论后删除防止对别人的文章产生过多垃圾数据。
5、http节点:收藏和删除收藏,每周任务会有收藏任务,收藏后删除,避免自己账户下收藏数据膨胀
6、http节点:获取最新经验
7、计算节点:计算最新经验-昨日经验=今日增长经验
8、http节点:微信消息推送采用pushplus,可在微信知道今日增长经验和当前最新经验
每周规则
领取每周金币、获取周任务列表、迭代周任务列表-领取每个周任务奖励
触发管理
每日触发
每周触发
任务领取奖励