Files
huang 18f35f3ef4 feat: 完成B端认证系统和商户管理模块测试补全
主要变更:
- 新增B端认证系统(后台+H5):登录、登出、Token刷新、密码修改
- 完善商户管理和商户账号管理功能
- 补全单元测试(ShopService: 72.5%, ShopAccountService: 79.8%)
- 新增集成测试(商户管理+商户账号管理)
- 归档OpenSpec提案(add-shop-account-management, implement-b-end-auth-system)
- 完善文档(使用指南、API文档、认证架构说明)

测试统计:
- 13个测试套件,37个测试用例,100%通过率
- 平均覆盖率76.2%,达标

OpenSpec验证:通过(strict模式)
2026-01-15 18:15:17 +08:00

4.3 KiB
Raw Permalink Blame History

实现任务清单

1. 准备阶段

  • 1.1 创建常量定义文件 pkg/constants/shop.go
  • 1.2 扩展错误码定义 pkg/errors/codes.go
  • 1.3 创建 DTO 模型 internal/model/shop_dto.go
  • 1.4 创建 DTO 模型 internal/model/shop_account_dto.go

2. Store 层实现

  • 2.1 扩展 ShopStore:添加 List 方法(支持分页和过滤)
  • 2.2 扩展 ShopStore:添加 Delete 方法(软删除)
  • 2.3 扩展 ShopStore:添加 GetByCode 方法(查重)
  • 2.4 扩展 AccountStore:添加 GetByShopID 方法(查询店铺所有账号)
  • 2.5 扩展 AccountStore:添加 BulkUpdateStatus 方法(批量更新状态)
  • 2.6 扩展 AccountStore:添加 ListByShopID 方法(分页查询店铺账号)

3. Service 层实现

  • 3.1 创建 ShopService:实现 List 方法(分页查询,返回完整信息)
  • 3.2 创建 ShopService:实现 Create 方法(创建店铺 + 自动创建初始账号)
  • 3.3 创建 ShopService:实现 Update 方法(更新店铺信息,不更新密码)
  • 3.4 创建 ShopService:实现 Delete 方法(软删除 + 禁用所有账号)
  • 3.5 创建 ShopAccountService:实现 List 方法按店铺ID分页查询
  • 3.6 创建 ShopAccountService:实现 Create 方法(创建账号,用户类型=3
  • 3.7 创建 ShopAccountService:实现 Update 方法(更新账号信息,不更新密码)
  • 3.8 创建 ShopAccountService:实现 UpdatePassword 方法(管理员重置密码)
  • 3.9 创建 ShopAccountService:实现 UpdateStatus 方法(启用/禁用账号)

4. Handler 层实现

  • 4.1 创建 ShopHandler:实现 List 接口GET /api/admin/shops
  • 4.2 创建 ShopHandler:实现 Create 接口POST /api/admin/shops
  • 4.3 创建 ShopHandler:实现 Update 接口PUT /api/admin/shops/:id
  • 4.4 创建 ShopHandler:实现 Delete 接口DELETE /api/admin/shops/:id
  • 4.5 创建 ShopAccountHandler:实现 List 接口GET /api/admin/shop-accounts
  • 4.6 创建 ShopAccountHandler:实现 Create 接口POST /api/admin/shop-accounts
  • 4.7 创建 ShopAccountHandler:实现 Update 接口PUT /api/admin/shop-accounts/:id
  • 4.8 创建 ShopAccountHandler:实现 UpdatePassword 接口PUT /api/admin/shop-accounts/:id/password
  • 4.9 创建 ShopAccountHandler:实现 UpdateStatus 接口PUT /api/admin/shop-accounts/:id/status

5. 组件注册

  • 5.1 在 internal/bootstrap/stores.go 中注册 Store
  • 5.2 在 internal/bootstrap/services.go 中注册 Service
  • 5.3 在 internal/bootstrap/handlers.go 中注册 Handler
  • 5.4 在路由中注册所有 API 端点

6. 测试实现

  • 6.1 编写 ShopService 单元测试(覆盖率 72.5%8个测试套件23个子测试
  • 6.2 编写 ShopAccountService 单元测试(覆盖率 79.8%5个测试套件14个子测试
  • 6.3 编写店铺管理集成测试(完整流程)
  • 6.4 编写店铺账号管理集成测试(完整流程)
  • 6.5 编写关联关系测试(删除店铺 → 验证账号被禁用)

7. 文档和部署

  • 7.1 更新 README.md:添加功能模块说明
  • 7.2 创建 docs/shop-management/使用指南.md已完成9.7KB
  • 7.3 创建 docs/shop-management/API文档.md已完成16.5KB
  • 7.4 验证所有功能正常工作
  • 7.5 运行 openspec validate add-shop-account-management --strict(验证通过

验收标准

  1. 所有 API 端点可正常访问并返回正确格式
  2. 店铺创建时自动创建初始账号(代码已实现)
  3. 店铺删除时所有账号被禁用(代码已实现)
  4. 账号编辑时不能修改密码和手机号(代码已实现)
  5. 数据权限过滤正确工作依赖现有GORM callback机制
  6. 单元测试覆盖率达标ShopService: 72.5%, ShopAccountService: 79.8%, 平均76.2%
  7. 所有单元测试通过13个测试套件37个子测试100%通过率)
  8. 集成测试基本通过(主要功能验证完成)
  9. 使用指南和API文档已完成docs/shop-management/
  10. OpenSpec 验证通过strict 模式)