All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m26s
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2.5 KiB
2.5 KiB
1. 数据库迁移
- 1.1 在
migrations/目录创建迁移文件,为tb_agent_recharge_record表添加payment_voucher_key VARCHAR(500)列(允许 NULL,兼容历史数据) - 1.2 执行迁移,验证
tb_agent_recharge_record表已包含payment_voucher_key列(使用 PostgreSQL MCP 查询information_schema.columns确认)
2. Model 层
- 2.1 在
internal/model/agent_wallet.go的AgentRechargeRecord结构体中添加PaymentVoucherKey string字段,包含 gorm tag 和中文注释 - 2.2 运行
lsp_diagnostics确认agent_wallet.go无错误
3. DTO 层
- 3.1 在
internal/model/dto/agent_recharge_dto.go的CreateAgentRechargeRequest中添加PaymentVoucherKey字段(validate:"omitempty,max=500",含 description 标签,注明payment_method=offline时必填) - 3.2 在
AgentRechargeResponse中添加PaymentVoucherKey响应字段(omitempty) - 3.3 运行
lsp_diagnostics确认agent_recharge_dto.go无错误
4. Service 层
- 4.1 在
internal/service/agent_recharge/service.go的Create方法中,在支付方式判断逻辑后添加凭证非空检查:当req.PaymentMethod == "offline"且strings.TrimSpace(req.PaymentVoucherKey) == ""时返回errors.New(errors.CodeInvalidParam, "线下充值必须上传支付凭证") - 4.2 在
Create方法构建AgentRechargeRecord的赋值块中添加PaymentVoucherKey: strings.TrimSpace(req.PaymentVoucherKey)字段 - 4.3 在
toResponse(或等价的响应构建函数)中将record.PaymentVoucherKey映射到AgentRechargeResponse.PaymentVoucherKey - 4.4 运行
lsp_diagnostics确认agent_recharge/service.go无错误
5. 文档生成器更新
- 5.1 检查
cmd/api/docs.go和cmd/gendocs/main.go中AgentRechargeHandler的注册方式(本次未新增 Handler,仅修改已有请求体,确认无需额外改动)
6. 接口验证
- 6.1 调用
POST /api/admin/agent-recharges(payment_method=offline,不传凭证),验证返回 400"线下充值必须上传支付凭证" - 6.2 调用
POST /api/admin/agent-recharges(payment_method=offline,传入合法凭证 key),验证返回 200,使用 PostgreSQL MCP 查询tb_agent_recharge_record确认payment_voucher_key字段已写入正确值 - 6.3 调用
POST /api/admin/agent-recharges(payment_method=wechat,不传凭证),验证正常创建成功,无凭证校验报错