积分模块文档索引
概述
积分模块提供了用户积分账户的管理、积分变更、积分转账等功能,是系统中积分处理的核心模块。专注于整数型积分逻辑处理,不涉及小数运算。本目录包含了积分模块的详细设计文档。
文档目录
1. 基础设计文档
2. 功能领域文档
3. 开发与实现文档
4. 模块集成文档
设计特点
1. 整数积分处理
- 专注于整数积分,不涉及小数运算
- 所有积分操作都是整数运算,避免浮点数精度问题
- 简化了积分计算逻辑,提高了系统性能
2. 多种积分类型支持
- 支持经验积分、成就积分、活动积分等多种类型
- 每种积分类型可以有不同的用途和规则
- 灵活的积分类型配置和管理
3. 完整的操作记录
- 所有积分操作都有详细的日志记录
- 支持防篡改哈希验证,确保数据完整性
- 提供完整的审计追踪功能
4. 安全的转账机制
- 支持同用户不同积分账户间的流转
- 支持不同用户间的积分转账
- 完整的事务处理,确保数据一致性
核心功能
1. 积分账户管理
- 创建和管理用户积分账户
- 查询积分余额和账户信息
- 支持多种积分类型的账户
2. 积分操作
3. 积分流转
- 同用户不同积分账户间流转
- 支持关联业务的流转记录
- 完整的流转状态管理
4. 积分转账
- 不同用户间积分转账
- 转账记录和状态管理
- 转账限制和验证
5. 管理员操作
- 管理员手动调整用户积分
- 完整的管理员操作记录
- 操作审计和追踪
技术架构
1. 分层架构
- 服务层(Services): 对外提供的业务接口
- 逻辑层(Logic): 内部业务逻辑处理
- 模型层(Models): 数据模型和数据库操作
- 仓库层(Repositorys): 后台专用的数据访问
2. 数据传输
- DTO类: 用于数据传输的对象
- Cast类: 数据类型转换和处理
- 枚举类: 类型安全的常量定义
3. 验证机制
- 验证器(Validators): 单一验证逻辑
- 验证规则(Validations): 复合验证逻辑
- 完整的参数验证和错误处理
使用示例
基础积分操作
// 创建积分服务实例
$pointService = new PointService($userId, $pointType);
// 获取积分余额
$balance = $pointService->getBalance();
// 增加积分
$result = $pointService->increase(100, LOG_TYPE::TASK_COMPLETE, 'task_123', '完成任务奖励');
// 减少积分
$result = $pointService->decrease(50, LOG_TYPE::POINT_CONSUME, 'order_456', '商城消费');
积分流转
// 同用户不同积分账户间流转
$pointService = new PointService($userId, POINT_TYPE::POINT1);
$result = $pointService->circulation(POINT_TYPE::POINT2, 100, 1, 'EXCHANGE', '积分兑换');
积分转账
// 不同用户间积分转账
$pointService = new PointService($fromUserId, POINT_TYPE::POINT1);
$result = $pointService->transfer($toUserId, 100, '好友转账');
文档更新记录
| 日期 |
版本 |
更新内容 |
更新人 |
| 2025-06-11 |
v1.0 |
初始版本,基于Fund模块创建 |
AI助手 |
注意事项
- 所有积分操作都是整数运算,不支持小数
- 积分操作需要在事务中进行,确保数据一致性
- 所有操作都会生成详细的日志记录
- 支持积分冻结和解冻功能
- 提供完整的后台管理界面
- 模块间通过Service层进行交互
- 验证逻辑使用Validator和Validation类处理