# 第13节:规则引擎量化人群参与活动
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!
- 分支:211008_xfg_rule (opens new window)
- 描述:使用组合模式搭建用于量化人群的规则引擎,用于用户参与活动之前,通过规则引擎过滤性别、年龄、首单消费、消费金额、忠实用户等各类身份来量化出具体可参与的抽奖活动。通过这样的方式控制运营成本和精细化运营。
# 零、优秀作业
- 13-19节结构图梳理 @阿羲⭐️ (opens new window)
- 规则引擎量化人群参与活动 @一点江南 (opens new window)
- 规则引擎量化人群参与活动 @BerserkD (opens new window)
- 规则引擎量化量化人群参与活动 @杨杨得亿🙉 (opens new window)
- 通过用户的年龄和性别对用户进行筛选 @Chin (opens new window)
- 规则引擎之量化人群参与抽奖 @Geroge Liu (opens new window)
- 规则引擎量化人群参与活动 @liuc (opens new window)
- 领域量化人群 @微风 (opens new window)
- 通过注解配置执行SQL语句 @杨杨得亿🙉 (opens new window)
- 打造这样一棵有规则限制的二叉树,筛选出合适的用户。@AD钙奶 (opens new window)
- 规则引擎是什么,用在什么地方?@锚 (opens new window)
- 本章节学习到了组合模式的设计模式,组合模式是什么,用在什么地方,优点是什么? @星期一 (opens new window)
- 组合模式在决策树规则引擎场景的使用,最主要是数据库表的设计 @learningJ (opens new window)
- 在对整个流程梳理下来时,才体会到了组合,并且对组合模式解决的问题有了更深的体会 @错否 (opens new window)
- 规则引擎决策树学习整理 @爱幻想 (opens new window)
- 通过组合模式实现量化人群的规则引擎,整个设计结构梳理 @炸毛的猫 (opens new window)
- 活动领取、领域编排、规则引擎,功能图总结 @派大星来学习 (opens new window)
- 本章节运用了组合模式,组合模式是依据树形结构来组合对象 @素质男孩 (opens new window)
- 系统功能流程图汇总 @CCAT (opens new window)
- 规则引擎这一章节有一些懵,画一个时序图豁然开朗 @1 (opens new window)
# 一、开发日志
- 增加规则引擎开发需要的相关的配置类表:rule_tree、rule_tree_node、rule_tree_node_line
- 运用组合模式搭建规则引擎领域服务,包括:logic 逻辑过滤器、engine 引擎执行器
- 修改 lottery-infrastructure 基础层中仓储实现类更为合适的的注解为
@Repository
包括: ActivityRepository、RuleRepository、StrategyRepository、UserTakeActivityRepository
# 二、库表设计
组合模式的特点就像是搭建出一棵二叉树,而库表中则需要把这样一颗二叉树存放进去,那么这里就需要包括:树根、树茎、子叶、果实。在具体的逻辑实现中则需要通过子叶判断走哪个树茎以及最终筛选出一个果实来。
rule_tree
CREATE TABLE `rule_tree` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tree_name` varchar(64) DEFAULT NULL COMMENT '规则树Id',
`tree_desc` varchar(128) DEFAULT NULL COMMENT '规则树描述',
`tree_root_node_id` bigint(20) DEFAULT NULL COMMENT '规则树根ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10002 DEFAULT CHARSET=utf8;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9