242 lines
8.4 KiB
Markdown
242 lines
8.4 KiB
Markdown
# Implementation Plan: 用户管理模块前端迁移
|
||
|
||
## Overview
|
||
|
||
本实现计划将用户管理模块从老项目(PHP ThinkPHP + Layui)迁移到新项目(ASP.NET Core + Vue 3 + Element Plus)。实现分为后端API补充和前端页面开发两个主要部分。
|
||
|
||
## Tasks
|
||
|
||
- [x] 1. 后端API补充 - 用户详情相关
|
||
- [x] 1.1 创建用户盒柜相关模型和API
|
||
- 在 `Models/User/` 下创建 `UserBoxModels.cs`
|
||
- 定义 `UserBoxQuery` 和 `UserBoxItem` 类
|
||
- 在 `UserController.cs` 添加 `GetUserBox` API
|
||
- 在 `IUserBusinessService.cs` 添加接口方法
|
||
- 在 `UserBusinessService.cs` 实现查询逻辑
|
||
- _Requirements: 10.1_
|
||
|
||
- [x] 1.2 创建用户订单相关模型和API
|
||
- 在 `Models/User/` 下创建 `UserOrderModels.cs`
|
||
- 定义 `UserOrderQuery` 和 `UserOrderItem` 类
|
||
- 在 `UserController.cs` 添加 `GetUserOrders` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.2_
|
||
|
||
- [x] 1.3 创建流水明细相关模型和API
|
||
- 在 `Models/User/` 下创建 `MoneyDetailModels.cs`
|
||
- 定义 `MoneyDetailQuery` 和 `MoneyDetailItem` 类
|
||
- 在 `UserController.cs` 添加余额/积分/钻石流水明细API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.3_
|
||
|
||
- [x] 1.4 创建IP登录历史API
|
||
- 在 `UserController.cs` 添加 `GetUserIpLogs` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.4_
|
||
|
||
- [x] 2. 后端API补充 - 统计和操作相关
|
||
- [x] 2.1 创建用户邀请统计API
|
||
- 在 `Models/User/` 下创建 `StatsModels.cs`
|
||
- 定义 `InviteStatsQuery` 和 `InviteStatsItem` 类
|
||
- 在 `UserController.cs` 添加 `GetInviteStats` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.5_
|
||
|
||
- [x] 2.2 创建用户登录统计API
|
||
- 定义 `LoginStatsQuery` 和 `LoginStatsResponse` 类
|
||
- 在 `UserController.cs` 添加 `GetLoginStats` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.6_
|
||
|
||
- [x] 2.3 创建用户盈亏列表API
|
||
- 定义 `ProfitLossListQuery` 和 `ProfitLossItem` 类
|
||
- 在 `UserController.cs` 添加 `GetProfitLossList` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.7_
|
||
|
||
- [x] 2.4 创建用户操作API(绑定手机号、重置签到、清空UID)
|
||
- 在 `UserController.cs` 添加 `BindMobile` API
|
||
- 在 `UserController.cs` 添加 `ResetUserSign` API
|
||
- 在 `UserController.cs` 添加 `ClearUid` API
|
||
- 实现服务层方法
|
||
- _Requirements: 10.8, 10.9, 10.10_
|
||
|
||
- [x] 3. Checkpoint - 后端API验证
|
||
- 确保所有新增API编译通过
|
||
- 使用Swagger测试API基本功能
|
||
- 确保权限验证正常工作
|
||
|
||
- [x] 4. 前端API层开发
|
||
- [x] 4.1 创建用户管理API模块
|
||
- 创建 `api/business/user.ts`
|
||
- 定义所有TypeScript接口
|
||
- 实现用户列表查询API调用
|
||
- 实现资金变动API调用
|
||
- 实现状态管理API调用
|
||
- 实现赠送功能API调用
|
||
- _Requirements: 1.1, 2.2, 3.1-3.6, 4.2, 4.4_
|
||
|
||
- [x] 4.2 实现用户详情相关API调用
|
||
- 实现用户盒柜查询API调用
|
||
- 实现用户订单查询API调用
|
||
- 实现流水明细查询API调用
|
||
- 实现IP登录历史查询API调用
|
||
- _Requirements: 5.1-5.7_
|
||
|
||
- [x] 4.3 实现统计相关API调用
|
||
- 实现用户盈亏列表API调用
|
||
- 实现用户邀请统计API调用
|
||
- 实现用户登录统计API调用
|
||
- 实现VIP等级管理API调用
|
||
- _Requirements: 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.3_
|
||
|
||
- [x] 5. 前端用户列表页面开发
|
||
- [x] 5.1 创建用户列表主页面
|
||
- 创建 `views/business/user/index.vue`
|
||
- 实现页面布局和基本结构
|
||
- 集成搜索表单和用户表格组件
|
||
- _Requirements: 1.1_
|
||
|
||
- [x] 5.2 创建搜索表单组件
|
||
- 创建 `views/business/user/components/UserSearchForm.vue`
|
||
- 实现UID、推荐人UID、手机号、昵称、IP地址、登录时间范围搜索条件
|
||
- 实现搜索和重置功能
|
||
- _Requirements: 1.2_
|
||
|
||
- [x] 5.3 创建用户表格组件
|
||
- 创建 `views/business/user/components/UserTable.vue`
|
||
- 实现用户信息、推荐人、余额、积分、钻石、货币信息、状态等列
|
||
- 实现分页功能
|
||
- 实现操作按钮组
|
||
- _Requirements: 1.3, 1.4, 1.5_
|
||
|
||
- [x] 6. 前端对话框组件开发
|
||
- [x] 6.1 创建资金变动对话框
|
||
- 创建 `views/business/user/components/MoneyChangeDialog.vue`
|
||
- 实现操作类型选择(充值/扣除)
|
||
- 实现金额输入和备注输入
|
||
- 实现表单验证和提交
|
||
- _Requirements: 2.1, 2.2, 2.3, 2.4_
|
||
|
||
- [x] 6.2 创建赠送优惠券对话框
|
||
- 创建 `views/business/user/components/GiftCouponDialog.vue`
|
||
- 实现优惠券列表加载和选择
|
||
- 实现数量输入和提交
|
||
- _Requirements: 4.1, 4.2_
|
||
|
||
- [x] 6.3 创建赠送卡牌对话框
|
||
- 创建 `views/business/user/components/GiftCardDialog.vue`
|
||
- 实现盒子选择和奖品联动选择
|
||
- 实现数量输入和提交
|
||
- _Requirements: 4.3, 4.4_
|
||
|
||
- [x] 6.4 创建用户盒柜对话框
|
||
- 创建 `views/business/user/components/UserBoxDialog.vue`
|
||
- 实现盒柜列表展示和筛选
|
||
- 实现奖品状态、名称、盒子名称筛选
|
||
- _Requirements: 5.2_
|
||
|
||
- [x] 6.5 创建用户订单对话框
|
||
- 创建 `views/business/user/components/UserOrderDialog.vue`
|
||
- 实现订单列表展示和筛选
|
||
- _Requirements: 5.3_
|
||
|
||
- [x] 6.6 创建下级用户对话框
|
||
- 创建 `views/business/user/components/UserTeamDialog.vue`
|
||
- 实现下级用户列表展示
|
||
- 实现导出功能
|
||
- _Requirements: 5.1_
|
||
|
||
- [x] 6.7 创建流水明细对话框
|
||
- 创建 `views/business/user/components/MoneyDetailDialog.vue`
|
||
- 实现流水列表展示和筛选
|
||
- 支持余额/积分/钻石三种类型
|
||
- _Requirements: 5.4, 5.5, 5.6_
|
||
|
||
- [x] 6.8 创建IP登录历史对话框
|
||
- 创建 `views/business/user/components/IpLogDialog.vue`
|
||
- 实现IP登录历史列表展示
|
||
- _Requirements: 5.7_
|
||
|
||
- [x] 7. Checkpoint - 用户列表页面验证
|
||
- 确保用户列表页面正常显示
|
||
- 测试搜索和分页功能
|
||
- 测试各个对话框的打开和关闭
|
||
- 测试资金变动和状态管理功能
|
||
|
||
- [x] 8. 前端统计页面开发
|
||
- [x] 8.1 创建用户盈亏统计页面
|
||
- 创建 `views/business/user/profit-loss.vue`
|
||
- 实现盈亏列表展示
|
||
- 实现筛选功能(用户ID、时间范围)
|
||
- 实现盈亏状态颜色区分
|
||
- 实现导出Excel功能
|
||
- _Requirements: 6.1, 6.2, 6.3, 6.4_
|
||
|
||
- [x] 8.2 创建VIP等级管理页面
|
||
- 创建 `views/business/user/vip.vue`
|
||
- 实现VIP等级列表展示
|
||
- 实现编辑对话框
|
||
- _Requirements: 7.1, 7.2, 7.3_
|
||
|
||
- [x] 8.3 创建用户邀请统计页面
|
||
- 创建 `views/business/user/invite-stats.vue`
|
||
- 实现邀请统计列表展示
|
||
- 实现展开查看被邀请用户详情
|
||
- 实现导出功能
|
||
- _Requirements: 8.1, 8.2, 8.3_
|
||
|
||
- [x] 8.4 创建用户登录统计页面
|
||
- 创建 `views/business/user/login-stats.vue`
|
||
- 实现统计图表展示
|
||
- 实现统计类型切换(日/周/月)
|
||
- 实现时间范围选择
|
||
- _Requirements: 9.1, 9.2, 9.3_
|
||
|
||
- [x] 9. 前端路由配置
|
||
- [x] 9.1 配置业务模块路由
|
||
- 创建 `router/modules/business.ts`
|
||
- 配置用户管理相关路由
|
||
- 配置路由权限
|
||
|
||
- [x] 10. Checkpoint - 完整功能验证
|
||
- 确保所有页面正常访问
|
||
- 测试完整的用户管理流程
|
||
- 验证权限控制正常工作
|
||
|
||
- [x] 11. 属性测试
|
||
- [x] 11.1 编写搜索参数传递属性测试
|
||
- **Property 1: 搜索参数正确传递**
|
||
- **Validates: Requirements 1.2**
|
||
|
||
- [x] 11.2 编写分页参数传递属性测试
|
||
- **Property 2: 分页参数正确传递**
|
||
- **Validates: Requirements 1.4**
|
||
|
||
- [x] 11.3 编写资金变动参数验证属性测试
|
||
- **Property 3: 资金变动参数验证**
|
||
- **Validates: Requirements 2.3**
|
||
|
||
- [x] 11.4 编写用户状态切换一致性属性测试
|
||
- **Property 4: 用户状态切换一致性**
|
||
- **Validates: Requirements 3.1, 3.2**
|
||
|
||
- [x] 11.5 编写盈亏计算正确性属性测试
|
||
- **Property 5: 盈亏计算正确性**
|
||
- **Validates: Requirements 6.4**
|
||
|
||
- [x] 11.6 编写API响应格式一致性属性测试
|
||
- **Property 6: API响应格式一致性**
|
||
- **Validates: Requirements 10.1-10.10**
|
||
|
||
- [x] 12. Final Checkpoint - 最终验证
|
||
- 确保所有测试通过
|
||
- 确保所有功能正常工作
|
||
- 如有问题,询问用户
|
||
|
||
## Notes
|
||
|
||
- 每个Checkpoint确保增量验证
|
||
- 属性测试验证通用正确性属性
|
||
- 单元测试验证具体示例和边界情况
|