规则引擎API
引用文件
目录
简介
本文件面向业务系统与规则引擎的集成,提供规则引擎API的完整接口文档,覆盖业务规则接口、规则执行接口、规则缓存接口、业务限制接口等核心能力。文档重点说明:
- 规则链配置与缓存策略
- 规则执行上下文与LiteFlow集成
- 业务限制检查与缓存一致性
- 规则配置示例与执行流程
- 性能优化建议与最佳实践
项目结构
规则引擎API位于 yudao-module-rule 模块,分为API接口层与工具/上下文层:
- API接口层:对外暴露Feign接口,供业务系统调用
- DTO与枚举:定义规则详情、业务限制、缓存键等数据结构
- 上下文与工具:封装设备上下文、规则执行与缓存访问逻辑
- 文档:规则中心操作与配置说明
图表来源
章节来源
核心组件
- 业务规则交互接口:RuleBusinessApi,提供规则绑定/解绑、规则列表查询、MAC/渠道/地区查询、规则详情、业务ID集合查询、审批变更、业务数量限制、设备数量统计等RPC接口
- 规则缓存DTO:RuleLiteflowChainCacheDTO,承载规则链名称、EL表达式、命名空间、启用状态、流程状态、地区集合等
- 业务限制DTO:RuleBusinessLimitDTO、BusinessLimitCacheDTO,承载业务类型/ID、数量限制、当前已操作数、剩余可用数等
- 缓存常量:CacheConstants,定义规则详情、规则-设备/MAC/渠道/业务、业务限制等Redis键前缀与本地缓存键
- 执行工具:RuleRunUtil,封装三级缓存(本地缓存->Redis->数据库)、候选规则初筛、LiteFlow规则执行、业务限制检查、业务ID聚合
- 上下文:DeviceContext,扩展设备响应DTO,注入设备属性与心跳时间标记
章节来源
- RuleBusinessApi.java
- RuleLiteflowChainCacheDTO.java
- RuleBusinessLimitDTO.java
- BusinessLimitCacheDTO.java
- CacheConstants.java
- DeviceContext.java
- RuleRunUtil.java