feat: add superadmin user interaction views

This commit is contained in:
2026-01-15 15:51:26 +08:00
parent b896d0fa00
commit 339fd4fb1d
10 changed files with 1463 additions and 4 deletions

View File

@@ -136,6 +136,14 @@ definitions:
x-enum-varnames:
- TenantUserRoleMember
- TenantUserRoleTenantAdmin
consts.UserContentActionType:
enum:
- like
- favorite
type: string
x-enum-varnames:
- UserContentActionTypeLike
- UserContentActionTypeFavorite
consts.UserCouponStatus:
enum:
- unused
@@ -1691,6 +1699,23 @@ definitions:
- $ref: '#/definitions/dto.SuperUserLite'
description: User 用户信息。
type: object
dto.SuperUserContentActionItem:
properties:
action_at:
description: ActionAt 互动发生时间RFC3339
type: string
action_id:
description: ActionID 互动记录ID。
type: integer
action_type:
allOf:
- $ref: '#/definitions/consts.UserContentActionType'
description: ActionType 互动类型like/favorite
content:
allOf:
- $ref: '#/definitions/dto.AdminContentItem'
description: Content 互动对应内容详情(含租户与作者信息)。
type: object
dto.SuperUserCouponItem:
properties:
coupon_id:
@@ -3916,6 +3941,117 @@ paths:
summary: List user coupons
tags:
- User
/super/v1/users/{id}/favorites:
get:
consumes:
- application/json
description: List user's favorited contents
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- 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.SuperUserContentActionItem'
type: array
type: object
summary: List user favorites
tags:
- User
/super/v1/users/{id}/following:
get:
consumes:
- application/json
description: List tenants followed by user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- 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.UserTenantItem'
type: array
type: object
summary: List user following tenants
tags:
- User
/super/v1/users/{id}/likes:
get:
consumes:
- application/json
description: List user's liked contents
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- 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.SuperUserContentActionItem'
type: array
type: object
summary: List user likes
tags:
- User
/super/v1/users/{id}/notifications:
get:
consumes: