feat: 增加订单过滤功能,支持按内容ID、支付时间范围和支付金额范围筛选

This commit is contained in:
2025-12-18 16:46:40 +08:00
parent 3249e405ac
commit e268176af5
8 changed files with 418 additions and 37 deletions

View File

@@ -623,6 +623,24 @@ const docTemplate = `{
"in": "path",
"required": true
},
{
"type": "integer",
"description": "AmountPaidMax filters orders by amount_paid \u003c= this amount (cents).",
"name": "amount_paid_max",
"in": "query"
},
{
"type": "integer",
"description": "AmountPaidMin filters orders by amount_paid \u003e= this amount (cents).",
"name": "amount_paid_min",
"in": "query"
},
{
"type": "integer",
"description": "ContentID filters orders by purchased content id (via order_items join).",
"name": "content_id",
"in": "query"
},
{
"type": "integer",
"description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
@@ -635,6 +653,18 @@ const docTemplate = `{
"name": "page",
"in": "query"
},
{
"type": "string",
"description": "PaidAtFrom filters orders by paid_at \u003e= this time.",
"name": "paid_at_from",
"in": "query"
},
{
"type": "string",
"description": "PaidAtTo filters orders by paid_at \u003c= this time.",
"name": "paid_at_to",
"in": "query"
},
{
"enum": [
"created",
@@ -1172,6 +1202,12 @@ const docTemplate = `{
"in": "path",
"required": true
},
{
"type": "integer",
"description": "ContentID filters orders by purchased content id (via order_items join).",
"name": "content_id",
"in": "query"
},
{
"type": "integer",
"description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
@@ -1184,6 +1220,18 @@ const docTemplate = `{
"name": "page",
"in": "query"
},
{
"type": "string",
"description": "PaidAtFrom filters orders by paid_at \u003e= this time.",
"name": "paid_at_from",
"in": "query"
},
{
"type": "string",
"description": "PaidAtTo filters orders by paid_at \u003c= this time.",
"name": "paid_at_to",
"in": "query"
},
{
"enum": [
"created",

View File

@@ -617,6 +617,24 @@
"in": "path",
"required": true
},
{
"type": "integer",
"description": "AmountPaidMax filters orders by amount_paid \u003c= this amount (cents).",
"name": "amount_paid_max",
"in": "query"
},
{
"type": "integer",
"description": "AmountPaidMin filters orders by amount_paid \u003e= this amount (cents).",
"name": "amount_paid_min",
"in": "query"
},
{
"type": "integer",
"description": "ContentID filters orders by purchased content id (via order_items join).",
"name": "content_id",
"in": "query"
},
{
"type": "integer",
"description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
@@ -629,6 +647,18 @@
"name": "page",
"in": "query"
},
{
"type": "string",
"description": "PaidAtFrom filters orders by paid_at \u003e= this time.",
"name": "paid_at_from",
"in": "query"
},
{
"type": "string",
"description": "PaidAtTo filters orders by paid_at \u003c= this time.",
"name": "paid_at_to",
"in": "query"
},
{
"enum": [
"created",
@@ -1166,6 +1196,12 @@
"in": "path",
"required": true
},
{
"type": "integer",
"description": "ContentID filters orders by purchased content id (via order_items join).",
"name": "content_id",
"in": "query"
},
{
"type": "integer",
"description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
@@ -1178,6 +1214,18 @@
"name": "page",
"in": "query"
},
{
"type": "string",
"description": "PaidAtFrom filters orders by paid_at \u003e= this time.",
"name": "paid_at_from",
"in": "query"
},
{
"type": "string",
"description": "PaidAtTo filters orders by paid_at \u003c= this time.",
"name": "paid_at_to",
"in": "query"
},
{
"enum": [
"created",

View File

@@ -1386,6 +1386,19 @@ paths:
name: tenantCode
required: true
type: string
- description: AmountPaidMax filters orders by amount_paid <= this amount (cents).
in: query
name: amount_paid_max
type: integer
- description: AmountPaidMin filters orders by amount_paid >= this amount (cents).
in: query
name: amount_paid_min
type: integer
- description: ContentID filters orders by purchased content id (via order_items
join).
in: query
name: content_id
type: integer
- description: Limit is page size; only values in {10,20,50,100} are accepted
(otherwise defaults to 10).
in: query
@@ -1395,6 +1408,14 @@ paths:
in: query
name: page
type: integer
- description: PaidAtFrom filters orders by paid_at >= this time.
in: query
name: paid_at_from
type: string
- description: PaidAtTo filters orders by paid_at <= this time.
in: query
name: paid_at_to
type: string
- description: Status filters orders by order status.
enum:
- created
@@ -1745,6 +1766,11 @@ paths:
name: tenantCode
required: true
type: string
- description: ContentID filters orders by purchased content id (via order_items
join).
in: query
name: content_id
type: integer
- description: Limit is page size; only values in {10,20,50,100} are accepted
(otherwise defaults to 10).
in: query
@@ -1754,6 +1780,14 @@ paths:
in: query
name: page
type: integer
- description: PaidAtFrom filters orders by paid_at >= this time.
in: query
name: paid_at_from
type: string
- description: PaidAtTo filters orders by paid_at <= this time.
in: query
name: paid_at_to
type: string
- description: Status filters orders by order status.
enum:
- created