notfff b77bd9deb9 创建Point模块:基于Fund模块架构的整数型积分系统 7 månader sedan
..
README.md b77bd9deb9 创建Point模块:基于Fund模块架构的整数型积分系统 7 månader sedan

README.md

积分模块文档索引

概述

积分模块提供了用户积分账户的管理、积分变更、积分转账等功能,是系统中积分处理的核心模块。专注于整数型积分逻辑处理,不涉及小数运算。本目录包含了积分模块的详细设计文档。

文档目录

1. 基础设计文档

  • 设计概述 - 模块的整体设计思路和架构
  • 数据库设计 - 详细的数据库表结构和关系设计
  • DEV - 模块的开发计划和进度

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助手

注意事项

  1. 所有积分操作都是整数运算,不支持小数
  2. 积分操作需要在事务中进行,确保数据一致性
  3. 所有操作都会生成详细的日志记录
  4. 支持积分冻结和解冻功能
  5. 提供完整的后台管理界面
  6. 模块间通过Service层进行交互
  7. 验证逻辑使用Validator和Validation类处理