6.5 KiB
6.5 KiB
Implementation Plan: 仪表盘数据看板
Overview
本实现计划将仪表盘数据看板模块从老项目(PHP ThinkPHP + Layui)迁移到新项目(ASP.NET Core + Vue 3 + Element Plus)。实现分为后端API开发和前端页面开发两个主要部分。
Tasks
-
1. 验证和补充后端API - 今日订单统计
-
1.1 检查后端是否已有今日订单统计API
- 检查
StatisticsController是否存在 - 检查是否有
GetTodayOrderStats方法 - 如果不存在,需要创建
- Requirements: 5.1
- 检查
-
1.2 创建今日订单统计API(如需要)
- 在
Models/Statistics/下创建TodayOrderStatsResponse.cs - 在
Services/下创建IStatisticsService.cs接口 - 在
Services/下创建StatisticsService.cs实现 - 在
Controllers/下创建StatisticsController.cs - 实现
GET /api/admin/business/statistics/today-order端点 - Requirements: 1.2-1.11, 5.1
- 在
-
-
2. 验证和补充后端API - 货币信息统计
- 2.1 创建货币信息统计API
- 在
Models/Statistics/下创建CurrencyInfoStatsResponse.cs - 在
IStatisticsService.cs添加接口方法 - 在
StatisticsService.cs实现查询逻辑 - 在
StatisticsController.cs添加GetCurrencyInfoStats方法 - 实现
GET /api/admin/business/statistics/currency-info端点 - Requirements: 2.2-2.13, 5.2
- 在
- 2.1 创建货币信息统计API
-
3. 验证和补充后端API - 收入汇总统计
- 3.1 创建收入汇总统计API
- 在
Models/Statistics/下创建IncomeSummaryStatsResponse.cs - 在
IStatisticsService.cs添加接口方法 - 在
StatisticsService.cs实现查询逻辑(包含利润计算) - 在
StatisticsController.cs添加GetIncomeSummaryStats方法 - 实现
GET /api/admin/business/statistics/income-summary端点 - Requirements: 3.2-3.12, 5.3
- 在
- 3.1 创建收入汇总统计API
-
4. 验证和补充后端API - 用户统计
- 4.1 创建用户统计API
- 在
Models/Statistics/下创建UserStatsResponse.cs - 在
IStatisticsService.cs添加接口方法 - 在
StatisticsService.cs实现查询逻辑 - 在
StatisticsController.cs添加GetUserStats方法 - 实现
GET /api/admin/business/statistics/user-stats端点 - Requirements: 4.2-4.12, 5.4
- 在
- 4.1 创建用户统计API
-
5. Checkpoint - 后端API验证
- 启动后端服务
- 使用Swagger测试所有4个统计API
- 验证返回数据结构符合预期
- 确保权限验证正常工作
- 如有问题,询问用户
-
6. 前端API层开发
- 6.1 创建统计API模块
- 创建
src/api/business/statistics.ts - 定义
TodayOrderStatsTypeScript接口 - 定义
CurrencyInfoStatsTypeScript接口 - 定义
IncomeSummaryStatsTypeScript接口 - 定义
UserStatsTypeScript接口 - 实现
getTodayOrderStatsAPI调用函数 - 实现
getCurrencyInfoStatsAPI调用函数 - 实现
getIncomeSummaryStatsAPI调用函数 - 实现
getUserStatsAPI调用函数 - Requirements: 5.5, 5.7
- 创建
- 6.1 创建统计API模块
-
7. 前端组件开发 - 今日订单卡片
- 7.1 创建今日订单卡片组件
- 创建
src/views/business/statistics/components/TodayOrderCard.vue - 实现卡片布局(3行4列网格)
- 实现数据展示(10个数据项)
- 实现加载状态和刷新按钮
- 实现错误处理和降级展示
- Requirements: 1.1-1.12, 6.2, 6.3, 6.4
- 创建
- 7.1 创建今日订单卡片组件
-
8. 前端组件开发 - 货币信息卡片
- 8.1 创建货币信息卡片组件
- 创建
src/views/business/statistics/components/CurrencyInfoCard.vue - 实现卡片布局(3行4列网格)
- 实现数据展示(12个数据项:钻石、UU币、达达券的今日/昨日发放/消费)
- 实现加载状态和刷新按钮
- 实现错误处理和降级展示
- Requirements: 2.1-2.14, 6.2, 6.3, 6.4
- 创建
- 8.1 创建货币信息卡片组件
-
9. 前端组件开发 - 收入汇总卡片
- 9.1 创建收入汇总卡片组件
- 创建
src/views/business/statistics/components/IncomeSummaryCard.vue - 实现表格布局(11行数据)
- 实现数据展示(包含利润计算公式)
- 实现利润负值红色高亮
- 实现加载状态和刷新按钮
- 实现错误处理和降级展示
- Requirements: 3.1-3.14, 6.2, 6.3, 6.4
- 创建
- 9.1 创建收入汇总卡片组件
-
10. 前端组件开发 - 用户统计卡片
- 10.1 创建用户统计卡片组件
- 创建
src/views/business/statistics/components/UserStatsCard.vue - 实现表格布局(6行2列)
- 实现数据展示(11个数据项)
- 实现加载状态和刷新按钮
- 实现错误处理和降级展示
- Requirements: 4.1-4.13, 6.2, 6.3, 6.4
- 创建
- 10.1 创建用户统计卡片组件
-
11. 前端页面开发 - 数据看板主页面
- 11.1 创建数据看板主页面
- 创建
src/views/business/statistics/data-stand.vue - 实现两列布局
- 集成4个卡片组件
- 实现页面加载时自动加载所有卡片数据
- 实现响应式布局
- Requirements: 6.1, 6.5, 6.6
- 创建
- 11.1 创建数据看板主页面
-
12. 前端路由配置
- 12.1 配置统计模块路由
- 在
router/modules/business.ts添加数据看板路由 - 配置路由权限
- Requirements: 6.1
- 在
- 12.1 配置统计模块路由
-
13. Checkpoint - 功能验证
- 启动前后端服务
- 登录后台管理系统
- 访问数据看板页面
- 验证4个卡片正常显示数据
- 测试刷新按钮功能
- 测试错误处理
- 如有问题,询问用户
-
14. 属性测试
-
14.1 编写今日订单数据一致性属性测试
- Property 1: 今日订单数据一致性
- Validates: Requirements 1.2, 1.3, 1.4
-
14.2 编写货币信息数据非负性属性测试
- Property 2: 货币信息数据非负性
- Validates: Requirements 2.2-2.13
-
14.3 编写利润计算正确性属性测试
- Property 3: 利润计算正确性
- Validates: Requirements 3.11
-
14.4 编写用户统计数据非负性属性测试
- Property 4: 用户统计数据非负性
- Validates: Requirements 4.2-4.12
-
14.5 编写API响应格式一致性属性测试
- Property 5: API响应格式一致性
- Validates: Requirements 5.5
-
-
15. Final Checkpoint - 最终验证
- 确保所有功能正常工作
- 确保所有测试通过
- 如有问题,询问用户
Notes
- 需要先验证后端API是否已完成,如未完成需要新增对应的接口
- 每个Checkpoint确保增量验证
- 属性测试验证通用正确性属性
- 后端API需要排除测试用户数据(istest > 0)