feat: add super comment governance and finance oversight

This commit is contained in:
2026-01-16 10:37:24 +08:00
parent f7db11a4df
commit 3af3c854c9
16 changed files with 4139 additions and 285 deletions

View File

@@ -128,6 +128,22 @@ definitions:
- RoleUser
- RoleSuperAdmin
- RoleCreator
consts.TenantLedgerType:
enum:
- debit_purchase
- credit_refund
- credit_withdrawal
- freeze
- unfreeze
- adjustment
type: string
x-enum-varnames:
- TenantLedgerTypeDebitPurchase
- TenantLedgerTypeCreditRefund
- TenantLedgerTypeCreditWithdrawal
- TenantLedgerTypeFreeze
- TenantLedgerTypeUnfreeze
- TenantLedgerTypeAdjustment
consts.TenantStatus:
enum:
- pending_verify
@@ -1264,6 +1280,81 @@ definitions:
description: TenantName 租户名称。
type: string
type: object
dto.SuperBalanceAnomalyItem:
properties:
balance:
description: Balance 可用余额(分)。
type: integer
balance_frozen:
description: BalanceFrozen 冻结余额(分)。
type: integer
created_at:
description: CreatedAt 用户创建时间RFC3339
type: string
issue:
description: Issue 异常类型标识。
type: string
issue_description:
description: IssueDescription 异常描述说明。
type: string
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.SuperCommentDeleteForm:
properties:
reason:
description: Reason 删除原因(可选,用于审计记录)。
type: string
type: object
dto.SuperCommentItem:
properties:
content:
description: Content 评论内容。
type: string
content_id:
description: ContentID 内容ID。
type: integer
content_title:
description: ContentTitle 内容标题。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
deleted_at:
description: DeletedAt 删除时间RFC3339未删除为空
type: string
id:
description: ID 评论ID。
type: integer
is_deleted:
description: IsDeleted 是否已删除。
type: boolean
likes:
description: Likes 评论点赞数。
type: integer
reply_to:
description: ReplyTo 回复评论ID0 表示一级评论)。
type: integer
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
user_id:
description: UserID 评论用户ID。
type: integer
username:
description: Username 评论用户名称。
type: string
type: object
dto.SuperContentBatchReviewForm:
properties:
action:
@@ -1527,6 +1618,70 @@ definitions:
required:
- action
type: object
dto.SuperLedgerItem:
properties:
amount:
description: Amount 变动金额(分)。
type: integer
balance_after:
description: BalanceAfter 变更后可用余额(分)。
type: integer
balance_before:
description: BalanceBefore 变更前可用余额(分)。
type: integer
biz_ref_id:
description: BizRefID 业务引用ID可选
type: integer
biz_ref_type:
description: BizRefType 业务引用类型(可选)。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
frozen_after:
description: FrozenAfter 变更后冻结余额(分)。
type: integer
frozen_before:
description: FrozenBefore 变更前冻结余额(分)。
type: integer
id:
description: ID 流水ID。
type: integer
operator_user_id:
description: OperatorUserID 操作者用户ID0 表示系统)。
type: integer
order_id:
description: OrderID 关联订单ID。
type: integer
remark:
description: Remark 流水备注说明。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
type:
allOf:
- $ref: '#/definitions/consts.TenantLedgerType'
description: Type 流水类型。
type_description:
description: TypeDescription 流水类型描述(用于展示)。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
user_id:
description: UserID 关联用户ID。
type: integer
username:
description: Username 关联用户名。
type: string
type: object
dto.SuperNotificationBroadcastForm:
properties:
content:
@@ -1644,6 +1799,53 @@ definitions:
description: UpdatedAt 更新时间RFC3339
type: string
type: object
dto.SuperOrderAnomalyItem:
properties:
amount_paid:
description: AmountPaid 实付金额(分)。
type: integer
created_at:
description: CreatedAt 创建时间RFC3339
type: string
issue:
description: Issue 异常类型标识。
type: string
issue_description:
description: IssueDescription 异常描述说明。
type: string
order_id:
description: OrderID 订单ID。
type: integer
paid_at:
description: PaidAt 支付时间RFC3339
type: string
refunded_at:
description: RefundedAt 退款时间RFC3339
type: string
status:
allOf:
- $ref: '#/definitions/consts.OrderStatus'
description: Status 订单状态。
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
type:
allOf:
- $ref: '#/definitions/consts.OrderType'
description: Type 订单类型。
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.SuperOrderDetail:
properties:
buyer:
@@ -3085,6 +3287,64 @@ paths:
summary: Check token
tags:
- Auth
/super/v1/comments:
get:
consumes:
- application/json
description: List comments 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.SuperCommentItem'
type: array
type: object
summary: List comments
tags:
- Content
/super/v1/comments/{id}/delete:
post:
consumes:
- application/json
description: Soft delete a comment
parameters:
- description: Comment ID
format: int64
in: path
name: id
required: true
type: integer
- description: Delete form
in: body
name: form
schema:
$ref: '#/definitions/dto.SuperCommentDeleteForm'
produces:
- application/json
responses:
"200":
description: Deleted
schema:
type: string
summary: Delete comment
tags:
- Content
/super/v1/contents:
get:
consumes:
@@ -3392,6 +3652,99 @@ paths:
summary: List creators
tags:
- Creator
/super/v1/finance/anomalies/balances:
get:
consumes:
- application/json
description: List balance anomalies across users
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.SuperBalanceAnomalyItem'
type: array
type: object
summary: List balance anomalies
tags:
- Finance
/super/v1/finance/anomalies/orders:
get:
consumes:
- application/json
description: List order anomalies 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.SuperOrderAnomalyItem'
type: array
type: object
summary: List order anomalies
tags:
- Finance
/super/v1/finance/ledgers:
get:
consumes:
- application/json
description: List tenant ledgers 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.SuperLedgerItem'
type: array
type: object
summary: List ledgers
tags:
- Finance
/super/v1/notifications:
get:
consumes: