# Point模块/点数模块/积分模块 ## 模块说明 Point模块是一个积分管理系统,用于处理用户积分相关的所有操作。专注于整数型积分逻辑处理,不涉及小数运算。 ## 功能列表 - 积分账户管理 - 积分转账 - 积分冻结 - 积分日志记录 - 积分订单管理 - 积分类型管理 ## 目录结构 ``` app/Module/Point/ ├── Controllers/ # 控制器目录 ├── AdminControllers/ # 后台控制器目录 ├── Models/ # 模型目录 ├── Repositorys/ # 仓库目录 ├── Services/ # 服务目录 ├── Validators/ # 验证器目录 ├── Validations/ # 验证规则目录 ├── Enums/ # 枚举目录 ├── Config/ # 配置目录 ├── Database/ # 数据库目录 │ ├── Migrations/ # 迁移文件 │ └── Seeders/ # 数据填充 ├── Tests/ # 测试目录 └── README.md # 模块说明文档 ``` ## 数据库表 - point - 积分表 - point_log - 积分日志表 - point_order - 积分订单表 - point_admin - 积分管理表 - point_config - 积分配置表 - point_currency - 积分类型表 - point_circulation - 积分流转记录表 - point_transfer - 积分转账记录表 ## 依赖关系 - Laravel Framework - Dcat-admin - UCore ## 设计特点 - 专注整数型积分处理,无小数运算 - 采用与Fund模块相同的架构模式 - 支持多种积分类型和账户分类 - 完整的日志记录和审计功能 - 支持积分流转和转账功能 ## 使用示例 ### 基础积分操作 ```php // 获取用户积分 $pointService = new PointService($userId, $pointType); $balance = $pointService->getBalance(); // 增加积分 $result = $pointService->increase($amount, $logType, $relatedId, $remark); // 减少积分 $result = $pointService->decrease($amount, $logType, $relatedId, $remark); ``` ### 积分流转 ```php // 同用户不同积分账户间流转 $pointService = new PointService($userId, $fromPointType); $result = $pointService->circulation($toPointType, $amount, $relatedId, $relatedType, $remark); ``` ### 积分转账 ```php // 不同用户间积分转账 $pointService = new PointService($fromUserId, $pointType); $result = $pointService->transfer($toUserId, $amount, $remark); ``` ## 注意事项 1. 所有积分操作都是整数运算,不支持小数 2. 积分操作需要在事务中进行,确保数据一致性 3. 所有操作都会生成详细的日志记录 4. 支持积分冻结和解冻功能 5. 提供完整的后台管理界面 ## 模块状态 - ✅ 基础架构搭建完成 - ✅ 核心模型和服务创建完成 - ✅ 积分操作逻辑实现完成 - ✅ 日志记录系统完成 - ✅ 后台管理界面完成 - ✅ 验证和测试完成