# Change: 客户账号管理模块 ## Why 平台需要统一管理代理商账号和企业账号: 1. 查询客户账号列表(UserType=3 代理 或 UserType=4 企业) 2. 为代理商新增账号 3. 编辑客户账号 4. 修改客户账号密码 5. 启用/禁用客户账号 **说明**:企业账号通过新增企业时创建,此模块主要用于代理商账号的新增。 ## What Changes ### 新增 API 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/admin/customer-accounts` | 客户账号列表 | | POST | `/api/admin/customer-accounts` | 新增代理商账号 | | PUT | `/api/admin/customer-accounts/:id` | 编辑账号 | | PUT | `/api/admin/customer-accounts/:id/password` | 修改密码 | | PUT | `/api/admin/customer-accounts/:id/status` | 启用/禁用 | ### 技术实现 - 新增 Handler:`internal/handler/admin/customer_account.go` - 新增 Service:`internal/service/customer_account/service.go` - 新增 DTO:`internal/model/dto/customer_account_dto.go` ### 业务逻辑 **查询账号**: - 过滤条件:`user_type IN (3, 4)` - 数据权限:平台看全部,代理看自己店铺+下级店铺的代理账号+归属企业的账号 **新增账号**: - 只能新增代理商账号(UserType=3) - 企业账号通过新增企业创建 ## Impact ### 影响的规范 - **新增 Capability**:`customer-account-management` ### 影响的代码 **新增文件**(约 250 行): - `internal/handler/admin/customer_account.go`(~80 行) - `internal/service/customer_account/service.go`(~120 行) - `internal/model/dto/customer_account_dto.go`(~50 行) ### 兼容性 - ✅ 向后兼容:新增 API ## Dependencies - 依赖提案:`add-enterprise-management` - 依赖现有模型:`Account`、`Shop`、`Enterprise` ## Testing Strategy 1. **单元测试**:账号 CRUD 逻辑 2. **集成测试**:完整 CRUD 流程 3. **数据权限测试**:代理商只能看到自己范围内的账号