# Point模块后台管理功能 ## 概述 Point模块提供了完整的种植点数后台管理功能,专注于管理用户的种植点数系统。每种植一个种子自动增长1点,为农场游戏提供激励机制。所有功能都基于Dcat Admin框架构建,提供友好的管理界面。 ## 功能模块 ### 1. 统计仪表板 (PointDashboardController) - **路由**: `/admin/point/dashboard` - **功能**: - 种植点数系统概览统计 - 用户种植活动分布 - 最近种植活动记录 - 数据可视化展示 ### 2. 种植点数管理 (PointController) - **路由**: `/admin/point/point` - **功能**: - 查看所有用户种植点数账户 - 按用户ID筛选查询 - 点数余额范围查询 - 禁止删除,保护数据安全 ### 3. 种植日志管理 (PointLogController) - **路由**: `/admin/point/point-log` - **功能**: - 查看所有种植点数操作日志 - 按用户、操作类型筛选 - 显示操作前后余额变化 - 防篡改哈希值验证 - 只读模式,不允许编辑 ### 4. 点数配置管理 (PointConfigController) - **路由**: `/admin/point/point-config` - **功能**: - 管理种植点数账户配置 - 设置显示属性 - 关联积分币种 - 唯一性验证 ### 5. 积分币种管理 (PointCurrencyController) - **路由**: `/admin/point/point-currency` - **功能**: - 管理积分币种定义(当前只支持经验积分) - 设置图标和标识 - 配置显示属性 - 类型和标识唯一性验证 ### 6. 管理员操作记录 (PointAdminController) - **路由**: `/admin/point/point-admin` - **功能**: - 记录管理员种植点数操作 - 支持点数增减操作 - 操作状态管理 - 自动执行点数变更 ### 7. 点数流转记录 (PointCirculationController) - **路由**: `/admin/point/point-circulation` - **功能**: - 查看用户种植点数账户间流转 - 按流转方向筛选 - 关联业务类型查询 - 只读模式 ### 8. 点数转账记录 (PointTransferController) - **路由**: `/admin/point/point-transfer` - **功能**: - 查看用户间种植点数转账 - 按转出/转入用户筛选 - 转账状态管理 - 只读模式 ### 9. 点数订单管理 (PointOrderController) - **路由**: `/admin/point/point-order` - **功能**: - 管理种植点数相关订单 - 支持多种订单类型 - 订单状态跟踪 - 自动生成订单号 ## Helper类说明 ### GridHelper / GridHelperTrait 提供列表页面的通用组件: - `columnPointId()` - 积分类型列 - `columnBalance()` - 积分余额列 - `columnAmount()` - 操作积分列 - `columnOperateType()` - 操作类型列 - `columnTimestamp()` - 时间戳列 - `columnUserPoint()` - 用户积分组合列 - `columnCirculationInfo()` - 流转信息列 - `columnTransferInfo()` - 转账信息列 ### FilterHelper / FilterHelperTrait 提供筛选器的通用组件: - `equalPointId()` - 积分类型筛选 - `equalOperateType()` - 操作类型筛选 - `betweenAmount()` - 积分数量范围筛选 - `betweenTimestamp()` - 时间范围筛选 - `equalStatus()` - 状态筛选 ### FormHelper / FormHelperTrait 提供表单的通用组件: - `selectPointId()` - 积分类型选择 - `numberAmount()` - 积分数量输入 - `selectStatus()` - 状态选择 - `textareaRemark()` - 备注输入 - `hiddenTimestamps()` - 时间戳隐藏字段 ### ShowHelper / ShowHelperTrait 提供详情页的通用组件: - `fieldPointId()` - 积分类型字段 - `fieldAmount()` - 积分数量字段 - `fieldTimestamp()` - 时间戳字段 - `fieldJson()` - JSON数据字段 ## Repository说明 每个控制器都有对应的Repository类,提供数据访问功能: - `PointRepository` - 用户积分数据访问 - `PointLogRepository` - 积分日志数据访问 - `PointConfigRepository` - 积分配置数据访问 - `PointCurrencyRepository` - 积分类型数据访问 - `PointAdminRepository` - 管理员操作数据访问 - `PointCirculationRepository` - 积分流转数据访问 - `PointTransferRepository` - 积分转账数据访问 - `PointOrderRepository` - 积分订单数据访问 ## 路由配置 所有后台路由都在 `/admin/point` 前缀下,路由文件位于 `routes/admin.php`。 ## 菜单配置 菜单配置文件位于 `config/admin_menu.php`,包含完整的菜单结构。 ## 使用说明 ### 1. 注册服务提供者 在 `config/app.php` 中注册 `PointServiceProvider`: ```php 'providers' => [ // ... App\Module\Point\Providers\PointServiceProvider::class, ], ``` ### 2. 添加菜单 将菜单配置添加到后台管理系统中。 ### 3. 设置权限 为不同角色设置相应的访问权限。 ## 安全特性 1. **数据保护**: 关键数据表(日志、流转、转账)设为只读 2. **唯一性验证**: 积分类型和配置的唯一性检查 3. **防篡改**: 积分日志包含哈希值验证 4. **权限控制**: 基于角色的访问控制 5. **操作审计**: 完整的操作记录和追踪 ## 扩展说明 如需添加新的管理功能: 1. 创建对应的Controller继承 `AdminController` 2. 创建对应的Repository继承 `EloquentRepository` 3. 使用Helper类提供的通用组件 4. 在路由文件中添加路由 5. 在菜单配置中添加菜单项 所有组件都遵循统一的设计模式,便于维护和扩展。