任务时间: 2025-06-25 10:39
任务类型: 功能开发
状态: ✅ 已完成
为Transfer模块实现手续费统计功能,创建一个表记录每日的手续费统计,以最后统计的ID记录,而不是时间。每天22:00进行统计,从现在到上次统计ID的数据。
手续费每日统计表: kku_transfer_fee_daily_stats
last_processed_order_id字段记录最后统计的订单ID数据库视图:
v_transfer_fee_monthly_stats: 月度统计视图v_transfer_fee_app_summary: 应用汇总视图getByDateAndApp、getLastProcessedOrderId等runDailyStatistics(): 执行每日统计getStatsByDateRange(): 获取日期范围统计getMonthlyStats(): 获取月度统计getAppSummary(): 获取应用汇总restatistics(): 重新统计validateStatistics(): 验证统计数据完整性cleanupExpiredStats(): 清理过期数据transfer:fee-statistics
--date=2025-06-24--app-id=1--rerun--validate--cleanupFeeStatisticsController: 手续费统计控制器
后台菜单: 在Transfer模块下添加"手续费统计"菜单项
last_processed_order_id记录进度,避免重复统计# 执行统计
php artisan transfer:fee-statistics --date=2025-06-24
# 验证数据
php artisan transfer:fee-statistics --validate --date=2025-06-24
# 重新统计
php artisan transfer:fee-statistics --rerun --date=2025-06-24
统计日期:2025-06-24
处理应用数:2
总订单数:7
总手续费:11.2500000000
+--------+----------+--------+------------+----------------+----------+
| 应用ID | 应用名称 | 订单数 | 手续费金额 | 最后处理订单ID | 状态 |
+--------+----------+--------+------------+----------------+----------+
| 2 | urs | 5 | 8.5 | 109 | 统计完成 |
| 11 | URS_TEST | 2 | 2.75 | 111 | 统计完成 |
+--------+----------+--------+------------+----------------+----------+
app/Module/Transfer/
├── Database/
│ └── fee_daily_stats.sql # 数据库脚本
├── Models/
│ └── TransferFeeDailyStats.php # 统计模型
├── Services/
│ └── FeeStatisticsService.php # 统计服务
├── Logics/
│ └── FeeStatisticsLogic.php # 统计逻辑
├── Commands/
│ └── FeeStatisticsCommand.php # 统计命令
├── AdminControllers/
│ └── FeeStatisticsController.php # 后台控制器
└── Docs/
└── 手续费统计.md # 功能文档
withoutOverlapping()runInBackground()性能优化
功能扩展
用户体验
成功实现了Transfer模块的手续费统计功能,具备以下特点:
该功能为Transfer模块提供了完整的手续费收入分析能力,支持运营决策和财务管理需求。