feat: wire superadmin p1 data

This commit is contained in:
2026-01-15 09:35:16 +08:00
parent bb4c5b39d2
commit 235a216b0c
21 changed files with 3188 additions and 28 deletions

View File

@@ -175,6 +175,110 @@ const docTemplate = `{
}
}
},
"/super/v1/coupons": {
"get": {
"description": "List coupon templates across tenants",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Coupon"
],
"summary": "List coupons",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.SuperCouponItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/creators": {
"get": {
"description": "List creator tenants (channels) across the platform",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Creator"
],
"summary": "List creators",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.TenantItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/orders": {
"get": {
"description": "List orders",
@@ -325,6 +429,63 @@ const docTemplate = `{
}
}
},
"/super/v1/reports/export": {
"post": {
"description": "Export platform report data",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Report"
],
"summary": "Export report",
"parameters": [
{
"description": "Export form",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SuperReportExportForm"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.ReportExportResponse"
}
}
}
}
},
"/super/v1/reports/overview": {
"get": {
"description": "Get platform report overview",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Report"
],
"summary": "Report overview",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.ReportOverviewResponse"
}
}
}
}
},
"/super/v1/tenants": {
"get": {
"description": "List tenants",
@@ -1065,6 +1226,133 @@ const docTemplate = `{
}
}
},
"/super/v1/withdrawals": {
"get": {
"description": "List withdrawal orders across tenants",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "List withdrawals",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.SuperOrderItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/withdrawals/{id}/approve": {
"post": {
"description": "Approve a withdrawal request",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "Approve withdrawal",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "Withdrawal order ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Approved",
"schema": {
"type": "string"
}
}
}
}
},
"/super/v1/withdrawals/{id}/reject": {
"post": {
"description": "Reject a withdrawal request",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "Reject withdrawal",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "Withdrawal order ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Reject form",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SuperWithdrawalRejectForm"
}
}
],
"responses": {
"200": {
"description": "Rejected",
"schema": {
"type": "string"
}
}
}
}
},
"/t/{tenantCode}/v1/auth/login": {
"post": {
"description": "Login or register user using phone number and OTP",
@@ -3822,6 +4110,17 @@ const docTemplate = `{
"ContentStatusBlocked"
]
},
"consts.CouponType": {
"type": "string",
"enum": [
"fix_amount",
"discount"
],
"x-enum-varnames": [
"CouponTypeFixAmount",
"CouponTypeDiscount"
]
},
"consts.Currency": {
"type": "string",
"enum": [
@@ -5240,6 +5539,91 @@ const docTemplate = `{
}
}
},
"dto.SuperCouponItem": {
"type": "object",
"properties": {
"created_at": {
"description": "CreatedAt 创建时间RFC3339。",
"type": "string"
},
"description": {
"description": "Description 优惠券描述。",
"type": "string"
},
"end_at": {
"description": "EndAt 结束时间RFC3339。",
"type": "string"
},
"id": {
"description": "ID 优惠券ID。",
"type": "integer"
},
"max_discount": {
"description": "MaxDiscount 最大折扣金额(折扣券)。",
"type": "integer"
},
"min_order_amount": {
"description": "MinOrderAmount 最低订单金额门槛。",
"type": "integer"
},
"start_at": {
"description": "StartAt 生效时间RFC3339。",
"type": "string"
},
"status": {
"description": "Status 状态active/expired/upcoming。",
"type": "string"
},
"status_description": {
"description": "StatusDescription 状态描述(用于展示)。",
"type": "string"
},
"tenant_code": {
"description": "TenantCode 租户编码。",
"type": "string"
},
"tenant_id": {
"description": "TenantID 租户ID。",
"type": "integer"
},
"tenant_name": {
"description": "TenantName 租户名称。",
"type": "string"
},
"title": {
"description": "Title 优惠券标题。",
"type": "string"
},
"total_quantity": {
"description": "TotalQuantity 总发行数量0 表示不限量)。",
"type": "integer"
},
"type": {
"description": "Type 优惠券类型。",
"allOf": [
{
"$ref": "#/definitions/consts.CouponType"
}
]
},
"type_description": {
"description": "TypeDescription 类型描述(用于展示)。",
"type": "string"
},
"updated_at": {
"description": "UpdatedAt 更新时间RFC3339。",
"type": "string"
},
"used_quantity": {
"description": "UsedQuantity 已使用数量。",
"type": "integer"
},
"value": {
"description": "Value 优惠券面额/折扣值。",
"type": "integer"
}
}
},
"dto.SuperOrderDetail": {
"type": "object",
"properties": {
@@ -5397,6 +5781,31 @@ const docTemplate = `{
}
}
},
"dto.SuperReportExportForm": {
"type": "object",
"properties": {
"end_at": {
"description": "EndAt 统计结束时间RFC3339可选默认当前时间。",
"type": "string"
},
"format": {
"description": "Format 导出格式(仅支持 csv。",
"type": "string"
},
"granularity": {
"description": "Granularity 统计粒度day目前仅支持 day。",
"type": "string"
},
"start_at": {
"description": "StartAt 统计开始时间RFC3339可选默认当前时间往前 7 天)。",
"type": "string"
},
"tenant_id": {
"description": "TenantID 租户ID不传代表全平台。",
"type": "integer"
}
}
},
"dto.SuperTenantContentStatusUpdateForm": {
"type": "object",
"required": [
@@ -5482,6 +5891,18 @@ const docTemplate = `{
}
}
},
"dto.SuperWithdrawalRejectForm": {
"type": "object",
"required": [
"reason"
],
"properties": {
"reason": {
"description": "Reason 驳回原因。",
"type": "string"
}
}
},
"dto.TenantAdminUserLite": {
"type": "object",
"properties": {

View File

@@ -169,6 +169,110 @@
}
}
},
"/super/v1/coupons": {
"get": {
"description": "List coupon templates across tenants",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Coupon"
],
"summary": "List coupons",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.SuperCouponItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/creators": {
"get": {
"description": "List creator tenants (channels) across the platform",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Creator"
],
"summary": "List creators",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.TenantItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/orders": {
"get": {
"description": "List orders",
@@ -319,6 +423,63 @@
}
}
},
"/super/v1/reports/export": {
"post": {
"description": "Export platform report data",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Report"
],
"summary": "Export report",
"parameters": [
{
"description": "Export form",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SuperReportExportForm"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.ReportExportResponse"
}
}
}
}
},
"/super/v1/reports/overview": {
"get": {
"description": "Get platform report overview",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Report"
],
"summary": "Report overview",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.ReportOverviewResponse"
}
}
}
}
},
"/super/v1/tenants": {
"get": {
"description": "List tenants",
@@ -1059,6 +1220,133 @@
}
}
},
"/super/v1/withdrawals": {
"get": {
"description": "List withdrawal orders across tenants",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "List withdrawals",
"parameters": [
{
"type": "integer",
"description": "Page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/dto.SuperOrderItem"
}
}
}
}
]
}
}
}
}
},
"/super/v1/withdrawals/{id}/approve": {
"post": {
"description": "Approve a withdrawal request",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "Approve withdrawal",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "Withdrawal order ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Approved",
"schema": {
"type": "string"
}
}
}
}
},
"/super/v1/withdrawals/{id}/reject": {
"post": {
"description": "Reject a withdrawal request",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Finance"
],
"summary": "Reject withdrawal",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "Withdrawal order ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Reject form",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SuperWithdrawalRejectForm"
}
}
],
"responses": {
"200": {
"description": "Rejected",
"schema": {
"type": "string"
}
}
}
}
},
"/t/{tenantCode}/v1/auth/login": {
"post": {
"description": "Login or register user using phone number and OTP",
@@ -3816,6 +4104,17 @@
"ContentStatusBlocked"
]
},
"consts.CouponType": {
"type": "string",
"enum": [
"fix_amount",
"discount"
],
"x-enum-varnames": [
"CouponTypeFixAmount",
"CouponTypeDiscount"
]
},
"consts.Currency": {
"type": "string",
"enum": [
@@ -5234,6 +5533,91 @@
}
}
},
"dto.SuperCouponItem": {
"type": "object",
"properties": {
"created_at": {
"description": "CreatedAt 创建时间RFC3339。",
"type": "string"
},
"description": {
"description": "Description 优惠券描述。",
"type": "string"
},
"end_at": {
"description": "EndAt 结束时间RFC3339。",
"type": "string"
},
"id": {
"description": "ID 优惠券ID。",
"type": "integer"
},
"max_discount": {
"description": "MaxDiscount 最大折扣金额(折扣券)。",
"type": "integer"
},
"min_order_amount": {
"description": "MinOrderAmount 最低订单金额门槛。",
"type": "integer"
},
"start_at": {
"description": "StartAt 生效时间RFC3339。",
"type": "string"
},
"status": {
"description": "Status 状态active/expired/upcoming。",
"type": "string"
},
"status_description": {
"description": "StatusDescription 状态描述(用于展示)。",
"type": "string"
},
"tenant_code": {
"description": "TenantCode 租户编码。",
"type": "string"
},
"tenant_id": {
"description": "TenantID 租户ID。",
"type": "integer"
},
"tenant_name": {
"description": "TenantName 租户名称。",
"type": "string"
},
"title": {
"description": "Title 优惠券标题。",
"type": "string"
},
"total_quantity": {
"description": "TotalQuantity 总发行数量0 表示不限量)。",
"type": "integer"
},
"type": {
"description": "Type 优惠券类型。",
"allOf": [
{
"$ref": "#/definitions/consts.CouponType"
}
]
},
"type_description": {
"description": "TypeDescription 类型描述(用于展示)。",
"type": "string"
},
"updated_at": {
"description": "UpdatedAt 更新时间RFC3339。",
"type": "string"
},
"used_quantity": {
"description": "UsedQuantity 已使用数量。",
"type": "integer"
},
"value": {
"description": "Value 优惠券面额/折扣值。",
"type": "integer"
}
}
},
"dto.SuperOrderDetail": {
"type": "object",
"properties": {
@@ -5391,6 +5775,31 @@
}
}
},
"dto.SuperReportExportForm": {
"type": "object",
"properties": {
"end_at": {
"description": "EndAt 统计结束时间RFC3339可选默认当前时间。",
"type": "string"
},
"format": {
"description": "Format 导出格式(仅支持 csv。",
"type": "string"
},
"granularity": {
"description": "Granularity 统计粒度day目前仅支持 day。",
"type": "string"
},
"start_at": {
"description": "StartAt 统计开始时间RFC3339可选默认当前时间往前 7 天)。",
"type": "string"
},
"tenant_id": {
"description": "TenantID 租户ID不传代表全平台。",
"type": "integer"
}
}
},
"dto.SuperTenantContentStatusUpdateForm": {
"type": "object",
"required": [
@@ -5476,6 +5885,18 @@
}
}
},
"dto.SuperWithdrawalRejectForm": {
"type": "object",
"required": [
"reason"
],
"properties": {
"reason": {
"description": "Reason 驳回原因。",
"type": "string"
}
}
},
"dto.TenantAdminUserLite": {
"type": "object",
"properties": {

View File

@@ -14,6 +14,14 @@ definitions:
- ContentStatusPublished
- ContentStatusUnpublished
- ContentStatusBlocked
consts.CouponType:
enum:
- fix_amount
- discount
type: string
x-enum-varnames:
- CouponTypeFixAmount
- CouponTypeDiscount
consts.Currency:
enum:
- CNY
@@ -1021,6 +1029,67 @@ definitions:
description: Name 租户名称。
type: string
type: object
dto.SuperCouponItem:
properties:
created_at:
description: CreatedAt 创建时间RFC3339
type: string
description:
description: Description 优惠券描述。
type: string
end_at:
description: EndAt 结束时间RFC3339
type: string
id:
description: ID 优惠券ID。
type: integer
max_discount:
description: MaxDiscount 最大折扣金额(折扣券)。
type: integer
min_order_amount:
description: MinOrderAmount 最低订单金额门槛。
type: integer
start_at:
description: StartAt 生效时间RFC3339
type: string
status:
description: Status 状态active/expired/upcoming
type: string
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
title:
description: Title 优惠券标题。
type: string
total_quantity:
description: TotalQuantity 总发行数量0 表示不限量)。
type: integer
type:
allOf:
- $ref: '#/definitions/consts.CouponType'
description: Type 优惠券类型。
type_description:
description: TypeDescription 类型描述(用于展示)。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
used_quantity:
description: UsedQuantity 已使用数量。
type: integer
value:
description: Value 优惠券面额/折扣值。
type: integer
type: object
dto.SuperOrderDetail:
properties:
buyer:
@@ -1119,6 +1188,24 @@ definitions:
description: Reason 退款原因说明。
type: string
type: object
dto.SuperReportExportForm:
properties:
end_at:
description: EndAt 统计结束时间RFC3339可选默认当前时间
type: string
format:
description: Format 导出格式(仅支持 csv
type: string
granularity:
description: Granularity 统计粒度day目前仅支持 day
type: string
start_at:
description: StartAt 统计开始时间RFC3339可选默认当前时间往前 7 天)。
type: string
tenant_id:
description: TenantID 租户ID不传代表全平台
type: integer
type: object
dto.SuperTenantContentStatusUpdateForm:
properties:
status:
@@ -1172,6 +1259,14 @@ definitions:
description: VerifiedAt 实名认证时间RFC3339
type: string
type: object
dto.SuperWithdrawalRejectForm:
properties:
reason:
description: Reason 驳回原因。
type: string
required:
- reason
type: object
dto.TenantAdminUserLite:
properties:
id:
@@ -2043,6 +2138,68 @@ paths:
summary: Review content
tags:
- Content
/super/v1/coupons:
get:
consumes:
- application/json
description: List coupon templates across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperCouponItem'
type: array
type: object
summary: List coupons
tags:
- Coupon
/super/v1/creators:
get:
consumes:
- application/json
description: List creator tenants (channels) across the platform
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.TenantItem'
type: array
type: object
summary: List creators
tags:
- Creator
/super/v1/orders:
get:
consumes:
@@ -2139,6 +2296,43 @@ paths:
summary: Order statistics
tags:
- Order
/super/v1/reports/export:
post:
consumes:
- application/json
description: Export platform report data
parameters:
- description: Export form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperReportExportForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportExportResponse'
summary: Export report
tags:
- Report
/super/v1/reports/overview:
get:
consumes:
- application/json
description: Get platform report overview
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportOverviewResponse'
summary: Report overview
tags:
- Report
/super/v1/tenants:
get:
consumes:
@@ -2612,6 +2806,87 @@ paths:
summary: User statuses
tags:
- User
/super/v1/withdrawals:
get:
consumes:
- application/json
description: List withdrawal orders across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperOrderItem'
type: array
type: object
summary: List withdrawals
tags:
- Finance
/super/v1/withdrawals/{id}/approve:
post:
consumes:
- application/json
description: Approve a withdrawal request
parameters:
- description: Withdrawal order ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Approved
schema:
type: string
summary: Approve withdrawal
tags:
- Finance
/super/v1/withdrawals/{id}/reject:
post:
consumes:
- application/json
description: Reject a withdrawal request
parameters:
- description: Withdrawal order ID
format: int64
in: path
name: id
required: true
type: integer
- description: Reject form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperWithdrawalRejectForm'
produces:
- application/json
responses:
"200":
description: Rejected
schema:
type: string
summary: Reject withdrawal
tags:
- Finance
/t/{tenantCode}/v1/auth/login:
post:
consumes: