221909-Transfer模块增加图表控制器.md 5.1 KB

Transfer模块增加图表控制器

任务概述

为 Transfer 模块增加图表控制器,参考 GameItems 模块的 MetricsController,实现每日转入/转出统计的多线折线图功能。

执行时间

  • 开始时间:2025年06月22日 19:09
  • 完成时间:2025年06月22日 19:10
  • 总耗时:约1分钟

主要实现

1. 创建 MetricsController 主控制器

  • 文件app/Module/Transfer/AdminControllers/MetricsController.php
  • 功能
    • 配置路由注解 #[Get('transfer-metrics')]
    • 设置页面标题和描述
    • 集成 DailyTransferChart 图表组件

2. 实现 DailyTransferChart 图表组件

  • 文件app/Module/Transfer/AdminControllers/Metrics/DailyTransferChart.php
  • 继承UCore\DcatAdmin\Metrics\Examples\NewUsersDou
  • 核心功能
    • 支持多种时间范围:7天、14天、30天、90天
    • 多线折线图显示转入/转出数据
    • 双Y轴设计:左轴显示笔数,右轴显示金额
    • 实时数据统计和图表更新

3. 数据统计逻辑

  • 数据源transfer_orders
  • 统计维度
    • 转入笔数(绿色线条)
    • 转出笔数(红色线条)
    • 转入金额(蓝色线条,右Y轴)
    • 转出金额(橙色线条,右Y轴)
  • 筛选条件:只统计已完成状态的转账订单
  • 分组方式:按日期和转账类型分组统计

4. 后台菜单配置

  • 文件app/Module/Transfer/Commands/InsertTransferAdminMenuCommand.php
  • 修改内容:在 Transfer 模块菜单下增加"统计图表"菜单项
  • 访问路径/admin/transfer-metrics

技术特点

1. 图表设计

  • 多线图表:同时显示4条数据线
  • 颜色区分
    • 转入笔数:绿色 (#28a745)
    • 转出笔数:红色 (#dc3545)
    • 转入金额:蓝色 (#17a2b8)
    • 转出金额:橙色 (#fd7e14)
  • 双Y轴:左轴显示笔数,右轴显示金额

2. 交互功能

  • 时间范围选择:下拉菜单支持4种时间范围
  • 实时更新:选择不同时间范围时图表数据实时更新
  • 数据汇总:卡片显示选定时间范围内的总交易笔数

3. 数据处理

  • 日期生成:自动生成指定天数的日期范围
  • 数据填充:对于没有数据的日期自动填充0值
  • 类型区分:使用枚举值区分转入(1)和转出(2)类型
  • 状态筛选:只统计已完成状态的订单

测试验证

1. 测试数据创建

  • 创建了7条测试转账订单数据
  • 包含不同日期的转入和转出记录
  • 验证不同时间范围的数据统计

2. 功能测试结果

  • 页面加载正常:图表控制器页面正确显示
  • 菜单配置正确:在"外接管理" > "Transfer模块"下显示"统计图表"
  • 时间范围切换:下拉菜单功能正常,支持4种时间范围
  • 数据统计准确
    • 最近7天显示5笔交易
    • 最近30天显示7笔交易
  • 图表显示正常:多线折线图正确渲染
  • 实时更新:切换时间范围时数据实时更新

3. 数据验证

-- 最近7天:3个转入 + 2个转出 = 5笔
-- 最近30天:4个转入 + 3个转出 = 7笔

代码结构

1. 控制器层

MetricsController
├── index() - 主页面方法
└── 路由注解配置

2. 图表组件层

DailyTransferChart
├── init() - 初始化配置
├── handle() - 请求处理
├── getTransferData() - 数据统计
└── withChart() - 图表配置

3. 菜单配置

InsertTransferAdminMenuCommand
└── menuStructure - 菜单结构配置

业务价值

1. 数据可视化

  • 直观展示转账业务的趋势变化
  • 便于运营人员分析转账模式
  • 支持多维度数据对比分析

2. 运营支持

  • 实时监控转账业务状况
  • 快速识别异常交易模式
  • 为业务决策提供数据支持

3. 管理便利

  • 集成到后台管理系统
  • 支持多种时间范围查看
  • 界面友好,操作简单

扩展性

1. 图表扩展

  • 可以轻松添加更多图表类型
  • 支持添加更多统计维度
  • 可以增加更多时间范围选项

2. 数据扩展

  • 可以添加更多筛选条件
  • 支持按应用、用户等维度统计
  • 可以增加更多统计指标

提交信息

Transfer模块增加图表控制器功能

- 创建 MetricsController 主控制器,配置路由注解和页面结构
- 实现 DailyTransferChart 组件,支持多线折线图显示每日转入/转出统计
- 支持多种时间范围选择:7天、14天、30天、90天
- 统计数据包括:转入/转出笔数和金额,使用双Y轴显示
- 更新后台菜单配置,添加'统计图表'菜单项
- 图表功能特点:
  * 多线折线图同时显示转入转出的笔数和金额趋势
  * 支持时间范围动态切换,数据实时更新
  * 使用不同颜色区分转入(绿色)和转出(红色)
  * 双Y轴设计:左轴显示笔数,右轴显示金额
  * 只统计已完成状态的转账订单
- 测试验证:创建测试数据验证图表显示和交互功能正常

任务状态

已完成 - 所有功能已实现并测试通过,代码已提交到远程仓库