Files
quyun-v2/docs/plans/2026-02-03.md
2026-02-04 14:58:35 +08:00

74 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Implementation Plan: Payment Transaction Endpoints
**Branch**: `main` | **Date**: 2026-02-03 | **Spec**: `docs/seed_verification.md`
**Input**: 前端支付流联调缺口:订单相关路由未注册,服务层已实现。
## Summary
为租户侧支付流新增订单创建、支付、状态查询 HTTP handler并挂载到现有服务逻辑同步刷新路由/provider/swagger保证前端 Checkout/Payment 可调用且状态可查。
## Technical Context
**Language/Version**: Go 1.22, Vue 3 (Vite)
**Primary Dependencies**: Fiber, atomctl路由/Provider/Swagger 生成), GORM-Gen models
**Storage**: PostgreSQL
**Testing**: `go test ./...`(如需),前端联调/种子验证参见 `docs/seed_verification.md`
**Target Platform**: local/staging
**Project Type**: Web application
**Performance Goals**: N/A
**Constraints**: 不手改 `*.gen.go`;遵循 `backend/llm.txt`;路由参数使用 camelCase + `:id<int>`
**Scale/Scope**: 仅补齐支付相关 HTTP 路由与 handler
## Constitution Check
- 需先定义 handler再用 `atomctl gen route/provider/swag` 生成;不得直接修改生成文件。
- Controller 仅做 bind/校验,业务调用 `services.Order.*`
## Project Structure
```
docs/
├── plan.md # 本计划
└── plans/ # 归档目录
backend/app/http/v1/transaction.go # 新增 create/pay/status handler
backend/app/http/v1/routes.gen.go # 生成路由(勿手改)
backend/app/http/v1/provider.gen.go # 生成 provider勿手改
backend/docs/swagger.yaml|json|docs.go # 生成文档(勿手改)
```
**Structure Decision**: 复用现有 v1 模块,新增 handler其他结构不变。
## Plan Phases
- Phase 1: 控制器补齐 —— 在 `transaction.go` 编写 Create/Pay/Status handler完成 Swagger 注解与参数绑定。
- Phase 2: 生成与注入 —— 运行 `atomctl gen route`, `atomctl gen provider`, `atomctl swag init`,确认路由挂载。
- Phase 3: 校验 —— 快速检查生成文件与路径,确认 404 缺口消除(如需再跑 gofmt
## Tasks
- [x] T101 补充 Transaction.Create/Pay/Status调用 `services.Order`,加绑定与 Swagger 注解
- [x] T201 运行 `atomctl gen route/provider/swag` 刷新路由与文档
- [x] T301 快速校验生成文件包含 `/orders``/orders/:id/pay``/orders/:id/status`
- [x] T401 前端功能验证支付流Create/Pay/Status
- [x] T402 后端回归测试 `go test ./...`(需与 T401 同时满足方可归档)
## Dependencies
- T101 完成后才能执行 T201
- T201 完成后进行 T301 校验
## Acceptance Criteria
- `transaction.go` 存在 Create/Pay/Status handler路径与 `:tenantCode`/`:id<int>` 符合规范,绑定参数正确。
- `routes.gen.go` 注册 `/v1/t/:tenantCode/orders``/v1/t/:tenantCode/orders/:id<int>/pay``/v1/t/:tenantCode/orders/:id<int>/status` 路由provider 注入正常。
- Swagger 文档包含上述接口;前端调用不再 404需具备可路由
## Risks
- 本地 `atomctl`/依赖缺失导致生成失败(需补工具或环境)。
- Swagger/路由注解若与路径不一致可能生成异常,需要一致性检查。
## Complexity Tracking
无。