bindbox-game/docs/swagger.yaml
邹方成 1ab39d2f5a
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 25s
refactor: 重构项目结构并重命名模块
feat(admin): 新增工会管理功能
feat(activity): 添加活动管理相关服务
feat(user): 实现用户道具卡和积分管理
feat(guild): 新增工会成员管理功能

fix: 修复数据库连接配置
fix: 修正jwtoken导入路径
fix: 解决端口冲突问题

style: 统一代码格式和注释风格
style: 更新项目常量命名

docs: 添加项目框架和开发规范文档
docs: 更新接口文档注释

chore: 移除无用代码和文件
chore: 更新Makefile和配置文件
chore: 清理日志文件

test: 添加道具卡测试脚本
2025-11-14 21:10:00 +08:00

4311 lines
101 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

basePath: /
definitions:
admin.GrantRewardRequest:
properties:
activity_id:
description: 活动ID可选
type: integer
address_id:
description: 收货地址ID可选实物商品需要
type: integer
product_id:
description: 商品ID
type: integer
quantity:
description: 发放数量
minimum: 1
type: integer
remark:
description: 备注
type: string
reward_id:
description: 奖励配置ID可选
type: integer
required:
- product_id
type: object
admin.GrantRewardResponse:
properties:
inventory_ids:
items:
type: integer
type: array
message:
type: string
order_id:
type: integer
success:
type: boolean
type: object
admin.activitysvcIssueData:
properties:
id:
type: integer
issue_number:
type: string
sort:
type: integer
status:
type: integer
type: object
admin.addCouponRequest:
properties:
coupon_id:
type: integer
required:
- coupon_id
type: object
admin.addCouponResponse:
properties:
success:
type: boolean
type: object
admin.addPointsRequest:
properties:
kind:
type: string
points:
type: integer
remark:
type: string
valid_days:
type: integer
required:
- points
type: object
admin.addPointsResponse:
properties:
success:
type: boolean
type: object
admin.adminUserCouponItem:
properties:
coupon_id:
type: integer
discount_type:
type: integer
discount_value:
type: integer
id:
type: integer
min_spend:
type: integer
name:
type: string
scope_type:
type: integer
status:
type: integer
used_at:
type: string
used_order_id:
type: integer
valid_end:
type: string
valid_start:
type: string
type: object
admin.adminUserItem:
properties:
avatar:
type: string
created_at:
type: string
id:
type: integer
invite_code:
type: string
inviter_id:
type: integer
nickname:
type: string
type: object
admin.assignItemCardRequest:
properties:
card_id:
type: integer
quantity:
type: integer
required:
- card_id
type: object
admin.bannerItem:
properties:
id:
type: integer
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
type: object
admin.categoryItem:
properties:
id:
type: integer
name:
type: string
type: object
admin.createActivityRequest:
properties:
activity_category_id:
type: integer
banner:
type: string
end_time:
type: string
is_boss:
type: integer
name:
type: string
price_draw:
type: integer
start_time:
type: string
status:
type: integer
required:
- activity_category_id
- name
type: object
admin.createAdminRequest:
properties:
avatar:
description: 头像
type: string
mobile:
description: 手机号
type: string
nickname:
description: 昵称
type: string
password:
description: 密码
type: string
username:
description: 用户名
type: string
required:
- nickname
- password
- username
type: object
admin.createAdminResponse:
properties:
message:
description: 提示信息
type: string
type: object
admin.createBannerRequest:
properties:
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
required:
- image_url
- title
type: object
admin.createBannerResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createGuildRequest:
properties:
avatar_url:
type: string
consume_limit:
type: integer
description:
type: string
is_open:
type: integer
join_mode:
type: integer
name:
type: string
owner_id:
type: integer
required:
- name
- owner_id
type: object
admin.createGuildResponse:
properties:
message:
type: string
type: object
admin.createIssueRequest:
properties:
issue_number:
type: string
sort:
type: integer
status:
type: integer
required:
- issue_number
type: object
admin.createItemCardRequest:
properties:
activity_category_id:
type: integer
activity_id:
type: integer
boost_rate_x1000:
type: integer
card_type:
type: integer
effect_type:
type: integer
issue_id:
type: integer
max_effect_value_x1000:
type: integer
name:
type: string
price:
type: integer
remark:
type: string
reward_multiplier_x1000:
type: integer
scope_type:
type: integer
stacking_strategy:
type: integer
status:
type: integer
valid_end_unix:
type: integer
valid_start_unix:
type: integer
required:
- card_type
- effect_type
- name
- price
- scope_type
type: object
admin.createItemCardResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createProductCategoryRequest:
properties:
name:
type: string
parent_id:
type: integer
status:
type: integer
required:
- name
type: object
admin.createProductCategoryResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createProductRequest:
properties:
category_id:
type: integer
images_json:
type: string
name:
type: string
price:
type: integer
status:
type: integer
stock:
type: integer
required:
- category_id
- name
- price
- stock
type: object
admin.createProductResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createRewardsRequest:
properties:
rewards:
items:
$ref: '#/definitions/admin.rewardItem'
type: array
required:
- rewards
type: object
admin.deleteAdminRequest:
properties:
ids:
description: 编号(多个用,分割)
type: string
required:
- ids
type: object
admin.deleteAdminResponse:
properties:
message:
description: 提示信息
type: string
type: object
admin.deleteGuildResponse:
properties:
message:
type: string
type: object
admin.itemCardListItem:
properties:
activity_category_id:
description: 指定活动分类ID可空
type: integer
activity_id:
description: 指定活动ID可空
type: integer
boost_rate_x1000:
description: 概率提升(千分比,+20%=200
type: integer
card_type:
description: 卡类型1双倍奖励 2概率提升 等
type: integer
created_at:
description: 创建时间
type: string
effect_type:
description: 效果类型1奖励倍数 2概率提升 等
type: integer
id:
description: 主键ID
type: integer
issue_id:
description: 指定期ID可空
type: integer
max_effect_value_x1000:
description: 效果上限(千分比)
type: integer
name:
description: 卡名称
type: string
price:
description: 售卖价格(分)
type: integer
remark:
description: 备注
type: string
reward_multiplier_x1000:
description: 奖励倍数千分比×2=2000
type: integer
scope_type:
description: 适用范围1全局 2活动分类 3活动 4期
type: integer
stacking_strategy:
description: 叠加策略1禁止 2同类叠加-上限 3取最大值 4乘法叠加
type: integer
status:
description: 状态1启用 2停用
type: integer
updated_at:
description: 更新时间
type: string
valid_end:
description: 有效期结束
type: string
valid_start:
description: 有效期开始
type: string
type: object
admin.listBannersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.bannerItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listCategoriesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.categoryItem'
type: array
type: object
admin.listCouponsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserCouponItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listData:
properties:
avatar:
description: 头像
type: string
created_at:
description: 创建时间
type: string
id:
description: 编号
type: integer
mobile:
description: 手机号
type: string
nickname:
description: 昵称
type: string
updated_at:
description: 更新时间
type: string
username:
description: 用户名
type: string
type: object
admin.listGuildMembersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.memberItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listInventoryResponse:
properties:
list:
items:
$ref: '#/definitions/user.InventoryWithProduct'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listInvitesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listIssuesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.activitysvcIssueData'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listItemCardsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.itemCardListItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listOrdersResponse:
properties:
list:
items:
$ref: '#/definitions/user.OrderWithItems'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listPointsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserPointsLedger'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listProductCategoriesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.productCategoryListItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listProductsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.productItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listResponse:
properties:
list:
items:
$ref: '#/definitions/admin.listData'
type: array
page:
description: 当前页码
type: integer
page_size:
description: 每页返回的数据量
type: integer
total:
description: 符合查询条件的总记录数
type: integer
type: object
admin.listRewardsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.rewardItem'
type: array
type: object
admin.listUsersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.loginRequest:
properties:
password:
description: 密码 (MD5加密后的密码)
type: string
username:
description: 用户名
type: string
required:
- password
- username
type: object
admin.loginResponse:
properties:
is_super:
description: 是否是超级管理员(1:是 0:否)
type: integer
token:
description: 登录成功后颁发的 Token
type: string
type: object
admin.memberItem:
properties:
id:
type: integer
role:
type: string
start_time:
type: string
user_id:
type: integer
type: object
admin.modifyActivityRequest:
properties:
activity_category_id:
type: integer
banner:
type: string
end_time:
type: string
is_boss:
type: integer
name:
type: string
price_draw:
type: integer
start_time:
type: string
status:
type: integer
type: object
admin.modifyAdminRequest:
properties:
avatar:
description: 头像
type: string
mobile:
description: 手机号
type: string
nickname:
description: 昵称
type: string
password:
description: 密码
type: string
username:
description: 用户名
type: string
required:
- nickname
- username
type: object
admin.modifyAdminResponse:
properties:
message:
description: 提示信息
type: string
type: object
admin.modifyBannerRequest:
properties:
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
type: object
admin.modifyGuildRequest:
properties:
avatar_url:
type: string
consume_limit:
type: integer
description:
type: string
is_open:
type: integer
join_mode:
type: integer
name:
type: string
status:
type: integer
type: object
admin.modifyGuildResponse:
properties:
message:
type: string
type: object
admin.modifyIssueRequest:
properties:
issue_number:
type: string
sort:
type: integer
status:
type: integer
type: object
admin.modifyItemCardRequest:
properties:
activity_category_id:
type: integer
activity_id:
type: integer
boost_rate_x1000:
type: integer
card_type:
type: integer
effect_type:
type: integer
issue_id:
type: integer
max_effect_value_x1000:
type: integer
name:
type: string
price:
type: integer
remark:
type: string
reward_multiplier_x1000:
type: integer
scope_type:
type: integer
stacking_strategy:
type: integer
status:
type: integer
valid_end_unix:
type: integer
valid_start_unix:
type: integer
type: object
admin.modifyProductCategoryRequest:
properties:
name:
type: string
parent_id:
type: integer
status:
type: integer
type: object
admin.modifyProductRequest:
properties:
category_id:
type: integer
images_json:
type: string
name:
type: string
price:
type: integer
status:
type: integer
stock:
type: integer
type: object
admin.modifyRewardRequest:
properties:
is_boss:
type: integer
level:
type: integer
name:
type: string
original_qty:
type: integer
product_id:
type: integer
quantity:
type: integer
sort:
type: integer
weight:
type: integer
type: object
admin.pcSimpleMessage:
properties:
message:
type: string
type: object
admin.pointsBalanceResponse:
properties:
balance:
type: integer
type: object
admin.productCategoryListItem:
properties:
id:
type: integer
name:
type: string
parent_id:
type: integer
status:
type: integer
type: object
admin.productItem:
properties:
category_id:
type: integer
id:
type: integer
images_json:
type: string
name:
type: string
price:
type: integer
sales:
type: integer
status:
type: integer
stock:
type: integer
type: object
admin.rewardItem:
properties:
id:
type: integer
is_boss:
type: integer
level:
type: integer
name:
type: string
original_qty:
type: integer
product_id:
type: integer
quantity:
type: integer
sort:
type: integer
weight:
type: integer
required:
- level
- name
- original_qty
- quantity
- weight
type: object
admin.roleItem:
properties:
createTime:
type: string
description:
type: string
enabled:
type: boolean
roleCode:
type: string
roleId:
type: integer
roleName:
type: string
type: object
admin.roleListResponse:
properties:
current:
type: integer
records:
items:
$ref: '#/definitions/admin.roleItem'
type: array
size:
type: integer
total:
type: integer
type: object
admin.simpleMessage:
properties:
message:
type: string
type: object
admin.simpleMessageResponse:
properties:
message:
type: string
type: object
admin.userListItem:
properties:
avatar:
type: string
createBy:
type: string
createTime:
type: string
id:
type: integer
nickName:
type: string
status:
type: string
updateBy:
type: string
updateTime:
type: string
userEmail:
type: string
userGender:
type: string
userName:
type: string
userPhone:
type: string
userRoles:
items:
type: string
type: array
type: object
admin.userListResponse:
properties:
current:
type: integer
records:
items:
$ref: '#/definitions/admin.userListItem'
type: array
size:
type: integer
total:
type: integer
type: object
app.activityItem:
properties:
activity_category_id:
type: integer
banner:
type: string
category_name:
type: string
id:
type: integer
is_boss:
type: integer
name:
type: string
price_draw:
type: integer
status:
type: integer
type: object
app.appBannerItem:
properties:
id:
type: integer
image_url:
type: string
link_url:
type: string
sort:
type: integer
title:
type: string
type: object
app.bindPhoneRequest:
properties:
code:
type: string
type: object
app.bindPhoneResponse:
properties:
mobile:
type: string
success:
type: boolean
type: object
app.drawLogItem:
properties:
current_level:
type: integer
id:
type: integer
is_winner:
type: integer
issue_id:
type: integer
level:
type: integer
order_id:
type: integer
reward_id:
type: integer
user_id:
type: integer
type: object
app.guildItem:
properties:
avatar_url:
type: string
consume_limit:
type: integer
description:
type: string
id:
type: integer
is_open:
type: integer
join_mode:
type: integer
name:
type: string
owner_id:
type: integer
status:
type: integer
type: object
app.inviteUserItem:
properties:
avatar:
type: string
id:
type: integer
invite_code:
type: string
nickname:
type: string
type: object
app.issueItem:
properties:
id:
type: integer
issue_number:
type: string
sort:
type: integer
status:
type: integer
type: object
app.joinGuildRequest:
properties:
user_id:
type: integer
required:
- user_id
type: object
app.listActivitiesResponse:
properties:
list:
items:
$ref: '#/definitions/app.activityItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listAppBannersResponse:
properties:
list:
items:
$ref: '#/definitions/app.appBannerItem'
type: array
type: object
app.listCouponsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserCoupons'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listDrawLogsResponse:
properties:
list:
items:
$ref: '#/definitions/app.drawLogItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listGuildsResponse:
properties:
list:
items:
$ref: '#/definitions/app.guildItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listInvitesResponse:
properties:
list:
items:
$ref: '#/definitions/app.inviteUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listIssuesResponse:
properties:
list:
items:
$ref: '#/definitions/app.issueItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listMembersResponse:
properties:
list:
items:
$ref: '#/definitions/app.memberItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listOrdersResponse:
properties:
list:
items:
$ref: '#/definitions/model.Orders'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listPointsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserPointsLedger'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listRewardsResponse:
properties:
list:
items:
$ref: '#/definitions/app.rewardItem'
type: array
type: object
app.listUserItemCardUsesResponse:
properties:
list:
items:
$ref: '#/definitions/model.ActivityDrawEffects'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listUserItemCardsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserItemCards'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.memberItem:
properties:
id:
type: integer
role:
type: string
start_time:
type: string
user_id:
type: integer
type: object
app.modifyUserRequest:
properties:
avatar:
type: string
nickname:
type: string
type: object
app.modifyUserResponse:
properties:
user:
$ref: '#/definitions/app.userItem'
type: object
app.phoneLoginRequest:
properties:
code:
description: 兼容参数名这里作为手机号或第三方手机号code
type: string
invite_code:
type: string
type: object
app.phoneLoginResponse:
properties:
avatar:
type: string
invite_code:
type: string
nickname:
type: string
user_id:
type: integer
type: object
app.pointsBalanceResponse:
properties:
balance:
type: integer
type: object
app.rewardItem:
properties:
is_boss:
type: integer
level:
type: integer
name:
type: string
original_qty:
type: integer
product_id:
type: integer
quantity:
type: integer
sort:
type: integer
weight:
type: integer
type: object
app.simpleMessageResponse:
properties:
message:
type: string
type: object
app.userItem:
properties:
avatar:
type: string
id:
type: integer
invite_code:
type: string
inviter_id:
type: integer
nickname:
type: string
type: object
app.weixinLoginRequest:
properties:
code:
type: string
invite_code:
type: string
type: object
app.weixinLoginResponse:
properties:
avatar:
type: string
invite_code:
type: string
nickname:
type: string
user_id:
type: integer
type: object
code.Failure:
properties:
code:
description: 业务码
type: integer
message:
description: 描述信息
type: string
type: object
model.Activities:
properties:
activity_category_id:
description: 活动所属分类IDactivity_categories.id可空
type: integer
banner:
description: 活动横幅/海报URL
type: string
created_at:
description: 创建时间
type: string
end_time:
description: 结束时间
type: string
id:
description: 主键ID
type: integer
is_boss:
description: 'Boss: 1 是 0 不是'
type: integer
name:
description: 活动名称
type: string
price_draw:
description: 活动门票价格
type: integer
start_time:
description: 开始时间
type: string
status:
description: 状态1进行中 2下线
type: integer
updated_at:
description: 更新时间
type: string
type: object
model.ActivityDrawEffects:
properties:
activity_category_id:
description: 范围快照-活动分类ID
type: integer
activity_id:
description: 范围快照-活动ID
type: integer
applied:
description: 是否生效0否 1是
type: integer
card_type:
description: 卡类型快照
type: integer
created_at:
description: 创建时间
type: string
draw_log_id:
description: 抽奖日志IDactivity_draw_logs.id
type: integer
effect_type:
description: 效果类型快照
type: integer
id:
description: 主键ID
type: integer
issue_id:
description: 范围快照-期ID
type: integer
probability_delta_x1000:
description: 概率相对增益(千分比)
type: integer
remark:
description: 备注
type: string
reward_multiplier_x1000:
description: 奖励倍数(千分比)
type: integer
scope_type:
description: 适用范围快照
type: integer
system_item_card_id:
description: 卡模板IDsystem_item_cards.id
type: integer
user_id:
description: 用户IDusers.id
type: integer
user_item_card_id:
description: 用户卡实例IDuser_item_cards.id
type: integer
type: object
model.Guild:
properties:
avatar_url:
description: 工会头像
type: string
consume_limit:
description: 加入工会消费流水最低限额(分)
type: integer
created_at:
description: 创建时间
type: string
description:
description: 工会描述
type: string
id:
description: 主键ID
type: integer
is_open:
description: 1 公开 2 私有
type: integer
join_mode:
description: '加入方式 1: 审核通过 2: 自动通过 3. 消费流水'
type: integer
name:
description: 公会名称
type: string
owner_id:
description: 会长用户ID
type: integer
status:
description: 状态1正常 2解散
type: integer
type: object
model.OrderItems:
properties:
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
order_id:
description: 订单IDorders.id
type: integer
price:
description: 成交单价(分)
type: integer
product_id:
description: 商品IDproducts.id
type: integer
product_images:
description: 商品图片快照JSON
type: string
quantity:
description: 购买数量
type: integer
status:
description: 行状态1正常 2取消
type: integer
title:
description: 商品标题快照
type: string
total_amount:
description: 行应付总额(分)
type: integer
type: object
model.Orders:
properties:
actual_amount:
description: 实际支付金额(分)
type: integer
cancelled_at:
description: 取消时间
type: string
created_at:
description: 创建时间
type: string
discount_amount:
description: 优惠券抵扣金额(分)
type: integer
id:
description: 主键ID
type: integer
is_consumed:
description: 是否已履约/消耗(对虚拟资产)
type: integer
order_no:
description: 业务订单号(唯一)
type: string
paid_at:
description: 支付完成时间
type: string
pay_preorder_id:
description: 关联预支付单IDpayment_preorder.id
type: integer
points_amount:
description: 积分抵扣金额(分)
type: integer
points_ledger_id:
description: 积分扣减流水IDuser_points_ledger.id
type: integer
remark:
description: 备注
type: string
source_type:
description: 来源1商城直购 2抽奖票据 3其他
type: integer
status:
description: 订单状态1待支付 2已支付 3已取消 4已退款
type: integer
total_amount:
description: 订单总金额(分)
type: integer
updated_at:
description: 更新时间
type: string
user_address_id:
description: 收货地址IDuser_addresses.id
type: integer
user_id:
description: 下单用户IDuser_members.id
type: integer
type: object
model.UserCoupons:
properties:
coupon_id:
description: 券模板IDsystem_coupons.id
type: integer
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
status:
description: 状态1未使用 2已使用 3已过期
type: integer
updated_at:
description: 更新时间
type: string
used_at:
description: 核销时间
type: string
used_order_id:
description: 核销的订单IDorders.id
type: integer
user_id:
description: 用户IDuser_members.id
type: integer
valid_end:
description: 有效期结束
type: string
valid_start:
description: 有效期开始
type: string
type: object
model.UserItemCards:
properties:
card_id:
description: 卡模板IDsystem_item_cards.id
type: integer
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
remark:
description: 备注
type: string
status:
description: 状态1未使用 2已使用 3已过期
type: integer
updated_at:
description: 更新时间
type: string
used_activity_id:
description: 使用时活动ID
type: integer
used_at:
description: 使用时间
type: string
used_draw_log_id:
description: 使用关联抽奖日志IDactivity_draw_logs.id
type: integer
used_issue_id:
description: 使用时期ID
type: integer
user_id:
description: 用户IDusers.id
type: integer
valid_end:
description: 有效期结束
type: string
valid_start:
description: 有效期开始
type: string
type: object
model.UserPointsLedger:
properties:
action:
description: 变更动作signin/order_deduct/refund_restore/manual
type: string
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
points:
description: 积分变动值(正增负减)
type: integer
ref_id:
description: 关联ID如订单号/记录ID
type: string
ref_table:
description: 关联表名如orders/payment_refund
type: string
remark:
description: 备注
type: string
user_id:
description: 用户IDuser_members.id
type: integer
type: object
user.InventoryWithProduct:
properties:
activity_id:
description: 来源活动ID
type: integer
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
order_id:
description: 来源订单ID
type: integer
product_id:
description: 资产对应商品ID实物奖/商品)
type: integer
product_images:
type: string
product_name:
type: string
remark:
description: 备注
type: string
reward_id:
description: 来源奖励IDactivity_reward_settings.id
type: integer
status:
description: 状态1持有 2作废 3已使用/发货
type: integer
updated_at:
description: 更新时间
type: string
user_id:
description: 资产归属用户ID
type: integer
type: object
user.OrderWithItems:
properties:
actual_amount:
description: 实际支付金额(分)
type: integer
cancelled_at:
description: 取消时间
type: string
created_at:
description: 创建时间
type: string
discount_amount:
description: 优惠券抵扣金额(分)
type: integer
id:
description: 主键ID
type: integer
is_consumed:
description: 是否已履约/消耗(对虚拟资产)
type: integer
items:
items:
$ref: '#/definitions/model.OrderItems'
type: array
order_no:
description: 业务订单号(唯一)
type: string
paid_at:
description: 支付完成时间
type: string
pay_preorder_id:
description: 关联预支付单IDpayment_preorder.id
type: integer
points_amount:
description: 积分抵扣金额(分)
type: integer
points_ledger_id:
description: 积分扣减流水IDuser_points_ledger.id
type: integer
remark:
description: 备注
type: string
source_type:
description: 来源1商城直购 2抽奖票据 3其他
type: integer
status:
description: 订单状态1待支付 2已支付 3已取消 4已退款
type: integer
total_amount:
description: 订单总金额(分)
type: integer
updated_at:
description: 更新时间
type: string
user_address_id:
description: 收货地址IDuser_addresses.id
type: integer
user_id:
description: 下单用户IDuser_members.id
type: integer
type: object
info:
contact: {}
title: mini-chat 接口文档
version: v0.0.1
paths:
/api/admin/{id}:
put:
consumes:
- application/json
description: 编辑客服
parameters:
- description: 编号ID
in: path
name: id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyAdminRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.modifyAdminResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 编辑客服
tags:
- 管理端.客服管理
/api/admin/activities:
post:
consumes:
- application/json
description: 创建活动配置基本信息与分类、Boss标签
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createActivityRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建活动
tags:
- 管理端.活动
/api/admin/activities/{activity_id}:
delete:
consumes:
- application/json
description: 删除指定活动
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除活动
tags:
- 管理端.活动
get:
consumes:
- application/json
description: 查看指定活动的详细信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.Activities'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看活动详情
tags:
- 管理端.活动
put:
consumes:
- application/json
description: 修改活动基本信息、分类、Boss标签等
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyActivityRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改活动
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues:
get:
consumes:
- application/json
description: 获取指定活动的期数列表,支持分页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listIssuesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看活动期数
tags:
- 管理端.活动
post:
consumes:
- application/json
description: 为指定活动创建一个新的期数
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createIssueRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建活动期数
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}:
delete:
consumes:
- application/json
description: 删除指定期数
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除活动期数
tags:
- 管理端.活动
put:
consumes:
- application/json
description: 修改指定期数的信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyIssueRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改活动期数
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}/rewards:
get:
consumes:
- application/json
description: 查看指定期数的奖励配置列表
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listRewardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看期数奖品
tags:
- 管理端.活动
post:
consumes:
- application/json
description: 为指定期数批量创建奖励配置
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createRewardsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建期数奖品
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}/rewards/{reward_id}:
delete:
consumes:
- application/json
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 奖励ID
in: path
name: reward_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除期数奖励
tags:
- 管理端.活动
put:
consumes:
- application/json
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 奖励ID
in: path
name: reward_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyRewardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 更新期数奖励
tags:
- 管理端.活动
/api/admin/activity_categories:
get:
consumes:
- application/json
description: 获取启用状态的活动分类列表
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listCategoriesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 活动分类列表
tags:
- 管理端.活动
/api/admin/banners:
get:
consumes:
- application/json
parameters:
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listBannersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看轮播图列表
tags:
- 管理端.运营
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createBannerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createBannerResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建轮播图
tags:
- 管理端.运营
/api/admin/banners/{banner_id}:
delete:
consumes:
- application/json
parameters:
- description: 轮播图ID
in: path
name: banner_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除轮播图
tags:
- 管理端.运营
put:
consumes:
- application/json
parameters:
- description: 轮播图ID
in: path
name: banner_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyBannerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改轮播图
tags:
- 管理端.运营
/api/admin/create:
post:
consumes:
- application/json
description: 新增客服
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createAdminRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createAdminResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 新增客服
tags:
- 管理端.客服管理
/api/admin/delete:
post:
consumes:
- application/json
description: 删除客服
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.deleteAdminRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.deleteAdminResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除客服
tags:
- 管理端.客服管理
/api/admin/guilds:
post:
consumes:
- application/json
description: 创建工会并将首位成员设为会长
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createGuildRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createGuildResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建工会
tags:
- 管理端.工会
/api/admin/guilds/{guild_id}:
delete:
consumes:
- application/json
description: 删除指定工会
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.deleteGuildResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除工会
tags:
- 管理端.工会
get:
consumes:
- application/json
description: 查看指定工会详情
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.Guild'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看工会详情
tags:
- 管理端.工会
put:
consumes:
- application/json
description: 修改指定工会信息
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyGuildRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.modifyGuildResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改工会
tags:
- 管理端.工会
/api/admin/guilds/{guild_id}/members:
get:
consumes:
- application/json
description: 查看指定工会的成员列表
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listGuildMembersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看工会成员
tags:
- 管理端.工会
/api/admin/list:
get:
consumes:
- application/json
description: 客服列表
parameters:
- description: 用户名
in: query
name: username
type: string
- description: 昵称
in: query
name: nickname
type: string
- default: 1
description: 当前页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页返回的数据量,最多 100 条
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 客服列表
tags:
- 管理端.客服管理
/api/admin/login:
post:
consumes:
- application/json
description: 管理员登录
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.loginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.loginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 管理员登录
tags:
- 管理端.登录
/api/admin/product_categories:
get:
consumes:
- application/json
parameters:
- description: 名称
in: query
name: name
type: string
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listProductCategoriesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看商品分类列表
tags:
- 管理端.商品
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createProductCategoryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createProductCategoryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建商品分类
tags:
- 管理端.商品
/api/admin/product_categories/{category_id}:
delete:
consumes:
- application/json
parameters:
- description: 分类ID
in: path
name: category_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除商品分类
tags:
- 管理端.商品
put:
consumes:
- application/json
parameters:
- description: 分类ID
in: path
name: category_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyProductCategoryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改商品分类
tags:
- 管理端.商品
/api/admin/products:
get:
consumes:
- application/json
parameters:
- description: 名称
in: query
name: name
type: string
- description: 分类ID
in: query
name: category_id
type: integer
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listProductsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看商品列表
tags:
- 管理端.商品
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createProductRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createProductResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建商品
tags:
- 管理端.商品
/api/admin/products/{product_id}:
delete:
consumes:
- application/json
parameters:
- description: 商品ID
in: path
name: product_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除商品
tags:
- 管理端.商品
put:
consumes:
- application/json
parameters:
- description: 商品ID
in: path
name: product_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyProductRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改商品
tags:
- 管理端.商品
/api/admin/system_item_cards:
get:
consumes:
- application/json
description: 管理员获取道具卡列表,支持按名称、状态、类型等条件筛选
parameters:
- description: 道具卡名称
in: query
name: name
type: string
- description: 状态1启用 2禁用
in: query
name: status
type: integer
- description: 道具卡类型1抽奖卡 2加成卡 3保底卡
in: query
name: card_type
type: integer
- description: 适用范围1全局 2活动分类 3活动 4期次
in: query
name: scope_type
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listItemCardsResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 获取道具卡列表
tags:
- 管理端.运营管理
post:
consumes:
- application/json
description: 管理员创建新的道具卡,支持设置类型、效果、有效期等属性
parameters:
- description: 创建道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createItemCardResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 创建道具卡
tags:
- 管理端.运营管理
/api/admin/system_item_cards/{item_card_id}:
delete:
consumes:
- application/json
description: 管理员删除指定的道具卡
parameters:
- description: 道具卡ID
in: path
name: item_card_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 删除道具卡
tags:
- 管理端.运营管理
put:
consumes:
- application/json
description: 管理员修改道具卡信息,支持修改名称、价格、有效期等属性
parameters:
- description: 道具卡ID
in: path
name: item_card_id
required: true
type: integer
- description: 修改道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 修改道具卡
tags:
- 管理端.运营管理
/api/admin/users:
get:
consumes:
- application/json
description: 查看APP端用户分页列表
parameters:
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listUsersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 管理端用户列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/coupons:
get:
consumes:
- application/json
description: 查看指定用户持有的优惠券列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listCouponsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户优惠券列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/coupons/add:
post:
consumes:
- application/json
description: 管理端为指定用户发放优惠券
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.addCouponRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.addCouponResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 给用户添加优惠券
tags:
- 管理端.用户
/api/admin/users/{user_id}/inventory:
get:
consumes:
- application/json
description: 查看指定用户的资产记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listInventoryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户资产列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/invites:
get:
consumes:
- application/json
description: 查看指定用户邀请的用户列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listInvitesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户邀请列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/item_cards:
post:
consumes:
- application/json
description: 管理员给指定用户分配道具卡,可指定数量
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 分配道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.assignItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 给用户分配道具卡
tags:
- 管理端.运营管理
/api/admin/users/{user_id}/orders:
get:
consumes:
- application/json
description: 查看指定用户的订单记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listOrdersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户订单列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/points:
get:
consumes:
- application/json
description: 查看指定用户的积分流水记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分记录
tags:
- 管理端.用户
/api/admin/users/{user_id}/points/add:
post:
consumes:
- application/json
description: 管理端为指定用户发放积分,支持设置有效期
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.addPointsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.addPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 给用户添加积分
tags:
- 管理端.用户
/api/admin/users/{user_id}/points/balance:
get:
consumes:
- application/json
description: 查看指定用户当前积分余额(过滤过期)
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pointsBalanceResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分余额
tags:
- 管理端.用户
/api/admin/users/{user_id}/rewards/grant:
post:
consumes:
- application/json
description: 管理员给用户发放奖励,支持实物和虚拟奖品,可选择关联活动和奖励配置
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.GrantRewardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.GrantRewardResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
"401":
description: Unauthorized
schema:
$ref: '#/definitions/code.Failure'
"403":
description: Forbidden
schema:
$ref: '#/definitions/code.Failure'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/code.Failure'
summary: 给用户发放奖励
tags:
- 管理端.用户
/api/app/activities:
get:
consumes:
- application/json
description: 获取活动列表支持分类、Boss、状态过滤与分页
parameters:
- description: 活动名称(模糊)
in: query
name: name
type: string
- description: 活动分类ID
in: query
name: category_id
type: integer
- description: 是否Boss(0/1)
in: query
name: is_boss
type: integer
- description: 状态(1进行中 2下线)
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listActivitiesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动列表
tags:
- APP端.活动
/api/app/activities/{activity_id}:
get:
consumes:
- application/json
description: 获取指定活动的详细信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.Activities'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动详情
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues:
get:
consumes:
- application/json
description: 获取指定活动的期列表,支持分页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listIssuesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动期列表
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/draw_logs:
get:
consumes:
- application/json
description: 查看指定活动期数的抽奖记录,支持分页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listDrawLogsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 抽奖记录列表
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/rewards:
get:
consumes:
- application/json
description: 获取指定期的奖励配置列表
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listRewardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 奖励配置列表
tags:
- APP端.活动
/api/app/banners:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAppBannersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: APP端轮播图列表
tags:
- APP端.运营
/api/app/guilds:
get:
consumes:
- application/json
description: 获取工会列表,支持公开与状态过滤以及分页
parameters:
- description: 工会名称(模糊)
in: query
name: name
type: string
- description: 是否公开(1公开 2私有)
in: query
name: is_open
type: integer
- description: 状态(1正常 2解散)
in: query
name: status
type: integer
- description: 加入方式(1审核 2自动 3消费流水)
in: query
name: join_mode
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listGuildsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 浏览工会列表
tags:
- APP端.工会
/api/app/guilds/{guild_id}:
get:
consumes:
- application/json
description: 查看指定工会详情
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.Guild'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看工会详情
tags:
- APP端.工会
/api/app/guilds/{guild_id}/members:
get:
consumes:
- application/json
description: 查看指定工会的成员列表
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listMembersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看工会成员
tags:
- APP端.工会
post:
consumes:
- application/json
description: 用户加入指定工会
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.joinGuildRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 加入工会
tags:
- APP端.工会
/api/app/guilds/{guild_id}/members/{user_id}:
delete:
consumes:
- application/json
description: 用户离开指定工会
parameters:
- description: 工会ID
in: path
name: guild_id
required: true
type: integer
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 离开工会
tags:
- APP端.工会
/api/app/users/{user_id}:
put:
consumes:
- application/json
description: 修改用户昵称与头像
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.modifyUserRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.modifyUserResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 修改用户信息
tags:
- APP端.用户
/api/app/users/{user_id}/coupons:
get:
consumes:
- application/json
description: 查看用户持有的优惠券列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listCouponsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看用户优惠券
tags:
- APP端.用户
/api/app/users/{user_id}/invites:
get:
consumes:
- application/json
description: 查看被该用户邀请的用户列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listInvitesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看用户邀请记录
tags:
- APP端.用户
/api/app/users/{user_id}/item_cards:
get:
consumes:
- application/json
description: 获取指定用户的道具卡列表,支持分页
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listUserItemCardsResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 获取用户道具卡列表
tags:
- APP端.用户
/api/app/users/{user_id}/item_cards/uses:
get:
consumes:
- application/json
description: 获取指定用户的道具卡使用记录,支持分页
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listUserItemCardUsesResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 获取用户道具卡使用记录
tags:
- APP端.用户
/api/app/users/{user_id}/orders:
get:
consumes:
- application/json
description: 查看用户抽奖来源订单记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listOrdersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看用户订单记录
tags:
- APP端.用户
/api/app/users/{user_id}/phone/bind:
post:
consumes:
- application/json
description: 使用微信手机号 code 换取手机号并绑定到指定用户
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.bindPhoneRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.bindPhoneResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 绑定手机号
tags:
- APP端.用户
/api/app/users/{user_id}/points:
get:
consumes:
- application/json
description: 查看用户积分流水记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看用户积分记录
tags:
- APP端.用户
/api/app/users/{user_id}/points/balance:
get:
consumes:
- application/json
description: 查看用户积分余额(过滤过期积分)
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.pointsBalanceResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 查看用户积分余额
tags:
- APP端.用户
/api/app/users/phone/login:
post:
consumes:
- application/json
description: 使用手机号登录,沿用 code 字段承载手机号或手机号授权码
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.phoneLoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.phoneLoginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 手机号登录
tags:
- APP端.用户
/api/app/users/weixin/login:
post:
consumes:
- application/json
description: 微信静默登录(需传递 code可选 invite_code
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.weixinLoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.weixinLoginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 微信登录
tags:
- APP端.用户
/api/role/list:
get:
consumes:
- application/json
parameters:
- default: 1
description: 页码
in: query
name: current
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: size
required: true
type: integer
- description: 角色名称
in: query
name: roleName
type: string
- description: 角色编码
in: query
name: roleCode
type: string
- description: 是否启用
in: query
name: enabled
type: boolean
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.roleListResponse'
security:
- LoginVerifyToken: []
summary: 角色列表
tags:
- 管理端.系统
/api/user/list:
get:
consumes:
- application/json
description: 返回系统用户分页数据
parameters:
- default: 1
description: 页码
in: query
name: current
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: size
required: true
type: integer
- description: 用户名
in: query
name: userName
type: string
- description: 邮箱
in: query
name: userEmail
type: string
- description: 手机号
in: query
name: userPhone
type: string
- description: 状态
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.userListResponse'
security:
- LoginVerifyToken: []
summary: 系统用户列表
tags:
- 管理端.系统
/api/v3/system/menus/simple:
get:
responses: {}
securityDefinitions:
LoginVerifyToken:
in: header
name: Authorization
type: apiKey
swagger: "2.0"