修复: GET /v1/admin/promo/price/list 字段不匹配导致 400
Build docker and publish / build (20.15.1) (push) Failing after 21m12s
Build docker and publish / build (20.15.1) (pull_request) Failing after 22m17s

前端发 rule_id/subscribe_id (均可选), 后端 API 定义为 promo_rule_id
(required), 直接返回 "PromoRuleId is a required field"。

对齐前端约定 (与 usage/list 命名一致):
- API: promo_rule_id(required) → rule_id + subscribe_id, 均可选
- model.QueryPriceList: 改为接 PriceFilter, 按条件过滤
- 同步 fake mock 与校验测试签名
This commit is contained in:
2026-05-29 01:04:37 -07:00
parent b162022d39
commit e17dc4a273
7 changed files with 37 additions and 16 deletions
+3 -3
View File
@@ -34,9 +34,9 @@ func TestPromoListPageSizeLimit(t *testing.T) {
{
name: "price list",
req: GetPromoPriceListRequest{
PromoRuleId: 1,
Page: 1,
Size: 201,
RuleId: 1,
Page: 1,
Size: 201,
},
},
{
+2 -1
View File
@@ -1436,9 +1436,10 @@ type GetPreSendEmailCountResponse struct {
}
type GetPromoPriceListRequest struct {
PromoRuleId int64 `form:"promo_rule_id" validate:"required,gt=0"`
Page int64 `form:"page" validate:"required,gt=0"`
Size int64 `form:"size" validate:"required,gt=0,lte=200"`
RuleId int64 `form:"rule_id,omitempty"`
SubscribeId int64 `form:"subscribe_id,omitempty"`
}
type GetPromoPriceListResponse struct {