You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.4 KiB
3.4 KiB
LINGYUN.Abp.RulesManagement
规则引擎管理模块,提供了基于规则引擎的工作流和规则管理功能。
1. 模块说明
该模块基于RulesEngine实现,提供了工作流规则的持久化管理、缓存管理以及API接口。主要包含以下子模块:
1.1 Domain.Shared
- 定义了工作流记录、规则记录、动作记录等基础常量
- 提供了动作类型等枚举定义
- 查看详细说明
1.2 Domain
- 实现了工作流存储的核心业务逻辑
- 提供了基于内存缓存的工作流存储实现
- 定义了规则记录、工作流记录等领域模型
- 查看详细说明
1.3 EntityFrameworkCore
- 提供了基于EF Core的数据访问层实现
- 实现了工作流、规则等实体的数据库映射
- 实现了仓储接口
- 查看详细说明
1.4 Application.Contracts
- 定义了规则引擎管理的应用服务接口
- 定义了数据传输对象(DTOs)
- 定义了权限
- 查看详细说明
1.5 Application
- 实现了规则记录和工作流记录的应用服务
- 提供了对象自动映射配置
- 查看详细说明
1.6 HttpApi
- 提供了RESTful风格的API接口
- 实现了规则和工作流的CRUD操作API
- 查看详细说明
2. 功能特性
-
工作流管理
- 支持工作流的创建、修改、删除、查询
- 提供工作流的缓存管理
- 支持按类型查询工作流
-
规则管理
- 支持规则的创建、修改、删除、查询
- 支持规则表达式的定义
- 支持规则与工作流的关联
-
参数管理
- 支持工作流参数的定义
- 支持参数值的验证
-
动作管理
- 支持成功/失败动作的定义
- 支持动作执行结果的记录
3. 配置项
3.1 工作流记录配置
- MaxNameLength: 工作流名称最大长度,默认64
- MaxTypeFullNameLength: 类型全名最大长度,默认255
- MaxInjectWorkflowsLength: 注入工作流最大长度,默认(MaxNameLength + 1) * 5
3.2 规则记录配置
- MaxNameLength: 规则名称最大长度,默认64
- MaxOperatorLength: 操作符最大长度,默认30
- MaxErrorMessageLength: 错误消息最大长度,默认255
- MaxExpressionLength: 表达式最大长度,默认int.MaxValue
- MaxSuccessEventLength: 成功事件最大长度,默认128
4. 权限
-
RulesEngineManagement.Rule
- 规则管理权限
- 包含创建、修改、删除、查询权限
-
RulesEngineManagement.Workflow
- 工作流管理权限
- 包含创建、修改、删除、查询权限
5. API接口
5.1 规则记录API
- 基路径: api/rules-engine-management/rules
- 提供规则记录的CRUD操作API
- 支持分页查询API
5.2 工作流记录API
- 基路径: api/rules-engine-management/workflows
- 提供工作流记录的CRUD操作API
- 支持分页查询API
6. 依赖
- Volo.Abp.Core
- LINGYUN.Abp.Rules.RulesEngine
- Microsoft.Extensions.Caching.Memory
- Volo.Abp.EntityFrameworkCore
- Volo.Abp.Ddd.Application
- Volo.Abp.AspNetCore.Mvc