All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m57s
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
19340 lines
757 KiB
YAML
19340 lines
757 KiB
YAML
components:
|
||
schemas:
|
||
AppLoginRequest:
|
||
properties:
|
||
code:
|
||
type: string
|
||
phone:
|
||
type: string
|
||
type: object
|
||
AppLoginResponse:
|
||
properties:
|
||
customer:
|
||
$ref: '#/components/schemas/AppPersonalCustomerDTO'
|
||
token:
|
||
type: string
|
||
type: object
|
||
AppPersonalCustomerDTO:
|
||
properties:
|
||
avatar_url:
|
||
type: string
|
||
id:
|
||
minimum: 0
|
||
type: integer
|
||
nickname:
|
||
type: string
|
||
phone:
|
||
type: string
|
||
status:
|
||
type: integer
|
||
wx_open_id:
|
||
type: string
|
||
type: object
|
||
AppSendCodeRequest:
|
||
properties:
|
||
phone:
|
||
type: string
|
||
type: object
|
||
AppUpdateProfileRequest:
|
||
properties:
|
||
avatar_url:
|
||
type: string
|
||
nickname:
|
||
type: string
|
||
type: object
|
||
DtoAccountPageResult:
|
||
properties:
|
||
items:
|
||
description: 账号列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAccountResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoAccountResponse:
|
||
properties:
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
creator:
|
||
description: 创建人ID
|
||
minimum: 0
|
||
type: integer
|
||
enterprise_id:
|
||
description: 关联企业ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
enterprise_name:
|
||
description: 企业名称
|
||
type: string
|
||
id:
|
||
description: 账号ID
|
||
minimum: 0
|
||
type: integer
|
||
phone:
|
||
description: 手机号
|
||
type: string
|
||
shop_id:
|
||
description: 关联店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
updater:
|
||
description: 更新人ID
|
||
minimum: 0
|
||
type: integer
|
||
user_type:
|
||
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
|
||
type: integer
|
||
username:
|
||
description: 用户名
|
||
type: string
|
||
type: object
|
||
DtoAccountRoleResponse:
|
||
properties:
|
||
account_id:
|
||
description: 账号ID
|
||
minimum: 0
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
id:
|
||
description: 关联ID
|
||
minimum: 0
|
||
type: integer
|
||
role_id:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
type: object
|
||
DtoAccountRolesResponse:
|
||
properties:
|
||
account_id:
|
||
description: 账号ID
|
||
minimum: 0
|
||
type: integer
|
||
roles:
|
||
description: 角色列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoRoleResponse'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoAllocateCardsReq:
|
||
properties:
|
||
iccids:
|
||
description: 需要授权的 ICCID 列表
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 授权备注
|
||
type: string
|
||
required:
|
||
- iccids
|
||
type: object
|
||
DtoAllocateCardsResp:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoAllocateDevicesReq:
|
||
properties:
|
||
device_nos:
|
||
description: 设备号列表(最多100个)
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 授权备注
|
||
type: string
|
||
type: object
|
||
DtoAllocateDevicesRequest:
|
||
properties:
|
||
device_ids:
|
||
description: 设备ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
maxItems: 100
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 备注
|
||
maxLength: 500
|
||
type: string
|
||
target_shop_id:
|
||
description: 目标店铺ID
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- target_shop_id
|
||
- device_ids
|
||
type: object
|
||
DtoAllocateDevicesResp:
|
||
properties:
|
||
authorized_devices:
|
||
description: 已授权设备列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAuthorizedDeviceItem'
|
||
nullable: true
|
||
type: array
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败项列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoFailedDeviceItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoAllocateDevicesResponse:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAllocationDeviceFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoAllocateStandaloneCardsRequest:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号(selection_type=filter时可选)
|
||
maxLength: 100
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID(selection_type=filter时可选)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
iccid_end:
|
||
description: 结束ICCID(selection_type=range时必填)
|
||
maxLength: 20
|
||
type: string
|
||
iccid_start:
|
||
description: 起始ICCID(selection_type=range时必填)
|
||
maxLength: 20
|
||
type: string
|
||
iccids:
|
||
description: ICCID列表(selection_type=list时必填,最多1000个)
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 备注
|
||
maxLength: 500
|
||
type: string
|
||
selection_type:
|
||
description: 选卡方式 (list:ICCID列表, range:号段范围, filter:筛选条件)
|
||
enum:
|
||
- list
|
||
- range
|
||
- filter
|
||
type: string
|
||
status:
|
||
description: 卡状态 (1:在库, 2:已分销)(selection_type=filter时可选)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
to_shop_id:
|
||
description: 目标店铺ID
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- to_shop_id
|
||
- selection_type
|
||
type: object
|
||
DtoAllocateStandaloneCardsResponse:
|
||
properties:
|
||
allocation_no:
|
||
description: 分配单号
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
failed_items:
|
||
description: 失败项列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAllocationFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
total_count:
|
||
description: 待分配总数
|
||
type: integer
|
||
type: object
|
||
DtoAllocationDeviceFailedItem:
|
||
properties:
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoAllocationFailedItem:
|
||
properties:
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
type: object
|
||
DtoApproveWithdrawalReq:
|
||
properties:
|
||
account_name:
|
||
description: 修正后的收款人姓名
|
||
maxLength: 100
|
||
nullable: true
|
||
type: string
|
||
account_number:
|
||
description: 修正后的收款账号
|
||
maxLength: 100
|
||
nullable: true
|
||
type: string
|
||
amount:
|
||
description: 修正后的提现金额(分),不填则使用原金额
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
payment_type:
|
||
description: 放款类型(目前只支持manual人工打款)
|
||
type: string
|
||
remark:
|
||
description: 备注
|
||
maxLength: 500
|
||
type: string
|
||
withdrawal_method:
|
||
description: 修正后的收款类型 (alipay:支付宝, wechat:微信, bank:银行卡)
|
||
nullable: true
|
||
type: string
|
||
required:
|
||
- payment_type
|
||
type: object
|
||
DtoAssetAllocationRecordDetailResponse:
|
||
properties:
|
||
allocation_name:
|
||
description: 分配类型名称
|
||
type: string
|
||
allocation_no:
|
||
description: 分配单号
|
||
type: string
|
||
allocation_type:
|
||
description: 分配类型 (allocate:分配, recall:回收)
|
||
type: string
|
||
asset_id:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
asset_identifier:
|
||
description: 资产标识符(ICCID或设备号)
|
||
type: string
|
||
asset_type:
|
||
description: 资产类型 (iot_card:物联网卡, device:设备)
|
||
type: string
|
||
asset_type_name:
|
||
description: 资产类型名称
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
from_owner_id:
|
||
description: 来源所有者ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
from_owner_name:
|
||
description: 来源所有者名称
|
||
type: string
|
||
from_owner_type:
|
||
description: 来源所有者类型
|
||
type: string
|
||
id:
|
||
description: 记录ID
|
||
minimum: 0
|
||
type: integer
|
||
operator_id:
|
||
description: 操作人ID
|
||
minimum: 0
|
||
type: integer
|
||
operator_name:
|
||
description: 操作人名称
|
||
type: string
|
||
related_card_count:
|
||
description: 关联卡数量
|
||
type: integer
|
||
related_card_ids:
|
||
description: 关联卡ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
type: array
|
||
related_device_id:
|
||
description: 关联设备ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
remark:
|
||
description: 备注
|
||
type: string
|
||
to_owner_id:
|
||
description: 目标所有者ID
|
||
minimum: 0
|
||
type: integer
|
||
to_owner_name:
|
||
description: 目标所有者名称
|
||
type: string
|
||
to_owner_type:
|
||
description: 目标所有者类型
|
||
type: string
|
||
type: object
|
||
DtoAssetAllocationRecordResponse:
|
||
properties:
|
||
allocation_name:
|
||
description: 分配类型名称
|
||
type: string
|
||
allocation_no:
|
||
description: 分配单号
|
||
type: string
|
||
allocation_type:
|
||
description: 分配类型 (allocate:分配, recall:回收)
|
||
type: string
|
||
asset_id:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
asset_identifier:
|
||
description: 资产标识符(ICCID或设备号)
|
||
type: string
|
||
asset_type:
|
||
description: 资产类型 (iot_card:物联网卡, device:设备)
|
||
type: string
|
||
asset_type_name:
|
||
description: 资产类型名称
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
from_owner_id:
|
||
description: 来源所有者ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
from_owner_name:
|
||
description: 来源所有者名称
|
||
type: string
|
||
from_owner_type:
|
||
description: 来源所有者类型
|
||
type: string
|
||
id:
|
||
description: 记录ID
|
||
minimum: 0
|
||
type: integer
|
||
operator_id:
|
||
description: 操作人ID
|
||
minimum: 0
|
||
type: integer
|
||
operator_name:
|
||
description: 操作人名称
|
||
type: string
|
||
related_card_count:
|
||
description: 关联卡数量
|
||
type: integer
|
||
related_device_id:
|
||
description: 关联设备ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
remark:
|
||
description: 备注
|
||
type: string
|
||
to_owner_id:
|
||
description: 目标所有者ID
|
||
minimum: 0
|
||
type: integer
|
||
to_owner_name:
|
||
description: 目标所有者名称
|
||
type: string
|
||
to_owner_type:
|
||
description: 目标所有者类型
|
||
type: string
|
||
type: object
|
||
DtoAssetPackageResponse:
|
||
properties:
|
||
activated_at:
|
||
description: 激活时间(待生效套餐为空)
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
data_limit_mb:
|
||
description: 套餐真流量总量(MB)
|
||
type: integer
|
||
data_usage_mb:
|
||
description: 已用真流量(MB)
|
||
type: integer
|
||
expires_at:
|
||
description: 到期时间(待生效套餐为空)
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
master_usage_id:
|
||
description: 主套餐ID(加油包时有值)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
package_type:
|
||
description: 套餐类型:formal/addon
|
||
type: string
|
||
package_usage_id:
|
||
description: 套餐使用记录ID
|
||
minimum: 0
|
||
type: integer
|
||
priority:
|
||
description: 优先级
|
||
type: integer
|
||
status:
|
||
description: 状态:0待生效 1生效中 2已用完 3已过期 4已失效
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
usage_type:
|
||
description: 使用类型:single_card/device
|
||
type: string
|
||
virtual_limit_mb:
|
||
description: 套餐虚流量总量(MB),按virtual_ratio换算
|
||
type: integer
|
||
virtual_ratio:
|
||
description: 虚流量比例(real/virtual)
|
||
type: number
|
||
virtual_remain_mb:
|
||
description: 剩余虚流量(MB),按virtual_ratio换算
|
||
type: number
|
||
virtual_used_mb:
|
||
description: 已用虚流量(MB),按virtual_ratio换算
|
||
type: number
|
||
type: object
|
||
DtoAssetRealtimeStatusResponse:
|
||
properties:
|
||
asset_id:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
asset_type:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
cards:
|
||
description: 绑定卡状态列表(asset_type=device时有效)
|
||
items:
|
||
$ref: '#/components/schemas/DtoBoundCardInfo'
|
||
type: array
|
||
current_month_usage_mb:
|
||
description: 本月已用流量MB(asset_type=card时有效)
|
||
type: number
|
||
device_protect_status:
|
||
description: 保护期状态(asset_type=device时有效):none/stop/start
|
||
type: string
|
||
last_sync_time:
|
||
description: 最后同步时间(asset_type=card时有效)
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
network_status:
|
||
description: 网络状态(asset_type=card时有效):0停机 1开机
|
||
type: integer
|
||
real_name_status:
|
||
description: 实名状态(asset_type=card时有效)
|
||
type: integer
|
||
type: object
|
||
DtoAssetResolveResponse:
|
||
properties:
|
||
accumulated_recharge:
|
||
description: 累计充值金额(分)
|
||
type: integer
|
||
activated_at:
|
||
description: 激活时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
activation_status:
|
||
description: 激活状态
|
||
type: integer
|
||
asset_id:
|
||
description: 资产数据库ID
|
||
minimum: 0
|
||
type: integer
|
||
asset_type:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
bound_card_count:
|
||
description: 绑定的卡数量(asset_type=device时有效)
|
||
type: integer
|
||
bound_device_id:
|
||
description: 绑定的设备ID(asset_type=card时有效)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
bound_device_name:
|
||
description: 绑定的设备名称(asset_type=card时有效)
|
||
type: string
|
||
bound_device_no:
|
||
description: 绑定的设备虚拟号(asset_type=card时有效)
|
||
type: string
|
||
card_category:
|
||
description: 卡业务类型
|
||
type: string
|
||
cards:
|
||
description: 绑定的卡列表(asset_type=device时有效)
|
||
items:
|
||
$ref: '#/components/schemas/DtoBoundCardInfo'
|
||
type: array
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
current_package:
|
||
description: 当前套餐名称(无套餐时为空)
|
||
type: string
|
||
device_model:
|
||
description: 设备型号
|
||
type: string
|
||
device_name:
|
||
description: 设备名称
|
||
type: string
|
||
device_protect_status:
|
||
description: 设备保护期状态:none/stop/start(仅asset_type=device时有效)
|
||
type: string
|
||
device_type:
|
||
description: 设备类型
|
||
type: string
|
||
enable_polling:
|
||
description: 是否参与轮询
|
||
type: boolean
|
||
first_commission_paid:
|
||
description: 一次性佣金是否已发放
|
||
type: boolean
|
||
iccid:
|
||
description: 卡ICCID(asset_type=card时有效)
|
||
type: string
|
||
imei:
|
||
description: 设备IMEI
|
||
type: string
|
||
imsi:
|
||
description: IMSI
|
||
type: string
|
||
manufacturer:
|
||
description: 制造商
|
||
type: string
|
||
max_sim_slots:
|
||
description: 最大插槽数
|
||
type: integer
|
||
msisdn:
|
||
description: 手机号
|
||
type: string
|
||
network_status:
|
||
description: 网络状态:0停机 1开机(asset_type=card时有效)
|
||
type: integer
|
||
package_remain_mb:
|
||
description: 当前套餐剩余虚流量(MB),已按virtual_ratio换算
|
||
type: number
|
||
package_total_mb:
|
||
description: 当前套餐总虚流量(MB),已按virtual_ratio换算
|
||
type: integer
|
||
package_used_mb:
|
||
description: 当前已用虚流量(MB),已按virtual_ratio换算
|
||
type: number
|
||
real_name_status:
|
||
description: 实名状态:0未实名 1实名中 2已实名
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
type: string
|
||
shop_id:
|
||
description: 所属店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
shop_name:
|
||
description: 所属店铺名称
|
||
type: string
|
||
sn:
|
||
description: 设备序列号
|
||
type: string
|
||
status:
|
||
description: 资产状态
|
||
type: integer
|
||
supplier:
|
||
description: 供应商
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
virtual_no:
|
||
description: 虚拟号
|
||
type: string
|
||
type: object
|
||
DtoAssetWalletResponse:
|
||
properties:
|
||
available_balance:
|
||
description: 可用余额 = balance - frozen_balance(分)
|
||
type: integer
|
||
balance:
|
||
description: 总余额(分)
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间(RFC3339)
|
||
format: date-time
|
||
type: string
|
||
currency:
|
||
description: 币种,目前固定 CNY
|
||
type: string
|
||
frozen_balance:
|
||
description: 冻结余额(分)
|
||
type: integer
|
||
resource_id:
|
||
description: 对应卡或设备的数据库ID
|
||
minimum: 0
|
||
type: integer
|
||
resource_type:
|
||
description: 资源类型:iot_card 或 device
|
||
type: string
|
||
status:
|
||
description: 钱包状态:1-正常 2-冻结 3-关闭
|
||
type: integer
|
||
status_text:
|
||
description: 状态文本
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间(RFC3339)
|
||
format: date-time
|
||
type: string
|
||
wallet_id:
|
||
description: 钱包数据库ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoAssetWalletTransactionItem:
|
||
properties:
|
||
amount:
|
||
description: 变动金额(分),充值为正数,扣款/退款为负数
|
||
type: integer
|
||
balance_after:
|
||
description: 变动后余额(分)
|
||
type: integer
|
||
balance_before:
|
||
description: 变动前余额(分)
|
||
type: integer
|
||
created_at:
|
||
description: 流水创建时间(RFC3339)
|
||
format: date-time
|
||
type: string
|
||
id:
|
||
description: 流水记录ID
|
||
minimum: 0
|
||
type: integer
|
||
reference_no:
|
||
description: 关联业务编号:充值单号(CRCH…)或订单号(ORD…)(可空)
|
||
nullable: true
|
||
type: string
|
||
reference_type:
|
||
description: 关联业务类型:recharge 或 order(可空)
|
||
nullable: true
|
||
type: string
|
||
remark:
|
||
description: 备注(可空)
|
||
nullable: true
|
||
type: string
|
||
transaction_type:
|
||
description: 交易类型:recharge/deduct/refund
|
||
type: string
|
||
transaction_type_text:
|
||
description: 交易类型文本:充值/扣款/退款
|
||
type: string
|
||
type: object
|
||
DtoAssetWalletTransactionListResponse:
|
||
properties:
|
||
list:
|
||
description: 流水列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAssetWalletTransactionItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoAssignPermissionsParams:
|
||
properties:
|
||
perm_ids:
|
||
description: 权限ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
required:
|
||
- perm_ids
|
||
type: object
|
||
DtoAssignRolesParams:
|
||
properties:
|
||
role_ids:
|
||
description: 角色ID列表,传空数组可清空所有角色
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoAssignShopRolesRequest:
|
||
properties:
|
||
role_ids:
|
||
description: 角色ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoAuthorizationItem:
|
||
properties:
|
||
authorized_at:
|
||
description: 授权时间
|
||
format: date-time
|
||
type: string
|
||
authorized_by:
|
||
description: 授权人ID
|
||
minimum: 0
|
||
type: integer
|
||
authorizer_name:
|
||
description: 授权人名称
|
||
type: string
|
||
authorizer_type:
|
||
description: 授权人类型:2=平台,3=代理
|
||
type: integer
|
||
card_id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
enterprise_id:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
enterprise_name:
|
||
description: 企业名称
|
||
type: string
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
id:
|
||
description: 授权记录ID
|
||
minimum: 0
|
||
type: integer
|
||
msisdn:
|
||
description: 手机号
|
||
type: string
|
||
remark:
|
||
description: 备注
|
||
type: string
|
||
revoked_at:
|
||
description: 回收时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
revoked_by:
|
||
description: 回收人ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
revoker_name:
|
||
description: 回收人名称
|
||
type: string
|
||
status:
|
||
description: 状态:1=有效,0=已回收
|
||
type: integer
|
||
type: object
|
||
DtoAuthorizationListResp:
|
||
properties:
|
||
items:
|
||
description: 授权记录列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAuthorizationItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoAuthorizedDeviceItem:
|
||
properties:
|
||
card_count:
|
||
description: 绑定卡数量
|
||
type: integer
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoBatchAllocatePackagesRequest:
|
||
properties:
|
||
one_time_commission_amount:
|
||
description: 该代理能拿到的一次性佣金(分)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
price_adjustment:
|
||
$ref: '#/components/schemas/DtoPriceAdjustment'
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_id:
|
||
description: 被分配的店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- shop_id
|
||
- series_id
|
||
type: object
|
||
DtoBatchSetCardSeriesBindngRequest:
|
||
properties:
|
||
iccids:
|
||
description: ICCID列表
|
||
items:
|
||
type: string
|
||
maxItems: 500
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
series_id:
|
||
description: 套餐系列ID(0表示清除关联)
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- iccids
|
||
- series_id
|
||
type: object
|
||
DtoBatchSetCardSeriesBindngResponse:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoCardSeriesBindngFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoBatchSetDeviceSeriesBindngRequest:
|
||
properties:
|
||
device_ids:
|
||
description: 设备ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
maxItems: 500
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
series_id:
|
||
description: 套餐系列ID(0表示清除关联)
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- device_ids
|
||
- series_id
|
||
type: object
|
||
DtoBatchSetDeviceSeriesBindngResponse:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceSeriesBindngFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoBatchUpdateCostPriceRequest:
|
||
properties:
|
||
change_reason:
|
||
description: 变更原因
|
||
maxLength: 255
|
||
type: string
|
||
price_adjustment:
|
||
$ref: '#/components/schemas/DtoPriceAdjustment'
|
||
series_id:
|
||
description: 套餐系列ID(可选,不填则调整所有)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- shop_id
|
||
- price_adjustment
|
||
type: object
|
||
DtoBatchUpdateCostPriceResponse:
|
||
properties:
|
||
affected_ids:
|
||
description: 受影响的分配ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
nullable: true
|
||
type: array
|
||
updated_count:
|
||
description: 更新数量
|
||
type: integer
|
||
type: object
|
||
DtoBindCardToDeviceRequest:
|
||
properties:
|
||
iot_card_id:
|
||
description: IoT卡ID
|
||
minimum: 1
|
||
type: integer
|
||
slot_position:
|
||
description: 插槽位置 (1-4)
|
||
maximum: 4
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- iot_card_id
|
||
- slot_position
|
||
type: object
|
||
DtoBindCardToDeviceResponse:
|
||
properties:
|
||
binding_id:
|
||
description: 绑定记录ID
|
||
minimum: 0
|
||
type: integer
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
type: object
|
||
DtoBoundCardInfo:
|
||
properties:
|
||
card_id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
msisdn:
|
||
description: 手机号
|
||
type: string
|
||
network_status:
|
||
description: 网络状态:0停机 1开机
|
||
type: integer
|
||
real_name_status:
|
||
description: 实名状态
|
||
type: integer
|
||
slot_position:
|
||
description: 插槽位置
|
||
type: integer
|
||
type: object
|
||
DtoCancelTriggerReq:
|
||
properties:
|
||
trigger_id:
|
||
description: 触发任务ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoCardSeriesBindngFailedItem:
|
||
properties:
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
type: object
|
||
DtoCarrierPageResult:
|
||
properties:
|
||
list:
|
||
description: 运营商列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoCarrierResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoCarrierResponse:
|
||
properties:
|
||
carrier_code:
|
||
description: 运营商编码
|
||
type: string
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
description:
|
||
description: 运营商描述
|
||
type: string
|
||
id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
status:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
type: object
|
||
DtoChangePasswordRequest:
|
||
properties:
|
||
new_password:
|
||
type: string
|
||
old_password:
|
||
type: string
|
||
type: object
|
||
DtoCommissionStatsResponse:
|
||
properties:
|
||
cost_diff_amount:
|
||
description: 成本价差收入(分)
|
||
type: integer
|
||
cost_diff_count:
|
||
description: 成本价差笔数
|
||
type: integer
|
||
cost_diff_percent:
|
||
description: 成本价差占比(千分比)
|
||
type: integer
|
||
one_time_amount:
|
||
description: 一次性佣金收入(分)
|
||
type: integer
|
||
one_time_count:
|
||
description: 一次性佣金笔数
|
||
type: integer
|
||
one_time_percent:
|
||
description: 一次性佣金占比(千分比)
|
||
type: integer
|
||
total_amount:
|
||
description: 总收入(分)
|
||
type: integer
|
||
total_count:
|
||
description: 总笔数
|
||
type: integer
|
||
type: object
|
||
DtoCommissionTierInfo:
|
||
properties:
|
||
current_rate:
|
||
description: 当前返佣比例
|
||
type: string
|
||
next_rate:
|
||
description: 下一档位返佣比例
|
||
type: string
|
||
next_threshold:
|
||
description: 下一档位阈值
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoCreateAccountRequest:
|
||
properties:
|
||
enterprise_id:
|
||
description: 关联企业ID(企业账号必填)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
password:
|
||
description: 密码
|
||
maxLength: 32
|
||
minLength: 8
|
||
type: string
|
||
phone:
|
||
description: 手机号
|
||
maxLength: 11
|
||
minLength: 11
|
||
type: string
|
||
shop_id:
|
||
description: 关联店铺ID(代理账号必填)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
user_type:
|
||
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
|
||
maximum: 4
|
||
minimum: 1
|
||
type: integer
|
||
username:
|
||
description: 用户名
|
||
maxLength: 50
|
||
minLength: 3
|
||
type: string
|
||
required:
|
||
- username
|
||
- phone
|
||
- password
|
||
- user_type
|
||
type: object
|
||
DtoCreateCarrierRequest:
|
||
properties:
|
||
carrier_code:
|
||
description: 运营商编码
|
||
maxLength: 50
|
||
minLength: 1
|
||
type: string
|
||
carrier_name:
|
||
description: 运营商名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
type: string
|
||
description:
|
||
description: 运营商描述
|
||
maxLength: 500
|
||
type: string
|
||
required:
|
||
- carrier_code
|
||
- carrier_name
|
||
- carrier_type
|
||
type: object
|
||
DtoCreateDataCleanupConfigReq:
|
||
properties:
|
||
batch_size:
|
||
description: 每批删除条数,默认10000
|
||
type: integer
|
||
description:
|
||
description: 配置说明
|
||
type: string
|
||
retention_days:
|
||
description: 保留天数,最少7天
|
||
type: integer
|
||
table_name:
|
||
description: 表名
|
||
type: string
|
||
type: object
|
||
DtoCreateEnterpriseReq:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
maximum: 255
|
||
type: string
|
||
business_license:
|
||
description: 营业执照号
|
||
maximum: 100
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
maximum: 50
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
maximum: 50
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
maximum: 20
|
||
type: string
|
||
district:
|
||
description: 区县
|
||
maximum: 50
|
||
type: string
|
||
enterprise_code:
|
||
description: 企业编号(唯一)
|
||
maximum: 50
|
||
type: string
|
||
enterprise_name:
|
||
description: 企业名称
|
||
maximum: 100
|
||
type: string
|
||
legal_person:
|
||
description: 法人代表
|
||
maximum: 50
|
||
type: string
|
||
login_phone:
|
||
description: 登录手机号(作为企业账号)
|
||
type: string
|
||
owner_shop_id:
|
||
description: 归属店铺ID(可不填则归属平台)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
password:
|
||
description: 登录密码
|
||
maximum: 20
|
||
minimum: 6
|
||
type: string
|
||
province:
|
||
description: 省份
|
||
maximum: 50
|
||
type: string
|
||
required:
|
||
- enterprise_name
|
||
- enterprise_code
|
||
- contact_name
|
||
- contact_phone
|
||
- login_phone
|
||
- password
|
||
type: object
|
||
DtoCreateEnterpriseResp:
|
||
properties:
|
||
account_id:
|
||
description: 账号ID
|
||
minimum: 0
|
||
type: integer
|
||
enterprise:
|
||
$ref: '#/components/schemas/DtoEnterpriseItem'
|
||
type: object
|
||
DtoCreateMyWithdrawalReq:
|
||
properties:
|
||
account_name:
|
||
description: 收款人姓名
|
||
maximum: 50
|
||
type: string
|
||
account_number:
|
||
description: 收款账号
|
||
maximum: 100
|
||
type: string
|
||
amount:
|
||
description: 提现金额(分)
|
||
minimum: 1
|
||
type: integer
|
||
withdrawal_method:
|
||
description: 收款类型
|
||
enum:
|
||
- alipay
|
||
type: string
|
||
required:
|
||
- amount
|
||
- withdrawal_method
|
||
- account_name
|
||
- account_number
|
||
type: object
|
||
DtoCreateMyWithdrawalResp:
|
||
properties:
|
||
actual_amount:
|
||
description: 实际到账金额(分)
|
||
type: integer
|
||
amount:
|
||
description: 提现金额(分)
|
||
type: integer
|
||
created_at:
|
||
description: 申请时间
|
||
type: string
|
||
fee:
|
||
description: 手续费(分)
|
||
type: integer
|
||
fee_rate:
|
||
description: 手续费比率(基点)
|
||
type: integer
|
||
id:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
status:
|
||
description: 状态
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
withdrawal_no:
|
||
description: 提现单号
|
||
type: string
|
||
type: object
|
||
DtoCreateOrderRequest:
|
||
properties:
|
||
device_id:
|
||
description: 设备ID(设备购买时必填)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
iot_card_id:
|
||
description: IoT卡ID(单卡购买时必填)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
order_type:
|
||
description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
type: string
|
||
package_ids:
|
||
description: 套餐ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
maxItems: 10
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
payment_method:
|
||
description: 支付方式 (wallet:钱包支付, wechat:微信支付, alipay:支付宝支付)
|
||
type: string
|
||
required:
|
||
- order_type
|
||
- package_ids
|
||
- payment_method
|
||
type: object
|
||
DtoCreatePackageRequest:
|
||
properties:
|
||
calendar_type:
|
||
description: 套餐周期类型 (natural_month:自然月, by_day:按天)
|
||
nullable: true
|
||
type: string
|
||
cost_price:
|
||
description: 成本价(分)
|
||
minimum: 0
|
||
type: integer
|
||
data_reset_cycle:
|
||
description: 流量重置周期 (daily:每日, monthly:每月, yearly:每年, none:不重置)
|
||
nullable: true
|
||
type: string
|
||
duration_days:
|
||
description: 套餐天数(calendar_type=by_day时必填)
|
||
maximum: 3650
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
duration_months:
|
||
description: 套餐时长(月数)
|
||
maximum: 120
|
||
minimum: 1
|
||
type: integer
|
||
enable_realname_activation:
|
||
description: 是否启用实名激活 (true:需实名后激活, false:立即激活)
|
||
nullable: true
|
||
type: boolean
|
||
enable_virtual_data:
|
||
description: 是否启用虚流量
|
||
type: boolean
|
||
package_code:
|
||
description: 套餐编码
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
package_name:
|
||
description: 套餐名称
|
||
maxLength: 255
|
||
minLength: 1
|
||
type: string
|
||
package_type:
|
||
description: 套餐类型 (formal:正式套餐, addon:附加套餐)
|
||
type: string
|
||
real_data_mb:
|
||
description: 真流量额度(MB)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
suggested_retail_price:
|
||
description: 建议售价(分)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
virtual_data_mb:
|
||
description: 虚流量额度(MB)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
required:
|
||
- package_code
|
||
- package_name
|
||
- package_type
|
||
- duration_months
|
||
- cost_price
|
||
type: object
|
||
DtoCreatePackageSeriesRequest:
|
||
properties:
|
||
description:
|
||
description: 描述
|
||
maxLength: 500
|
||
type: string
|
||
enable_one_time_commission:
|
||
description: 是否启用一次性佣金
|
||
nullable: true
|
||
type: boolean
|
||
one_time_commission_config:
|
||
$ref: '#/components/schemas/DtoSeriesOneTimeCommissionConfigDTO'
|
||
series_code:
|
||
description: 系列编码
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
series_name:
|
||
description: 系列名称
|
||
maxLength: 255
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- series_code
|
||
- series_name
|
||
type: object
|
||
DtoCreatePermissionRequest:
|
||
properties:
|
||
parent_id:
|
||
description: 父权限ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
perm_code:
|
||
description: 权限编码
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
perm_name:
|
||
description: 权限名称
|
||
maxLength: 50
|
||
minLength: 1
|
||
type: string
|
||
perm_type:
|
||
description: 权限类型 (1:菜单, 2:按钮)
|
||
maximum: 2
|
||
minimum: 1
|
||
type: integer
|
||
platform:
|
||
description: 适用端口 (all:全部, web:Web后台, h5:H5端),默认为 all
|
||
type: string
|
||
sort:
|
||
description: 排序值
|
||
minimum: 0
|
||
type: integer
|
||
url:
|
||
description: 请求路径
|
||
maxLength: 255
|
||
type: string
|
||
required:
|
||
- perm_name
|
||
- perm_code
|
||
- perm_type
|
||
type: object
|
||
DtoCreatePollingAlertRuleReq:
|
||
properties:
|
||
alert_level:
|
||
description: 告警级别 (warning/critical)
|
||
type: string
|
||
cooldown_minutes:
|
||
description: 冷却时间(分钟),默认5分钟
|
||
type: integer
|
||
metric_type:
|
||
description: 指标类型 (queue_size/success_rate/avg_duration/concurrency)
|
||
type: string
|
||
notify_channels:
|
||
description: 通知渠道(JSON格式)
|
||
type: string
|
||
operator:
|
||
description: 比较运算符,默认 >
|
||
type: string
|
||
rule_name:
|
||
description: 规则名称
|
||
type: string
|
||
task_type:
|
||
description: 任务类型 (polling:realname/polling:carddata/polling:package)
|
||
type: string
|
||
threshold:
|
||
description: 阈值
|
||
type: number
|
||
type: object
|
||
DtoCreatePollingConfigRequest:
|
||
properties:
|
||
card_category:
|
||
description: 卡业务类型 (normal:普通卡, industry:行业卡)
|
||
type: string
|
||
card_condition:
|
||
description: 卡状态条件 (not_real_name:未实名, real_name:已实名, activated:已激活, suspended:已停用)
|
||
type: string
|
||
carddata_check_interval:
|
||
description: 流量检查间隔(秒),NULL表示不检查,最小60秒
|
||
minimum: 60
|
||
nullable: true
|
||
type: integer
|
||
carrier_id:
|
||
description: 运营商ID(可选,精确匹配)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
config_name:
|
||
description: 配置名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
description:
|
||
description: 配置说明
|
||
maxLength: 500
|
||
type: string
|
||
package_check_interval:
|
||
description: 套餐检查间隔(秒),NULL表示不检查,最小60秒
|
||
minimum: 60
|
||
nullable: true
|
||
type: integer
|
||
priority:
|
||
description: 优先级(数字越小优先级越高)
|
||
maximum: 1000
|
||
minimum: 1
|
||
type: integer
|
||
realname_check_interval:
|
||
description: 实名检查间隔(秒),NULL表示不检查,最小30秒
|
||
minimum: 30
|
||
nullable: true
|
||
type: integer
|
||
required:
|
||
- config_name
|
||
- priority
|
||
type: object
|
||
DtoCreateRechargeRequest:
|
||
properties:
|
||
amount:
|
||
description: 充值金额(分)
|
||
type: integer
|
||
payment_method:
|
||
description: 支付方式
|
||
type: string
|
||
resource_id:
|
||
description: 资源ID
|
||
minimum: 0
|
||
type: integer
|
||
resource_type:
|
||
description: 资源类型
|
||
type: string
|
||
type: object
|
||
DtoCreateRoleRequest:
|
||
properties:
|
||
role_desc:
|
||
description: 角色描述
|
||
maxLength: 255
|
||
type: string
|
||
role_name:
|
||
description: 角色名称
|
||
maxLength: 50
|
||
minLength: 1
|
||
type: string
|
||
role_type:
|
||
description: 角色类型 (1:平台角色, 2:客户角色)
|
||
maximum: 2
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- role_name
|
||
- role_type
|
||
type: object
|
||
DtoCreateShopRequest:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
maxLength: 255
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
maxLength: 50
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
maxLength: 50
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
maxLength: 11
|
||
minLength: 11
|
||
type: string
|
||
default_role_id:
|
||
description: 店铺默认角色ID(必须是客户角色)
|
||
minimum: 1
|
||
type: integer
|
||
district:
|
||
description: 区县
|
||
maxLength: 50
|
||
type: string
|
||
init_password:
|
||
description: 初始账号密码
|
||
maxLength: 32
|
||
minLength: 8
|
||
type: string
|
||
init_phone:
|
||
description: 初始账号手机号
|
||
maxLength: 11
|
||
minLength: 11
|
||
type: string
|
||
init_username:
|
||
description: 初始账号用户名
|
||
maxLength: 50
|
||
minLength: 3
|
||
type: string
|
||
parent_id:
|
||
description: 上级店铺ID(一级店铺可不填)
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
province:
|
||
description: 省份
|
||
maxLength: 50
|
||
type: string
|
||
shop_code:
|
||
description: 店铺编号
|
||
maxLength: 50
|
||
minLength: 1
|
||
type: string
|
||
shop_name:
|
||
description: 店铺名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- shop_name
|
||
- shop_code
|
||
- default_role_id
|
||
- init_password
|
||
- init_username
|
||
- init_phone
|
||
type: object
|
||
DtoCreateShopSeriesGrantRequest:
|
||
properties:
|
||
commission_tiers:
|
||
description: 梯度模式阶梯配置,梯度模式必填
|
||
items:
|
||
$ref: '#/components/schemas/DtoGrantCommissionTierItem'
|
||
type: array
|
||
enable_force_recharge:
|
||
description: 是否启用代理强充
|
||
nullable: true
|
||
type: boolean
|
||
force_recharge_amount:
|
||
description: 代理强充金额(分)
|
||
nullable: true
|
||
type: integer
|
||
one_time_commission_amount:
|
||
description: 固定模式佣金金额(分),固定模式必填
|
||
nullable: true
|
||
type: integer
|
||
packages:
|
||
description: 初始授权套餐列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoGrantPackageItem'
|
||
type: array
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_id:
|
||
description: 被授权代理店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoCreateWithdrawalSettingReq:
|
||
properties:
|
||
daily_withdrawal_limit:
|
||
description: 每日提现次数限制
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
fee_rate:
|
||
description: 手续费比率(基点,100=1%)
|
||
maximum: 10000
|
||
minimum: 0
|
||
type: integer
|
||
min_withdrawal_amount:
|
||
description: 最低提现金额(分)
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- daily_withdrawal_limit
|
||
- min_withdrawal_amount
|
||
- fee_rate
|
||
type: object
|
||
DtoDailyCommissionStatsResponse:
|
||
properties:
|
||
date:
|
||
description: 日期(YYYY-MM-DD)
|
||
type: string
|
||
total_amount:
|
||
description: 当日总收入(分)
|
||
type: integer
|
||
total_count:
|
||
description: 当日总笔数
|
||
type: integer
|
||
type: object
|
||
DtoDataCleanupConfigListResp:
|
||
properties:
|
||
items:
|
||
description: 配置列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDataCleanupConfigResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoDataCleanupConfigResp:
|
||
properties:
|
||
batch_size:
|
||
description: 每批删除条数
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
description:
|
||
description: 配置说明
|
||
type: string
|
||
enabled:
|
||
description: 是否启用:0-禁用,1-启用
|
||
type: integer
|
||
id:
|
||
description: 配置ID
|
||
minimum: 0
|
||
type: integer
|
||
retention_days:
|
||
description: 保留天数
|
||
type: integer
|
||
table_name:
|
||
description: 表名
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
updated_by:
|
||
description: 更新人ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoDataCleanupLogListResp:
|
||
properties:
|
||
items:
|
||
description: 日志列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDataCleanupLogResp'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoDataCleanupLogResp:
|
||
properties:
|
||
cleanup_type:
|
||
description: 清理类型:scheduled/manual
|
||
type: string
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
deleted_count:
|
||
description: 删除记录数
|
||
type: integer
|
||
duration_ms:
|
||
description: 执行耗时(毫秒)
|
||
type: integer
|
||
error_message:
|
||
description: 错误信息
|
||
type: string
|
||
id:
|
||
description: 日志ID
|
||
minimum: 0
|
||
type: integer
|
||
retention_days:
|
||
description: 保留天数
|
||
type: integer
|
||
started_at:
|
||
description: 开始时间
|
||
format: date-time
|
||
type: string
|
||
status:
|
||
description: 状态:success/failed/running
|
||
type: string
|
||
table_name:
|
||
description: 表名
|
||
type: string
|
||
triggered_by:
|
||
description: 触发人ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoDataCleanupPreviewItem:
|
||
properties:
|
||
description:
|
||
description: 配置说明
|
||
type: string
|
||
record_count:
|
||
description: 待清理记录数
|
||
type: integer
|
||
retention_days:
|
||
description: 保留天数
|
||
type: integer
|
||
table_name:
|
||
description: 表名
|
||
type: string
|
||
type: object
|
||
DtoDataCleanupPreviewResp:
|
||
properties:
|
||
items:
|
||
description: 预览列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDataCleanupPreviewItem'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoDataCleanupProgressResp:
|
||
properties:
|
||
current_table:
|
||
description: 当前清理的表
|
||
type: string
|
||
is_running:
|
||
description: 是否正在运行
|
||
type: boolean
|
||
last_log:
|
||
$ref: '#/components/schemas/DtoDataCleanupLogResp'
|
||
processed_tables:
|
||
description: 已处理表数
|
||
type: integer
|
||
started_at:
|
||
description: 开始时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
total_deleted:
|
||
description: 已删除记录数
|
||
type: integer
|
||
total_tables:
|
||
description: 总表数
|
||
type: integer
|
||
type: object
|
||
DtoDeviceCardBindingResponse:
|
||
properties:
|
||
bind_time:
|
||
description: 绑定时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
id:
|
||
description: 绑定记录ID
|
||
minimum: 0
|
||
type: integer
|
||
iot_card_id:
|
||
description: IoT卡ID
|
||
minimum: 0
|
||
type: integer
|
||
msisdn:
|
||
description: 接入号
|
||
type: string
|
||
slot_position:
|
||
description: 插槽位置 (1-4)
|
||
type: integer
|
||
status:
|
||
description: 卡状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
type: integer
|
||
type: object
|
||
DtoDeviceCardInfo:
|
||
properties:
|
||
card_id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
msisdn:
|
||
description: 手机号
|
||
type: string
|
||
network_status:
|
||
description: 网络状态:0=停机 1=开机
|
||
type: integer
|
||
network_status_name:
|
||
description: 网络状态名称
|
||
type: string
|
||
type: object
|
||
DtoDeviceImportResultItemDTO:
|
||
properties:
|
||
line:
|
||
description: 行号
|
||
type: integer
|
||
reason:
|
||
description: 原因
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoDeviceImportTaskDetailResponse:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
error_message:
|
||
description: 错误信息
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
failed_items:
|
||
description: 失败记录详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceImportResultItemDTO'
|
||
nullable: true
|
||
type: array
|
||
file_name:
|
||
description: 文件名
|
||
type: string
|
||
id:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
skip_count:
|
||
description: 跳过数
|
||
type: integer
|
||
skipped_items:
|
||
description: 跳过记录详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceImportResultItemDTO'
|
||
nullable: true
|
||
type: array
|
||
started_at:
|
||
description: 开始处理时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
type: integer
|
||
status_text:
|
||
description: 任务状态文本
|
||
type: string
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
total_count:
|
||
description: 总数
|
||
type: integer
|
||
warning_count:
|
||
description: 警告数(部分成功的设备数量)
|
||
type: integer
|
||
warning_items:
|
||
description: 警告记录详情(部分成功的设备及其卡绑定失败原因)
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceImportResultItemDTO'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoDeviceImportTaskResponse:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
error_message:
|
||
description: 错误信息
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
file_name:
|
||
description: 文件名
|
||
type: string
|
||
id:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
skip_count:
|
||
description: 跳过数
|
||
type: integer
|
||
started_at:
|
||
description: 开始处理时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
type: integer
|
||
status_text:
|
||
description: 任务状态文本
|
||
type: string
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
total_count:
|
||
description: 总数
|
||
type: integer
|
||
warning_count:
|
||
description: 警告数(部分成功的设备数量)
|
||
type: integer
|
||
type: object
|
||
DtoDeviceResponse:
|
||
properties:
|
||
accumulated_recharge:
|
||
description: 累计充值金额(分)
|
||
type: integer
|
||
activated_at:
|
||
description: 激活时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
bound_card_count:
|
||
description: 已绑定卡数量
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
device_model:
|
||
description: 设备型号
|
||
type: string
|
||
device_name:
|
||
description: 设备名称
|
||
type: string
|
||
device_type:
|
||
description: 设备类型
|
||
type: string
|
||
first_commission_paid:
|
||
description: 一次性佣金是否已发放
|
||
type: boolean
|
||
id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
imei:
|
||
description: 设备IMEI
|
||
type: string
|
||
manufacturer:
|
||
description: 制造商
|
||
type: string
|
||
max_sim_slots:
|
||
description: 最大插槽数
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
sn:
|
||
description: 设备序列号
|
||
type: string
|
||
status:
|
||
description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号/别名
|
||
type: string
|
||
type: object
|
||
DtoDeviceSeriesBindngFailedItem:
|
||
properties:
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoDeviceSuspendFailItem:
|
||
properties:
|
||
iccid:
|
||
description: 卡ICCID
|
||
type: string
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
type: object
|
||
DtoDeviceSuspendResponse:
|
||
properties:
|
||
fail_count:
|
||
description: 失败卡数
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceSuspendFailItem'
|
||
type: array
|
||
skip_count:
|
||
description: 跳过卡数(未实名或已停机)
|
||
type: integer
|
||
success_count:
|
||
description: 成功停机卡数
|
||
type: integer
|
||
type: object
|
||
DtoEmptyResponse:
|
||
properties:
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
type: object
|
||
DtoEnterpriseCardItem:
|
||
properties:
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
msisdn:
|
||
description: 手机号
|
||
type: string
|
||
network_status:
|
||
description: 网络状态
|
||
type: integer
|
||
network_status_name:
|
||
description: 网络状态名称
|
||
type: string
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
status:
|
||
description: 状态
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoEnterpriseCardPageResult:
|
||
properties:
|
||
items:
|
||
description: 卡列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoEnterpriseCardItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoEnterpriseDeviceDetailResp:
|
||
properties:
|
||
cards:
|
||
description: 绑定卡列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceCardInfo'
|
||
nullable: true
|
||
type: array
|
||
device:
|
||
$ref: '#/components/schemas/DtoEnterpriseDeviceInfo'
|
||
type: object
|
||
DtoEnterpriseDeviceInfo:
|
||
properties:
|
||
authorized_at:
|
||
description: 授权时间
|
||
format: date-time
|
||
type: string
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
device_model:
|
||
description: 设备型号
|
||
type: string
|
||
device_name:
|
||
description: 设备名称
|
||
type: string
|
||
device_type:
|
||
description: 设备类型
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoEnterpriseDeviceItem:
|
||
properties:
|
||
authorized_at:
|
||
description: 授权时间
|
||
format: date-time
|
||
type: string
|
||
card_count:
|
||
description: 绑定卡数量
|
||
type: integer
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
device_model:
|
||
description: 设备型号
|
||
type: string
|
||
device_name:
|
||
description: 设备名称
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoEnterpriseDeviceListResp:
|
||
properties:
|
||
list:
|
||
description: 设备列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoEnterpriseDeviceItem'
|
||
nullable: true
|
||
type: array
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
type: object
|
||
DtoEnterpriseItem:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
type: string
|
||
business_license:
|
||
description: 营业执照号
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
district:
|
||
description: 区县
|
||
type: string
|
||
enterprise_code:
|
||
description: 企业编号
|
||
type: string
|
||
enterprise_name:
|
||
description: 企业名称
|
||
type: string
|
||
id:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
legal_person:
|
||
description: 法人代表
|
||
type: string
|
||
login_phone:
|
||
description: 登录手机号
|
||
type: string
|
||
owner_shop_id:
|
||
description: 归属店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
owner_shop_name:
|
||
description: 归属店铺名称
|
||
type: string
|
||
province:
|
||
description: 省份
|
||
type: string
|
||
status:
|
||
description: 状态(0=禁用, 1=启用)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
type: object
|
||
DtoEnterprisePageResult:
|
||
properties:
|
||
items:
|
||
description: 企业列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoEnterpriseItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoFailedDeviceItem:
|
||
properties:
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoFailedItem:
|
||
properties:
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
reason:
|
||
description: 失败原因
|
||
type: string
|
||
type: object
|
||
DtoGetUploadURLRequest:
|
||
properties:
|
||
content_type:
|
||
description: 文件 MIME 类型(如:text/csv),留空则自动推断
|
||
maxLength: 100
|
||
type: string
|
||
file_name:
|
||
description: 文件名(如:cards.csv)
|
||
maxLength: 255
|
||
minLength: 1
|
||
type: string
|
||
purpose:
|
||
description: 文件用途 (iot_import:ICCID导入, export:数据导出, attachment:附件)
|
||
type: string
|
||
required:
|
||
- file_name
|
||
- purpose
|
||
type: object
|
||
DtoGetUploadURLResponse:
|
||
properties:
|
||
expires_in:
|
||
description: URL 有效期(秒)
|
||
type: integer
|
||
file_key:
|
||
description: 文件路径标识,上传成功后用于调用业务接口
|
||
type: string
|
||
upload_url:
|
||
description: 预签名上传 URL,使用 PUT 方法上传文件
|
||
type: string
|
||
type: object
|
||
DtoGrantCommissionTierItem:
|
||
properties:
|
||
amount:
|
||
description: 该代理在此档位的佣金金额(分)
|
||
type: integer
|
||
dimension:
|
||
description: 统计维度(sales_count:销售量, sales_amount:销售额),来自 PackageSeries 全局配置,响应中只读
|
||
type: string
|
||
operator:
|
||
description: 比较运算符(>、>=、<、<=),响应中从 PackageSeries 合并,请求中不传
|
||
type: string
|
||
stat_scope:
|
||
description: 统计范围(self:仅自己, self_and_sub:自己+下级),来自 PackageSeries 全局配置,响应中只读
|
||
type: string
|
||
threshold:
|
||
description: 阈值(与 PackageSeries 全局配置对应)
|
||
type: integer
|
||
type: object
|
||
DtoGrantPackageItem:
|
||
properties:
|
||
cost_price:
|
||
description: 成本价(分)
|
||
type: integer
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
remove:
|
||
description: 是否删除该套餐授权(true=删除)
|
||
nullable: true
|
||
type: boolean
|
||
type: object
|
||
DtoImportDeviceRequest:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
maxLength: 100
|
||
type: string
|
||
file_key:
|
||
description: 对象存储文件路径(通过 /storage/upload-url 获取)
|
||
maxLength: 500
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- file_key
|
||
type: object
|
||
DtoImportDeviceResponse:
|
||
properties:
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
task_id:
|
||
description: 导入任务ID
|
||
minimum: 0
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
type: object
|
||
DtoImportIotCardRequest:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
maxLength: 100
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 1
|
||
type: integer
|
||
file_key:
|
||
description: 对象存储文件路径(通过 /storage/upload-url 获取)
|
||
maxLength: 500
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- carrier_id
|
||
- file_key
|
||
type: object
|
||
DtoImportIotCardResponse:
|
||
properties:
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
task_id:
|
||
description: 导入任务ID
|
||
minimum: 0
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
type: object
|
||
DtoImportResultItemDTO:
|
||
properties:
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
line:
|
||
description: 行号
|
||
type: integer
|
||
msisdn:
|
||
description: 接入号
|
||
type: string
|
||
reason:
|
||
description: 原因
|
||
type: string
|
||
type: object
|
||
DtoImportTaskDetailResponse:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
type: string
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
error_message:
|
||
description: 错误信息
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
failed_items:
|
||
description: 失败记录详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoImportResultItemDTO'
|
||
nullable: true
|
||
type: array
|
||
file_name:
|
||
description: 文件名
|
||
type: string
|
||
id:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
skip_count:
|
||
description: 跳过数
|
||
type: integer
|
||
skipped_items:
|
||
description: 跳过记录详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoImportResultItemDTO'
|
||
nullable: true
|
||
type: array
|
||
started_at:
|
||
description: 开始处理时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
type: integer
|
||
status_text:
|
||
description: 任务状态文本
|
||
type: string
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
total_count:
|
||
description: 总数
|
||
type: integer
|
||
type: object
|
||
DtoImportTaskResponse:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
type: string
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
error_message:
|
||
description: 错误信息
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
file_name:
|
||
description: 文件名
|
||
type: string
|
||
id:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
skip_count:
|
||
description: 跳过数
|
||
type: integer
|
||
started_at:
|
||
description: 开始处理时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
type: integer
|
||
status_text:
|
||
description: 任务状态文本
|
||
type: string
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
task_no:
|
||
description: 任务编号
|
||
type: string
|
||
total_count:
|
||
description: 总数
|
||
type: integer
|
||
type: object
|
||
DtoListAssetAllocationRecordResponse:
|
||
properties:
|
||
list:
|
||
description: 分配记录列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAssetAllocationRecordResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoListDeviceCardsResponse:
|
||
properties:
|
||
bindings:
|
||
description: 绑定列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceCardBindingResponse'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoListDeviceImportTaskResponse:
|
||
properties:
|
||
list:
|
||
description: 任务列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceImportTaskResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoListDeviceResponse:
|
||
properties:
|
||
list:
|
||
description: 设备列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoDeviceResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoListImportTaskResponse:
|
||
properties:
|
||
list:
|
||
description: 任务列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoImportTaskResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoListStandaloneIotCardResponse:
|
||
properties:
|
||
list:
|
||
description: 单卡列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoStandaloneIotCardResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoLoginRequest:
|
||
properties:
|
||
device:
|
||
type: string
|
||
password:
|
||
type: string
|
||
username:
|
||
type: string
|
||
type: object
|
||
DtoLoginResponse:
|
||
properties:
|
||
access_token:
|
||
type: string
|
||
buttons:
|
||
description: 按钮权限码
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
expires_in:
|
||
type: integer
|
||
menus:
|
||
description: 菜单树
|
||
items:
|
||
$ref: '#/components/schemas/DtoMenuNode'
|
||
nullable: true
|
||
type: array
|
||
permissions:
|
||
description: 所有权限码(向后兼容)
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
refresh_token:
|
||
type: string
|
||
user:
|
||
$ref: '#/components/schemas/DtoUserInfo'
|
||
type: object
|
||
DtoManageGrantPackagesParams:
|
||
properties:
|
||
packages:
|
||
description: 套餐操作列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoGrantPackageItem'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoManualTriggerLogListResp:
|
||
properties:
|
||
items:
|
||
description: 日志列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoManualTriggerLogResp'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoManualTriggerLogResp:
|
||
properties:
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
failed_count:
|
||
description: 失败数
|
||
type: integer
|
||
id:
|
||
description: 日志ID
|
||
minimum: 0
|
||
type: integer
|
||
processed_count:
|
||
description: 已处理数
|
||
type: integer
|
||
status:
|
||
description: 状态:pending/processing/completed/cancelled
|
||
type: string
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
task_type_name:
|
||
description: 任务类型名称
|
||
type: string
|
||
total_count:
|
||
description: 总卡数
|
||
type: integer
|
||
trigger_type:
|
||
description: 触发类型:single/batch/by_condition
|
||
type: string
|
||
trigger_type_name:
|
||
description: 触发类型名称
|
||
type: string
|
||
triggered_at:
|
||
description: 触发时间
|
||
format: date-time
|
||
type: string
|
||
triggered_by:
|
||
description: 触发人ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoManualTriggerStatusResp:
|
||
properties:
|
||
queue_sizes:
|
||
additionalProperties:
|
||
type: integer
|
||
description: 各队列大小
|
||
nullable: true
|
||
type: object
|
||
running_tasks:
|
||
description: 正在运行的任务
|
||
items:
|
||
$ref: '#/components/schemas/DtoManualTriggerLogResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoMenuNode:
|
||
properties:
|
||
children:
|
||
description: 子菜单
|
||
items:
|
||
$ref: '#/components/schemas/DtoMenuNode'
|
||
nullable: true
|
||
type: array
|
||
id:
|
||
description: 权限ID
|
||
minimum: 0
|
||
type: integer
|
||
name:
|
||
description: 菜单名称
|
||
type: string
|
||
perm_code:
|
||
description: 权限码
|
||
type: string
|
||
sort:
|
||
description: 排序值
|
||
type: integer
|
||
url:
|
||
description: 路由路径
|
||
type: string
|
||
type: object
|
||
DtoMyCommissionRecordItem:
|
||
properties:
|
||
amount:
|
||
description: 佣金金额(分)
|
||
type: integer
|
||
commission_source:
|
||
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
id:
|
||
description: 佣金记录ID
|
||
minimum: 0
|
||
type: integer
|
||
order_id:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
status:
|
||
description: 状态 (1:已入账, 2:已失效)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
type: object
|
||
DtoMyCommissionRecordPageResult:
|
||
properties:
|
||
items:
|
||
description: 佣金记录列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoMyCommissionRecordItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoMyCommissionSummaryResp:
|
||
properties:
|
||
available_commission:
|
||
description: 可提现佣金(分)
|
||
type: integer
|
||
frozen_commission:
|
||
description: 冻结佣金(分)
|
||
type: integer
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
total_commission:
|
||
description: 累计佣金(分)
|
||
type: integer
|
||
unwithdraw_commission:
|
||
description: 未提现佣金(分)
|
||
type: integer
|
||
withdrawing_commission:
|
||
description: 提现中佣金(分)
|
||
type: integer
|
||
withdrawn_commission:
|
||
description: 已提现佣金(分)
|
||
type: integer
|
||
type: object
|
||
DtoOneTimeCommissionTierDTO:
|
||
properties:
|
||
amount:
|
||
description: 佣金金额(分)
|
||
minimum: 0
|
||
type: integer
|
||
dimension:
|
||
description: 统计维度 (sales_count:销量, sales_amount:销售额)
|
||
type: string
|
||
operator:
|
||
description: 阈值比较运算符(>、>=、<、<=),空值时计算引擎默认 >=
|
||
type: string
|
||
stat_scope:
|
||
description: 统计范围 (self:仅自己, self_and_sub:自己+下级)
|
||
type: string
|
||
threshold:
|
||
description: 达标阈值
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- dimension
|
||
- threshold
|
||
- amount
|
||
type: object
|
||
DtoOrderItemResponse:
|
||
properties:
|
||
amount:
|
||
description: 小计金额(分)
|
||
type: integer
|
||
id:
|
||
description: 明细ID
|
||
minimum: 0
|
||
type: integer
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
quantity:
|
||
description: 数量
|
||
type: integer
|
||
unit_price:
|
||
description: 单价(分)
|
||
type: integer
|
||
type: object
|
||
DtoOrderListResponse:
|
||
properties:
|
||
list:
|
||
description: 订单列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoOrderResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoOrderResponse:
|
||
properties:
|
||
actual_paid_amount:
|
||
description: 实际支付金额(分)
|
||
nullable: true
|
||
type: integer
|
||
buyer_id:
|
||
description: 买家ID
|
||
minimum: 0
|
||
type: integer
|
||
buyer_type:
|
||
description: 买家类型 (personal:个人客户, agent:代理商)
|
||
type: string
|
||
commission_config_version:
|
||
description: 佣金配置版本
|
||
type: integer
|
||
commission_status:
|
||
description: 佣金状态 (1:待计算, 2:已计算)
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
expires_at:
|
||
description: 订单过期时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
id:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
iot_card_id:
|
||
description: IoT卡ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
is_expired:
|
||
description: 是否已过期
|
||
type: boolean
|
||
is_purchase_on_behalf:
|
||
description: 是否为代购订单
|
||
type: boolean
|
||
is_purchased_by_parent:
|
||
description: 是否由上级代理购买
|
||
type: boolean
|
||
items:
|
||
description: 订单明细列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoOrderItemResponse'
|
||
nullable: true
|
||
type: array
|
||
operator_id:
|
||
description: 操作者ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
operator_name:
|
||
description: 操作者名称
|
||
type: string
|
||
operator_type:
|
||
description: 操作者类型 (platform:平台, agent:代理)
|
||
type: string
|
||
order_no:
|
||
description: 订单号
|
||
type: string
|
||
order_type:
|
||
description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
type: string
|
||
paid_at:
|
||
description: 支付时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
payment_method:
|
||
description: 支付方式 (wallet:钱包支付, wechat:微信支付, alipay:支付宝支付)
|
||
type: string
|
||
payment_status:
|
||
description: 支付状态 (1:待支付, 2:已支付, 3:已取消, 4:已退款)
|
||
type: integer
|
||
payment_status_text:
|
||
description: 支付状态文本
|
||
type: string
|
||
purchase_remark:
|
||
description: 购买备注
|
||
type: string
|
||
purchase_role:
|
||
description: 订单角色 (self_purchase:自己购买, purchased_by_parent:上级代理购买, purchased_by_platform:平台代购, purchase_for_subordinate:给下级购买)
|
||
type: string
|
||
total_amount:
|
||
description: 订单总金额(分)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
type: object
|
||
DtoPackagePageResult:
|
||
properties:
|
||
list:
|
||
description: 套餐列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPackageResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoPackageResponse:
|
||
properties:
|
||
calendar_type:
|
||
description: 套餐周期类型 (natural_month:自然月, by_day:按天)
|
||
type: string
|
||
cost_price:
|
||
description: 成本价(分)
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
current_commission_rate:
|
||
description: 当前返佣比例(仅代理用户可见)
|
||
type: string
|
||
data_reset_cycle:
|
||
description: 流量重置周期 (daily:每日, monthly:每月, yearly:每年, none:不重置)
|
||
type: string
|
||
duration_days:
|
||
description: 套餐天数(calendar_type=by_day时有值)
|
||
nullable: true
|
||
type: integer
|
||
duration_months:
|
||
description: 套餐时长(月数)
|
||
type: integer
|
||
enable_realname_activation:
|
||
description: 是否启用实名激活 (true:需实名后激活, false:立即激活)
|
||
type: boolean
|
||
enable_virtual_data:
|
||
description: 是否启用虚流量
|
||
type: boolean
|
||
id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
one_time_commission_amount:
|
||
description: 一次性佣金金额(分,代理视角)
|
||
nullable: true
|
||
type: integer
|
||
package_code:
|
||
description: 套餐编码
|
||
type: string
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
package_type:
|
||
description: 套餐类型 (formal:正式套餐, addon:附加套餐)
|
||
type: string
|
||
profit_margin:
|
||
description: 利润空间(分,仅代理用户可见)
|
||
nullable: true
|
||
type: integer
|
||
real_data_mb:
|
||
description: 真流量额度(MB)
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
nullable: true
|
||
type: string
|
||
shelf_status:
|
||
description: 上架状态 (1:上架, 2:下架)
|
||
type: integer
|
||
status:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
type: integer
|
||
suggested_retail_price:
|
||
description: 建议售价(分)
|
||
type: integer
|
||
tier_info:
|
||
$ref: '#/components/schemas/DtoCommissionTierInfo'
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
virtual_data_mb:
|
||
description: 虚流量额度(MB)
|
||
type: integer
|
||
virtual_ratio:
|
||
description: 虚流量比例(real_data_mb/virtual_data_mb),启用虚流量时计算,否则为1.0
|
||
type: number
|
||
type: object
|
||
DtoPackageSeriesPageResult:
|
||
properties:
|
||
list:
|
||
description: 套餐系列列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPackageSeriesResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoPackageSeriesResponse:
|
||
properties:
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
description:
|
||
description: 描述
|
||
type: string
|
||
enable_one_time_commission:
|
||
description: 是否启用一次性佣金
|
||
type: boolean
|
||
id:
|
||
description: 系列ID
|
||
minimum: 0
|
||
type: integer
|
||
one_time_commission_config:
|
||
$ref: '#/components/schemas/DtoSeriesOneTimeCommissionConfigDTO'
|
||
series_code:
|
||
description: 系列编码
|
||
type: string
|
||
series_name:
|
||
description: 系列名称
|
||
type: string
|
||
status:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
type: object
|
||
DtoPackageUsageCustomerViewResponse:
|
||
properties:
|
||
addon_packages:
|
||
description: 加油包列表(按priority排序)
|
||
items:
|
||
$ref: '#/components/schemas/DtoPackageUsageItemResponse'
|
||
nullable: true
|
||
type: array
|
||
main_package:
|
||
$ref: '#/components/schemas/DtoPackageUsageItemResponse'
|
||
total:
|
||
$ref: '#/components/schemas/DtoPackageUsageTotalInfo'
|
||
type: object
|
||
DtoPackageUsageDailyRecordResponse:
|
||
properties:
|
||
cumulative_usage_mb:
|
||
description: 截止当日的累计流量(MB)
|
||
type: integer
|
||
daily_usage_mb:
|
||
description: 当日流量使用量(MB)
|
||
type: integer
|
||
date:
|
||
description: 日期
|
||
type: string
|
||
type: object
|
||
DtoPackageUsageDetailResponse:
|
||
properties:
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
package_usage_id:
|
||
description: 套餐使用记录ID
|
||
minimum: 0
|
||
type: integer
|
||
records:
|
||
description: 流量日记录列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPackageUsageDailyRecordResponse'
|
||
nullable: true
|
||
type: array
|
||
total_usage_mb:
|
||
description: 总使用流量(MB)
|
||
type: integer
|
||
type: object
|
||
DtoPackageUsageItemResponse:
|
||
properties:
|
||
activated_at:
|
||
description: 激活时间
|
||
type: string
|
||
expires_at:
|
||
description: 过期时间
|
||
type: string
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
package_usage_id:
|
||
description: 套餐使用记录ID
|
||
minimum: 0
|
||
type: integer
|
||
priority:
|
||
description: 优先级(数字越小优先级越高)
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:待生效, 1:生效中, 2:已用完, 3:已过期, 4:已失效)
|
||
type: integer
|
||
status_text:
|
||
description: 状态文本
|
||
type: string
|
||
total_mb:
|
||
description: 总流量(MB)
|
||
type: integer
|
||
used_mb:
|
||
description: 已使用流量(MB)
|
||
type: integer
|
||
type: object
|
||
DtoPackageUsageTotalInfo:
|
||
properties:
|
||
total_mb:
|
||
description: 总流量(MB)
|
||
type: integer
|
||
used_mb:
|
||
description: 总已使用流量(MB)
|
||
type: integer
|
||
type: object
|
||
DtoPermissionPageResult:
|
||
properties:
|
||
items:
|
||
description: 权限列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPermissionResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoPermissionResponse:
|
||
properties:
|
||
available_for_role_types:
|
||
description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
creator:
|
||
description: 创建人ID
|
||
minimum: 0
|
||
type: integer
|
||
id:
|
||
description: 权限ID
|
||
minimum: 0
|
||
type: integer
|
||
parent_id:
|
||
description: 父权限ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
perm_code:
|
||
description: 权限编码
|
||
type: string
|
||
perm_name:
|
||
description: 权限名称
|
||
type: string
|
||
perm_type:
|
||
description: 权限类型 (1:菜单, 2:按钮)
|
||
type: integer
|
||
platform:
|
||
description: 适用端口 (all:全部, web:Web后台, h5:H5端)
|
||
type: string
|
||
sort:
|
||
description: 排序值
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
updater:
|
||
description: 更新人ID
|
||
minimum: 0
|
||
type: integer
|
||
url:
|
||
description: 请求路径
|
||
type: string
|
||
type: object
|
||
DtoPermissionTreeNode:
|
||
properties:
|
||
available_for_role_types:
|
||
description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
type: string
|
||
children:
|
||
description: 子权限列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPermissionTreeNode'
|
||
type: array
|
||
id:
|
||
description: 权限ID
|
||
minimum: 0
|
||
type: integer
|
||
perm_code:
|
||
description: 权限编码
|
||
type: string
|
||
perm_name:
|
||
description: 权限名称
|
||
type: string
|
||
perm_type:
|
||
description: 权限类型 (1:菜单, 2:按钮)
|
||
type: integer
|
||
platform:
|
||
description: 适用端口 (all:全部, web:Web后台, h5:H5端)
|
||
type: string
|
||
sort:
|
||
description: 排序值
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
url:
|
||
description: 请求路径
|
||
type: string
|
||
type: object
|
||
DtoPersonalCustomerResponse:
|
||
properties:
|
||
avatar_url:
|
||
description: 头像URL
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
id:
|
||
description: 客户ID
|
||
minimum: 0
|
||
type: integer
|
||
nickname:
|
||
description: 昵称
|
||
type: string
|
||
phone:
|
||
description: 手机号
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
wx_open_id:
|
||
description: 微信OpenID
|
||
type: string
|
||
wx_union_id:
|
||
description: 微信UnionID
|
||
type: string
|
||
type: object
|
||
DtoPollingAlertHistoryListResp:
|
||
properties:
|
||
items:
|
||
description: 告警历史列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingAlertHistoryResp'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoPollingAlertHistoryResp:
|
||
properties:
|
||
alert_level:
|
||
description: 告警级别
|
||
type: string
|
||
created_at:
|
||
description: 触发时间
|
||
format: date-time
|
||
type: string
|
||
current_value:
|
||
description: 触发时的值
|
||
type: number
|
||
id:
|
||
description: 历史ID
|
||
minimum: 0
|
||
type: integer
|
||
message:
|
||
description: 告警消息
|
||
type: string
|
||
metric_type:
|
||
description: 指标类型
|
||
type: string
|
||
rule_id:
|
||
description: 规则ID
|
||
minimum: 0
|
||
type: integer
|
||
rule_name:
|
||
description: 规则名称
|
||
type: string
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
threshold:
|
||
description: 阈值
|
||
type: number
|
||
type: object
|
||
DtoPollingAlertRuleListResp:
|
||
properties:
|
||
items:
|
||
description: 告警规则列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingAlertRuleResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoPollingAlertRuleResp:
|
||
properties:
|
||
alert_level:
|
||
description: 告警级别
|
||
type: string
|
||
cooldown_minutes:
|
||
description: 冷却时间(分钟)
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
id:
|
||
description: 规则ID
|
||
minimum: 0
|
||
type: integer
|
||
metric_type:
|
||
description: 指标类型
|
||
type: string
|
||
metric_type_name:
|
||
description: 指标类型名称
|
||
type: string
|
||
notify_channels:
|
||
description: 通知渠道
|
||
type: string
|
||
operator:
|
||
description: 比较运算符
|
||
type: string
|
||
rule_name:
|
||
description: 规则名称
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
task_type_name:
|
||
description: 任务类型名称
|
||
type: string
|
||
threshold:
|
||
description: 阈值
|
||
type: number
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
type: object
|
||
DtoPollingConcurrencyListResp:
|
||
properties:
|
||
items:
|
||
description: 并发配置列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingConcurrencyResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoPollingConcurrencyResp:
|
||
properties:
|
||
available:
|
||
description: 可用并发数
|
||
type: integer
|
||
current:
|
||
description: 当前并发数
|
||
type: integer
|
||
max_concurrency:
|
||
description: 最大并发数
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
task_type_name:
|
||
description: 任务类型名称
|
||
type: string
|
||
utilization:
|
||
description: 使用率(百分比)
|
||
type: number
|
||
type: object
|
||
DtoPollingConfigPageResult:
|
||
properties:
|
||
list:
|
||
description: 配置列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingConfigResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoPollingConfigResponse:
|
||
properties:
|
||
card_category:
|
||
description: 卡业务类型 (normal:普通卡, industry:行业卡)
|
||
type: string
|
||
card_condition:
|
||
description: 卡状态条件 (not_real_name:未实名, real_name:已实名, activated:已激活, suspended:已停用)
|
||
type: string
|
||
carddata_check_interval:
|
||
description: 流量检查间隔(秒),NULL表示不检查
|
||
nullable: true
|
||
type: integer
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
config_name:
|
||
description: 配置名称
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
description:
|
||
description: 配置说明
|
||
type: string
|
||
id:
|
||
description: 配置ID
|
||
minimum: 0
|
||
type: integer
|
||
package_check_interval:
|
||
description: 套餐检查间隔(秒),NULL表示不检查
|
||
nullable: true
|
||
type: integer
|
||
priority:
|
||
description: 优先级(数字越小优先级越高)
|
||
type: integer
|
||
realname_check_interval:
|
||
description: 实名检查间隔(秒),NULL表示不检查
|
||
nullable: true
|
||
type: integer
|
||
status:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
type: object
|
||
DtoPollingInitProgressResp:
|
||
properties:
|
||
estimated_eta:
|
||
description: 预计完成时间
|
||
type: string
|
||
initialized_cards:
|
||
description: 已初始化卡数
|
||
type: integer
|
||
is_complete:
|
||
description: 是否完成
|
||
type: boolean
|
||
progress:
|
||
description: 进度百分比(0-100)
|
||
type: number
|
||
started_at:
|
||
description: 开始时间
|
||
format: date-time
|
||
type: string
|
||
total_cards:
|
||
description: 总卡数
|
||
type: integer
|
||
type: object
|
||
DtoPollingOverviewResp:
|
||
properties:
|
||
carddata_queue_size:
|
||
description: 流量检查队列大小
|
||
type: integer
|
||
init_progress:
|
||
description: 初始化进度(0-100)
|
||
type: number
|
||
initialized_cards:
|
||
description: 已初始化卡数
|
||
type: integer
|
||
is_initializing:
|
||
description: 是否正在初始化
|
||
type: boolean
|
||
package_queue_size:
|
||
description: 套餐检查队列大小
|
||
type: integer
|
||
realname_queue_size:
|
||
description: 实名检查队列大小
|
||
type: integer
|
||
total_cards:
|
||
description: 总卡数
|
||
type: integer
|
||
type: object
|
||
DtoPollingQueueStatusListResp:
|
||
properties:
|
||
items:
|
||
description: 队列状态列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingQueueStatusResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoPollingQueueStatusResp:
|
||
properties:
|
||
avg_wait_time_s:
|
||
description: 平均等待时间(秒)
|
||
type: number
|
||
due_count:
|
||
description: 到期待处理数
|
||
type: integer
|
||
manual_pending:
|
||
description: 手动触发待处理数
|
||
type: integer
|
||
queue_size:
|
||
description: 队列大小
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
task_type_name:
|
||
description: 任务类型名称
|
||
type: string
|
||
type: object
|
||
DtoPollingTaskStatsListResp:
|
||
properties:
|
||
items:
|
||
description: 任务统计列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingTaskStatsResp'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoPollingTaskStatsResp:
|
||
properties:
|
||
avg_duration_ms:
|
||
description: 平均耗时(毫秒)
|
||
type: number
|
||
failure_count_1h:
|
||
description: 1小时失败数
|
||
type: integer
|
||
success_count_1h:
|
||
description: 1小时成功数
|
||
type: integer
|
||
success_rate:
|
||
description: 成功率(0-100)
|
||
type: number
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
task_type_name:
|
||
description: 任务类型名称
|
||
type: string
|
||
total_count_1h:
|
||
description: 1小时总数
|
||
type: integer
|
||
type: object
|
||
DtoPriceAdjustment:
|
||
properties:
|
||
type:
|
||
description: 调整类型 (fixed:固定金额, percent:百分比)
|
||
type: string
|
||
value:
|
||
description: 调整值(分或千分比)
|
||
type: integer
|
||
required:
|
||
- type
|
||
- value
|
||
type: object
|
||
DtoPurchaseCheckRequest:
|
||
properties:
|
||
order_type:
|
||
description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
type: string
|
||
package_ids:
|
||
description: 套餐ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
maxItems: 10
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
resource_id:
|
||
description: 资源ID (IoT卡ID或设备ID)
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- order_type
|
||
- resource_id
|
||
- package_ids
|
||
type: object
|
||
DtoPurchaseCheckResponse:
|
||
properties:
|
||
actual_payment:
|
||
description: 实际支付金额(分)
|
||
type: integer
|
||
force_recharge_amount:
|
||
description: 强充金额(分)
|
||
type: integer
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
need_force_recharge:
|
||
description: 是否需要强充
|
||
type: boolean
|
||
total_package_amount:
|
||
description: 套餐总价(分)
|
||
type: integer
|
||
wallet_credit:
|
||
description: 钱包到账金额(分)
|
||
type: integer
|
||
type: object
|
||
DtoRecallCardsReq:
|
||
properties:
|
||
iccids:
|
||
description: 需要回收授权的 ICCID 列表
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
required:
|
||
- iccids
|
||
type: object
|
||
DtoRecallCardsResp:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情
|
||
items:
|
||
$ref: '#/components/schemas/DtoFailedItem'
|
||
nullable: true
|
||
type: array
|
||
recalled_devices:
|
||
description: 连带回收的设备列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoRecalledDevice'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoRecallDevicesReq:
|
||
properties:
|
||
device_nos:
|
||
description: 设备号列表(最多100个)
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
DtoRecallDevicesRequest:
|
||
properties:
|
||
device_ids:
|
||
description: 设备ID列表
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
maxItems: 100
|
||
minItems: 1
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 备注
|
||
maxLength: 500
|
||
type: string
|
||
required:
|
||
- device_ids
|
||
type: object
|
||
DtoRecallDevicesResp:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败项列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoFailedDeviceItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoRecallDevicesResponse:
|
||
properties:
|
||
fail_count:
|
||
description: 失败数量
|
||
type: integer
|
||
failed_items:
|
||
description: 失败详情列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAllocationDeviceFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数量
|
||
type: integer
|
||
type: object
|
||
DtoRecallStandaloneCardsRequest:
|
||
properties:
|
||
batch_no:
|
||
description: 批次号(selection_type=filter时可选)
|
||
maxLength: 100
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID(selection_type=filter时可选)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
iccid_end:
|
||
description: 结束ICCID(selection_type=range时必填)
|
||
maxLength: 20
|
||
type: string
|
||
iccid_start:
|
||
description: 起始ICCID(selection_type=range时必填)
|
||
maxLength: 20
|
||
type: string
|
||
iccids:
|
||
description: ICCID列表(selection_type=list时必填,最多1000个)
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
remark:
|
||
description: 备注
|
||
maxLength: 500
|
||
type: string
|
||
selection_type:
|
||
description: 选卡方式 (list:ICCID列表, range:号段范围, filter:筛选条件)
|
||
enum:
|
||
- list
|
||
- range
|
||
- filter
|
||
type: string
|
||
required:
|
||
- selection_type
|
||
type: object
|
||
DtoRecallStandaloneCardsResponse:
|
||
properties:
|
||
allocation_no:
|
||
description: 回收单号
|
||
type: string
|
||
fail_count:
|
||
description: 失败数
|
||
type: integer
|
||
failed_items:
|
||
description: 失败项列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoAllocationFailedItem'
|
||
nullable: true
|
||
type: array
|
||
success_count:
|
||
description: 成功数
|
||
type: integer
|
||
total_count:
|
||
description: 待回收总数
|
||
type: integer
|
||
type: object
|
||
DtoRecalledDevice:
|
||
properties:
|
||
card_count:
|
||
description: 卡数量
|
||
type: integer
|
||
device_id:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
iccids:
|
||
description: 卡ICCID列表
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
type: array
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoRechargeCheckResponse:
|
||
properties:
|
||
current_accumulated:
|
||
description: 当前累计充值金额(分)
|
||
type: integer
|
||
first_commission_paid:
|
||
description: 一次性佣金是否已发放
|
||
type: boolean
|
||
force_recharge_amount:
|
||
description: 强充金额(分)
|
||
type: integer
|
||
max_amount:
|
||
description: 最大充值金额(分)
|
||
type: integer
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
min_amount:
|
||
description: 最小充值金额(分)
|
||
type: integer
|
||
need_force_recharge:
|
||
description: 是否需要强充
|
||
type: boolean
|
||
threshold:
|
||
description: 佣金触发阈值(分)
|
||
type: integer
|
||
trigger_type:
|
||
description: 触发类型
|
||
type: string
|
||
type: object
|
||
DtoRechargeListResponse:
|
||
properties:
|
||
list:
|
||
description: 列表数据
|
||
items:
|
||
$ref: '#/components/schemas/DtoRechargeResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoRechargeResponse:
|
||
properties:
|
||
amount:
|
||
description: 充值金额(分)
|
||
type: integer
|
||
completed_at:
|
||
description: 完成时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
id:
|
||
description: 充值订单ID
|
||
minimum: 0
|
||
type: integer
|
||
paid_at:
|
||
description: 支付时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
payment_channel:
|
||
description: 支付渠道
|
||
nullable: true
|
||
type: string
|
||
payment_method:
|
||
description: 支付方式
|
||
type: string
|
||
payment_transaction_id:
|
||
description: 第三方支付交易号
|
||
nullable: true
|
||
type: string
|
||
recharge_no:
|
||
description: 充值订单号
|
||
type: string
|
||
status:
|
||
description: 充值状态
|
||
type: integer
|
||
status_text:
|
||
description: 状态文本
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
user_id:
|
||
description: 用户ID
|
||
minimum: 0
|
||
type: integer
|
||
wallet_id:
|
||
description: 钱包ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoRefreshTokenRequest:
|
||
properties:
|
||
refresh_token:
|
||
type: string
|
||
type: object
|
||
DtoRefreshTokenResponse:
|
||
properties:
|
||
access_token:
|
||
type: string
|
||
expires_in:
|
||
type: integer
|
||
type: object
|
||
DtoRejectWithdrawalReq:
|
||
properties:
|
||
remark:
|
||
description: 拒绝原因(必填)
|
||
maxLength: 500
|
||
type: string
|
||
required:
|
||
- remark
|
||
type: object
|
||
DtoResetPollingConcurrencyReq:
|
||
properties:
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
type: object
|
||
DtoRolePageResult:
|
||
properties:
|
||
items:
|
||
description: 角色列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoRoleResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoRoleResponse:
|
||
properties:
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
creator:
|
||
description: 创建人ID
|
||
minimum: 0
|
||
type: integer
|
||
id:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
role_desc:
|
||
description: 角色描述
|
||
type: string
|
||
role_name:
|
||
description: 角色名称
|
||
type: string
|
||
role_type:
|
||
description: 角色类型 (1:平台角色, 2:客户角色)
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
updater:
|
||
description: 更新人ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoSeriesOneTimeCommissionConfigDTO:
|
||
properties:
|
||
commission_amount:
|
||
description: 固定佣金金额(分),commission_type=fixed时使用
|
||
minimum: 0
|
||
type: integer
|
||
commission_type:
|
||
description: 佣金类型 (fixed:固定, tiered:梯度)
|
||
type: string
|
||
enable:
|
||
description: 是否启用一次性佣金
|
||
type: boolean
|
||
enable_force_recharge:
|
||
description: 是否启用强充
|
||
type: boolean
|
||
force_amount:
|
||
description: 强充金额(分)
|
||
minimum: 0
|
||
type: integer
|
||
force_calc_type:
|
||
description: 强充计算类型 (fixed:固定, dynamic:动态)
|
||
type: string
|
||
threshold:
|
||
description: 触发阈值(分)
|
||
minimum: 0
|
||
type: integer
|
||
tiers:
|
||
description: 梯度配置列表,commission_type=tiered时使用
|
||
items:
|
||
$ref: '#/components/schemas/DtoOneTimeCommissionTierDTO'
|
||
nullable: true
|
||
type: array
|
||
trigger_type:
|
||
description: 触发类型 (first_recharge:首充, accumulated_recharge:累计充值)
|
||
type: string
|
||
validity_type:
|
||
description: 时效类型 (permanent:永久, fixed_date:固定日期, relative:相对时长)
|
||
type: string
|
||
validity_value:
|
||
description: 时效值(日期或月数)
|
||
type: string
|
||
type: object
|
||
DtoSetSpeedLimitRequest:
|
||
properties:
|
||
speed_limit:
|
||
description: 限速值(KB/s)
|
||
minimum: 1
|
||
type: integer
|
||
required:
|
||
- speed_limit
|
||
type: object
|
||
DtoSetWiFiRequest:
|
||
properties:
|
||
card_no:
|
||
description: 流量卡号(ICCID)
|
||
type: string
|
||
enabled:
|
||
description: 启用状态
|
||
type: boolean
|
||
password:
|
||
description: WiFi 密码
|
||
type: string
|
||
ssid:
|
||
description: WiFi 名称
|
||
maxLength: 32
|
||
minLength: 1
|
||
type: string
|
||
required:
|
||
- card_no
|
||
- ssid
|
||
type: object
|
||
DtoShopCommissionRecordItem:
|
||
properties:
|
||
amount:
|
||
description: 佣金金额(分)
|
||
type: integer
|
||
balance_after:
|
||
description: 入账后佣金余额(分)
|
||
type: integer
|
||
commission_source:
|
||
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
type: string
|
||
created_at:
|
||
description: 佣金入账时间
|
||
type: string
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
id:
|
||
description: 佣金记录ID
|
||
minimum: 0
|
||
type: integer
|
||
order_created_at:
|
||
description: 订单创建时间
|
||
type: string
|
||
order_id:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
order_no:
|
||
description: 订单号
|
||
type: string
|
||
status:
|
||
description: 状态 (1:已入账, 2:已失效)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
virtual_no:
|
||
description: 设备虚拟号
|
||
type: string
|
||
type: object
|
||
DtoShopCommissionRecordPageResult:
|
||
properties:
|
||
items:
|
||
description: 佣金明细列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopCommissionRecordItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoShopCommissionSummaryItem:
|
||
properties:
|
||
available_commission:
|
||
description: 可提现佣金(分)
|
||
type: integer
|
||
created_at:
|
||
description: 店铺创建时间
|
||
type: string
|
||
frozen_commission:
|
||
description: 冻结中佣金(分)
|
||
type: integer
|
||
phone:
|
||
description: 主账号手机号
|
||
type: string
|
||
shop_code:
|
||
description: 店铺编码
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
total_commission:
|
||
description: 总佣金(分)
|
||
type: integer
|
||
unwithdraw_commission:
|
||
description: 未提现佣金(分)
|
||
type: integer
|
||
username:
|
||
description: 主账号用户名
|
||
type: string
|
||
withdrawing_commission:
|
||
description: 提现中佣金(分)
|
||
type: integer
|
||
withdrawn_commission:
|
||
description: 已提现佣金(分)
|
||
type: integer
|
||
type: object
|
||
DtoShopCommissionSummaryPageResult:
|
||
properties:
|
||
items:
|
||
description: 代理商佣金列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopCommissionSummaryItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoShopPageResult:
|
||
properties:
|
||
items:
|
||
description: 店铺列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopResponse'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoShopResponse:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
district:
|
||
description: 区县
|
||
type: string
|
||
id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
level:
|
||
description: 店铺层级 (1-7级)
|
||
type: integer
|
||
parent_id:
|
||
description: 上级店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
province:
|
||
description: 省份
|
||
type: string
|
||
shop_code:
|
||
description: 店铺编号
|
||
type: string
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
type: object
|
||
DtoShopRoleResponse:
|
||
properties:
|
||
role_desc:
|
||
description: 角色描述
|
||
type: string
|
||
role_id:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
role_name:
|
||
description: 角色名称
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
type: object
|
||
DtoShopRolesResponse:
|
||
properties:
|
||
roles:
|
||
description: 角色列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopRoleResponse'
|
||
nullable: true
|
||
type: array
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
type: object
|
||
DtoShopSeriesGrantListItem:
|
||
properties:
|
||
allocator_shop_id:
|
||
description: 分配者店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
allocator_shop_name:
|
||
description: 分配者店铺名称
|
||
type: string
|
||
commission_type:
|
||
description: 佣金类型
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
force_recharge_amount:
|
||
description: 强充金额(分)
|
||
type: integer
|
||
force_recharge_enabled:
|
||
description: 是否启用强充
|
||
type: boolean
|
||
force_recharge_locked:
|
||
description: 强充是否被套餐系列锁定(true 时代理不可修改)
|
||
type: boolean
|
||
id:
|
||
description: 授权记录ID
|
||
minimum: 0
|
||
type: integer
|
||
one_time_commission_amount:
|
||
description: 固定模式佣金金额(分)
|
||
type: integer
|
||
package_count:
|
||
description: 已授权套餐数量
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
type: string
|
||
shop_id:
|
||
description: 被授权店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 被授权店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 1-启用 2-禁用
|
||
type: integer
|
||
type: object
|
||
DtoShopSeriesGrantPackageItem:
|
||
properties:
|
||
cost_price:
|
||
description: 成本价(分)
|
||
type: integer
|
||
package_code:
|
||
description: 套餐编码
|
||
type: string
|
||
package_id:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
type: integer
|
||
package_name:
|
||
description: 套餐名称
|
||
type: string
|
||
shelf_status:
|
||
description: 上架状态 1-上架 2-下架
|
||
type: integer
|
||
status:
|
||
description: 分配状态 1-启用 2-禁用
|
||
type: integer
|
||
type: object
|
||
DtoShopSeriesGrantPageResult:
|
||
properties:
|
||
list:
|
||
description: 授权列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantListItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页
|
||
type: integer
|
||
page_size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总数
|
||
type: integer
|
||
total_pages:
|
||
description: 总页数
|
||
type: integer
|
||
type: object
|
||
DtoShopSeriesGrantResponse:
|
||
properties:
|
||
allocator_shop_id:
|
||
description: 分配者店铺ID,0 表示平台
|
||
minimum: 0
|
||
type: integer
|
||
allocator_shop_name:
|
||
description: 分配者店铺名称
|
||
type: string
|
||
commission_tiers:
|
||
description: 梯度模式阶梯列表(固定模式为空)
|
||
items:
|
||
$ref: '#/components/schemas/DtoGrantCommissionTierItem'
|
||
nullable: true
|
||
type: array
|
||
commission_type:
|
||
description: 佣金类型 fixed-固定 tiered-梯度
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
force_recharge_amount:
|
||
description: 强充金额(分)
|
||
type: integer
|
||
force_recharge_enabled:
|
||
description: 是否启用强充
|
||
type: boolean
|
||
force_recharge_locked:
|
||
description: 强充是否被平台锁定(true 时代理不可修改)
|
||
type: boolean
|
||
id:
|
||
description: 授权记录ID
|
||
minimum: 0
|
||
type: integer
|
||
one_time_commission_amount:
|
||
description: 固定模式佣金金额(分),梯度模式返回 0
|
||
type: integer
|
||
packages:
|
||
description: 已授权套餐列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantPackageItem'
|
||
nullable: true
|
||
type: array
|
||
series_code:
|
||
description: 套餐系列编码
|
||
type: string
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
type: string
|
||
shop_id:
|
||
description: 被授权店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 被授权店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 1-启用 2-禁用
|
||
type: integer
|
||
updated_at:
|
||
description: 更新时间
|
||
type: string
|
||
type: object
|
||
DtoShopWithdrawalRequestItem:
|
||
properties:
|
||
account_name:
|
||
description: 收款账户名称
|
||
type: string
|
||
account_number:
|
||
description: 收款账号
|
||
type: string
|
||
actual_amount:
|
||
description: 实际到账金额(分)
|
||
type: integer
|
||
amount:
|
||
description: 提现金额(分)
|
||
type: integer
|
||
applicant_id:
|
||
description: 申请人账号ID
|
||
minimum: 0
|
||
type: integer
|
||
applicant_name:
|
||
description: 申请人用户名
|
||
type: string
|
||
bank_name:
|
||
description: 银行名称(银行卡提现时)
|
||
type: string
|
||
created_at:
|
||
description: 申请时间
|
||
type: string
|
||
fee:
|
||
description: 手续费(分)
|
||
type: integer
|
||
fee_rate:
|
||
description: 手续费比率(基点,100=1%)
|
||
type: integer
|
||
id:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
paid_at:
|
||
description: 到账时间
|
||
type: string
|
||
payment_type:
|
||
description: 放款类型 (manual:人工打款)
|
||
type: string
|
||
processed_at:
|
||
description: 处理时间
|
||
type: string
|
||
processor_id:
|
||
description: 处理人账号ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
processor_name:
|
||
description: 处理人用户名
|
||
type: string
|
||
reject_reason:
|
||
description: 拒绝原因
|
||
type: string
|
||
remark:
|
||
description: 备注
|
||
type: string
|
||
shop_hierarchy:
|
||
description: 店铺层级路径(格式:上上级_上级_本身,最多两层上级)
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 (1:待审核, 2:已通过, 3:已拒绝, 4:已到账)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
withdrawal_method:
|
||
description: 提现方式 (alipay:支付宝, wechat:微信, bank:银行卡)
|
||
type: string
|
||
withdrawal_no:
|
||
description: 提现单号
|
||
type: string
|
||
type: object
|
||
DtoShopWithdrawalRequestPageResult:
|
||
properties:
|
||
items:
|
||
description: 提现记录列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoShopWithdrawalRequestItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoStandaloneIotCardResponse:
|
||
properties:
|
||
accumulated_recharge:
|
||
description: 累计充值金额(分)
|
||
type: integer
|
||
activated_at:
|
||
description: 激活时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
activation_status:
|
||
description: 激活状态 (0:未激活, 1:已激活)
|
||
type: integer
|
||
batch_no:
|
||
description: 批次号
|
||
type: string
|
||
card_category:
|
||
description: 卡业务类型 (normal:普通卡, industry:行业卡)
|
||
type: string
|
||
carrier_id:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
type: integer
|
||
carrier_name:
|
||
description: 运营商名称
|
||
type: string
|
||
carrier_type:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
type: string
|
||
created_at:
|
||
description: 创建时间
|
||
format: date-time
|
||
type: string
|
||
current_month_start_date:
|
||
description: 本月开始日期
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
current_month_usage_mb:
|
||
description: 本月已用流量(MB)
|
||
type: number
|
||
data_usage_mb:
|
||
description: 累计流量使用(MB)
|
||
type: integer
|
||
enable_polling:
|
||
description: 是否参与轮询
|
||
type: boolean
|
||
first_commission_paid:
|
||
description: 一次性佣金是否已发放
|
||
type: boolean
|
||
iccid:
|
||
description: ICCID
|
||
type: string
|
||
id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
imsi:
|
||
description: IMSI
|
||
type: string
|
||
last_data_check_at:
|
||
description: 最后流量检查时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
last_month_total_mb:
|
||
description: 上月流量总量(MB)
|
||
type: number
|
||
last_real_name_check_at:
|
||
description: 最后实名检查时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
msisdn:
|
||
description: 卡接入号
|
||
type: string
|
||
network_status:
|
||
description: 网络状态 (0:停机, 1:开机)
|
||
type: integer
|
||
real_name_status:
|
||
description: 实名状态 (0:未实名, 1:已实名)
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_name:
|
||
description: 套餐系列名称
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
type: integer
|
||
supplier:
|
||
description: 供应商
|
||
type: string
|
||
updated_at:
|
||
description: 更新时间
|
||
format: date-time
|
||
type: string
|
||
virtual_no:
|
||
description: 卡虚拟号(用于客服查找资产)
|
||
type: string
|
||
type: object
|
||
DtoSwitchCardRequest:
|
||
properties:
|
||
target_iccid:
|
||
description: 目标卡 ICCID
|
||
type: string
|
||
required:
|
||
- target_iccid
|
||
type: object
|
||
DtoTriggerBatchReq:
|
||
properties:
|
||
card_ids:
|
||
description: 卡ID列表,最多1000个
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
nullable: true
|
||
type: array
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
type: object
|
||
DtoTriggerByConditionReq:
|
||
properties:
|
||
card_status:
|
||
description: 卡状态筛选
|
||
type: string
|
||
card_type:
|
||
description: 卡类型筛选
|
||
type: string
|
||
carrier_code:
|
||
description: 运营商代码筛选
|
||
type: string
|
||
enable_polling:
|
||
description: 是否启用轮询筛选
|
||
nullable: true
|
||
type: boolean
|
||
limit:
|
||
description: 限制数量,最多1000
|
||
type: integer
|
||
package_ids:
|
||
description: 套餐ID列表筛选
|
||
items:
|
||
minimum: 0
|
||
type: integer
|
||
nullable: true
|
||
type: array
|
||
shop_id:
|
||
description: 店铺ID筛选
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
type: object
|
||
DtoTriggerDataCleanupReq:
|
||
properties:
|
||
table_name:
|
||
description: 表名,为空则清理所有
|
||
type: string
|
||
type: object
|
||
DtoTriggerSingleReq:
|
||
properties:
|
||
card_id:
|
||
description: 卡ID
|
||
minimum: 0
|
||
type: integer
|
||
task_type:
|
||
description: 任务类型
|
||
type: string
|
||
type: object
|
||
DtoUnbindCardFromDeviceResponse:
|
||
properties:
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
type: object
|
||
DtoUpdateAccountParams:
|
||
properties:
|
||
password:
|
||
description: 密码
|
||
maxLength: 32
|
||
minLength: 8
|
||
nullable: true
|
||
type: string
|
||
phone:
|
||
description: 手机号
|
||
maxLength: 11
|
||
minLength: 11
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
username:
|
||
description: 用户名
|
||
maxLength: 50
|
||
minLength: 3
|
||
nullable: true
|
||
type: string
|
||
type: object
|
||
DtoUpdateAuthorizationRemarkReq:
|
||
properties:
|
||
remark:
|
||
description: 备注(最多500字)
|
||
type: string
|
||
type: object
|
||
DtoUpdateCarrierParams:
|
||
properties:
|
||
carrier_name:
|
||
description: 运营商名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
description:
|
||
description: 运营商描述
|
||
maxLength: 500
|
||
nullable: true
|
||
type: string
|
||
type: object
|
||
DtoUpdateCarrierStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUpdateDataCleanupConfigParams:
|
||
properties:
|
||
batch_size:
|
||
description: 每批删除条数
|
||
nullable: true
|
||
type: integer
|
||
description:
|
||
description: 配置说明
|
||
nullable: true
|
||
type: string
|
||
enabled:
|
||
description: 是否启用:0-禁用,1-启用
|
||
nullable: true
|
||
type: integer
|
||
retention_days:
|
||
description: 保留天数
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdateEnterprisePasswordReq:
|
||
properties:
|
||
password:
|
||
description: 新密码
|
||
maximum: 20
|
||
minimum: 6
|
||
type: string
|
||
required:
|
||
- password
|
||
type: object
|
||
DtoUpdateEnterpriseReq:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
maximum: 255
|
||
nullable: true
|
||
type: string
|
||
business_license:
|
||
description: 营业执照号
|
||
maximum: 100
|
||
nullable: true
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
maximum: 20
|
||
nullable: true
|
||
type: string
|
||
district:
|
||
description: 区县
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
enterprise_code:
|
||
description: 企业编号
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
enterprise_name:
|
||
description: 企业名称
|
||
maximum: 100
|
||
nullable: true
|
||
type: string
|
||
legal_person:
|
||
description: 法人代表
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
owner_shop_id:
|
||
description: 归属店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
province:
|
||
description: 省份
|
||
maximum: 50
|
||
nullable: true
|
||
type: string
|
||
type: object
|
||
DtoUpdateEnterpriseStatusReq:
|
||
properties:
|
||
status:
|
||
description: 状态(0=禁用, 1=启用)
|
||
enum:
|
||
- "0"
|
||
- "1"
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUpdatePackageParams:
|
||
properties:
|
||
calendar_type:
|
||
description: 套餐周期类型 (natural_month:自然月, by_day:按天)
|
||
nullable: true
|
||
type: string
|
||
cost_price:
|
||
description: 成本价(分)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
data_reset_cycle:
|
||
description: 流量重置周期 (daily:每日, monthly:每月, yearly:每年, none:不重置)
|
||
nullable: true
|
||
type: string
|
||
duration_days:
|
||
description: 套餐天数(calendar_type=by_day时必填)
|
||
maximum: 3650
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
duration_months:
|
||
description: 套餐时长(月数)
|
||
maximum: 120
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
enable_realname_activation:
|
||
description: 是否启用实名激活 (true:需实名后激活, false:立即激活)
|
||
nullable: true
|
||
type: boolean
|
||
enable_virtual_data:
|
||
description: 是否启用虚流量
|
||
nullable: true
|
||
type: boolean
|
||
package_name:
|
||
description: 套餐名称
|
||
maxLength: 255
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
package_type:
|
||
description: 套餐类型 (formal:正式套餐, addon:附加套餐)
|
||
nullable: true
|
||
type: string
|
||
real_data_mb:
|
||
description: 真流量额度(MB)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
series_id:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
suggested_retail_price:
|
||
description: 建议售价(分)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
virtual_data_mb:
|
||
description: 虚流量额度(MB)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdatePackageSeriesParams:
|
||
properties:
|
||
description:
|
||
description: 描述
|
||
maxLength: 500
|
||
nullable: true
|
||
type: string
|
||
enable_one_time_commission:
|
||
description: 是否启用一次性佣金
|
||
nullable: true
|
||
type: boolean
|
||
one_time_commission_config:
|
||
$ref: '#/components/schemas/DtoSeriesOneTimeCommissionConfigDTO'
|
||
series_name:
|
||
description: 系列名称
|
||
maxLength: 255
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
type: object
|
||
DtoUpdatePackageSeriesStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUpdatePackageShelfStatusParams:
|
||
properties:
|
||
shelf_status:
|
||
description: 上架状态 (1:上架, 2:下架)
|
||
type: integer
|
||
required:
|
||
- shelf_status
|
||
type: object
|
||
DtoUpdatePackageStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUpdatePasswordParams:
|
||
properties:
|
||
new_password:
|
||
description: 新密码(8-32位)
|
||
maxLength: 32
|
||
minLength: 8
|
||
type: string
|
||
required:
|
||
- new_password
|
||
type: object
|
||
DtoUpdatePermissionParams:
|
||
properties:
|
||
parent_id:
|
||
description: 父权限ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
perm_code:
|
||
description: 权限编码
|
||
maxLength: 100
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
perm_name:
|
||
description: 权限名称
|
||
maxLength: 50
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
platform:
|
||
description: 适用端口 (all:全部, web:Web后台, h5:H5端)
|
||
nullable: true
|
||
type: string
|
||
sort:
|
||
description: 排序值
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
url:
|
||
description: 请求路径
|
||
maxLength: 255
|
||
nullable: true
|
||
type: string
|
||
type: object
|
||
DtoUpdatePollingAlertRuleParams:
|
||
properties:
|
||
alert_level:
|
||
description: 告警级别
|
||
nullable: true
|
||
type: string
|
||
cooldown_minutes:
|
||
description: 冷却时间(分钟)
|
||
nullable: true
|
||
type: integer
|
||
notify_channels:
|
||
description: 通知渠道
|
||
nullable: true
|
||
type: string
|
||
rule_name:
|
||
description: 规则名称
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
nullable: true
|
||
type: integer
|
||
threshold:
|
||
description: 阈值
|
||
nullable: true
|
||
type: number
|
||
type: object
|
||
DtoUpdatePollingConcurrencyReq:
|
||
properties:
|
||
max_concurrency:
|
||
description: 最大并发数(1-1000)
|
||
type: integer
|
||
type: object
|
||
DtoUpdatePollingConfigParams:
|
||
properties:
|
||
card_category:
|
||
description: 卡业务类型 (normal:普通卡, industry:行业卡)
|
||
nullable: true
|
||
type: string
|
||
card_condition:
|
||
description: 卡状态条件 (not_real_name:未实名, real_name:已实名, activated:已激活, suspended:已停用)
|
||
nullable: true
|
||
type: string
|
||
carddata_check_interval:
|
||
description: 流量检查间隔(秒),NULL表示不检查,最小60秒
|
||
minimum: 60
|
||
nullable: true
|
||
type: integer
|
||
carrier_id:
|
||
description: 运营商ID(可选,精确匹配)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
config_name:
|
||
description: 配置名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
description:
|
||
description: 配置说明
|
||
maxLength: 500
|
||
nullable: true
|
||
type: string
|
||
package_check_interval:
|
||
description: 套餐检查间隔(秒),NULL表示不检查,最小60秒
|
||
minimum: 60
|
||
nullable: true
|
||
type: integer
|
||
priority:
|
||
description: 优先级(数字越小优先级越高)
|
||
maximum: 1000
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
realname_check_interval:
|
||
description: 实名检查间隔(秒),NULL表示不检查,最小30秒
|
||
minimum: 30
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdatePollingConfigStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUpdateRoleParams:
|
||
properties:
|
||
role_desc:
|
||
description: 角色描述
|
||
maxLength: 255
|
||
nullable: true
|
||
type: string
|
||
role_name:
|
||
description: 角色名称
|
||
maxLength: 50
|
||
minLength: 1
|
||
nullable: true
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdateRoleStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdateShopParams:
|
||
properties:
|
||
address:
|
||
description: 详细地址
|
||
maxLength: 255
|
||
type: string
|
||
city:
|
||
description: 城市
|
||
maxLength: 50
|
||
type: string
|
||
contact_name:
|
||
description: 联系人姓名
|
||
maxLength: 50
|
||
type: string
|
||
contact_phone:
|
||
description: 联系人电话
|
||
maxLength: 11
|
||
minLength: 11
|
||
type: string
|
||
district:
|
||
description: 区县
|
||
maxLength: 50
|
||
type: string
|
||
province:
|
||
description: 省份
|
||
maxLength: 50
|
||
type: string
|
||
shop_name:
|
||
description: 店铺名称
|
||
maxLength: 100
|
||
minLength: 1
|
||
type: string
|
||
status:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
type: integer
|
||
required:
|
||
- shop_name
|
||
- status
|
||
type: object
|
||
DtoUpdateShopSeriesGrantParams:
|
||
properties:
|
||
commission_tiers:
|
||
description: 梯度模式阶梯配置
|
||
items:
|
||
$ref: '#/components/schemas/DtoGrantCommissionTierItem'
|
||
type: array
|
||
enable_force_recharge:
|
||
description: 是否启用代理强充
|
||
nullable: true
|
||
type: boolean
|
||
force_recharge_amount:
|
||
description: 代理强充金额(分)
|
||
nullable: true
|
||
type: integer
|
||
one_time_commission_amount:
|
||
description: 固定模式佣金金额(分)
|
||
nullable: true
|
||
type: integer
|
||
type: object
|
||
DtoUpdateStatusParams:
|
||
properties:
|
||
status:
|
||
description: 状态(0:禁用,1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
type: integer
|
||
required:
|
||
- status
|
||
type: object
|
||
DtoUserInfo:
|
||
properties:
|
||
enterprise_id:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
enterprise_name:
|
||
description: 企业名称
|
||
type: string
|
||
id:
|
||
description: 用户ID
|
||
minimum: 0
|
||
type: integer
|
||
phone:
|
||
description: 手机号
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
user_type:
|
||
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
|
||
type: integer
|
||
user_type_name:
|
||
description: 用户类型名称
|
||
type: string
|
||
username:
|
||
description: 用户名
|
||
type: string
|
||
type: object
|
||
DtoWechatH5Detail:
|
||
properties:
|
||
type:
|
||
description: 场景类型 (iOS:苹果, Android:安卓, Wap:浏览器)
|
||
type: string
|
||
type: object
|
||
DtoWechatH5SceneInfo:
|
||
properties:
|
||
h5_info:
|
||
$ref: '#/components/schemas/DtoWechatH5Detail'
|
||
payer_client_ip:
|
||
description: 用户终端IP
|
||
type: string
|
||
required:
|
||
- payer_client_ip
|
||
type: object
|
||
DtoWechatOAuthRequest:
|
||
properties:
|
||
code:
|
||
description: 微信授权码
|
||
type: string
|
||
required:
|
||
- code
|
||
type: object
|
||
DtoWechatOAuthResponse:
|
||
properties:
|
||
access_token:
|
||
description: 访问令牌
|
||
type: string
|
||
customer:
|
||
$ref: '#/components/schemas/DtoPersonalCustomerResponse'
|
||
expires_in:
|
||
description: 令牌有效期(秒)
|
||
type: integer
|
||
type: object
|
||
DtoWechatPayH5Params:
|
||
properties:
|
||
scene_info:
|
||
$ref: '#/components/schemas/DtoWechatH5SceneInfo'
|
||
required:
|
||
- scene_info
|
||
type: object
|
||
DtoWechatPayH5Response:
|
||
properties:
|
||
h5_url:
|
||
description: 微信支付跳转URL
|
||
type: string
|
||
type: object
|
||
DtoWechatPayJSAPIParams:
|
||
properties:
|
||
openid:
|
||
description: 用户OpenID
|
||
type: string
|
||
required:
|
||
- openid
|
||
type: object
|
||
DtoWechatPayJSAPIResponse:
|
||
properties:
|
||
pay_config:
|
||
additionalProperties: {}
|
||
description: JSSDK支付配置
|
||
nullable: true
|
||
type: object
|
||
prepay_id:
|
||
description: 预支付交易会话标识
|
||
type: string
|
||
type: object
|
||
DtoWithdrawalApprovalResp:
|
||
properties:
|
||
id:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
processed_at:
|
||
description: 处理时间
|
||
type: string
|
||
status:
|
||
description: 状态 (1:待审核, 2:已通过, 3:已拒绝, 4:已到账)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
withdrawal_no:
|
||
description: 提现单号
|
||
type: string
|
||
type: object
|
||
DtoWithdrawalRequestItem:
|
||
properties:
|
||
account_name:
|
||
description: 收款账户名称
|
||
type: string
|
||
account_number:
|
||
description: 收款账号
|
||
type: string
|
||
actual_amount:
|
||
description: 实际到账金额(分)
|
||
type: integer
|
||
amount:
|
||
description: 提现金额(分)
|
||
type: integer
|
||
applicant_id:
|
||
description: 申请人账号ID
|
||
minimum: 0
|
||
type: integer
|
||
applicant_name:
|
||
description: 申请人用户名
|
||
type: string
|
||
bank_name:
|
||
description: 银行名称
|
||
type: string
|
||
created_at:
|
||
description: 申请时间
|
||
type: string
|
||
fee:
|
||
description: 手续费(分)
|
||
type: integer
|
||
fee_rate:
|
||
description: 手续费比率(基点,100=1%)
|
||
type: integer
|
||
id:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
payment_type:
|
||
description: 放款类型 (manual:人工打款)
|
||
type: string
|
||
processed_at:
|
||
description: 处理时间
|
||
type: string
|
||
processor_id:
|
||
description: 处理人账号ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
processor_name:
|
||
description: 处理人用户名
|
||
type: string
|
||
reject_reason:
|
||
description: 拒绝原因
|
||
type: string
|
||
remark:
|
||
description: 备注
|
||
type: string
|
||
shop_hierarchy:
|
||
description: 店铺层级路径
|
||
type: string
|
||
shop_id:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
shop_name:
|
||
description: 店铺名称
|
||
type: string
|
||
status:
|
||
description: 状态 (1:待审核, 2:已通过, 3:已拒绝, 4:已到账)
|
||
type: integer
|
||
status_name:
|
||
description: 状态名称
|
||
type: string
|
||
withdrawal_method:
|
||
description: 提现方式 (alipay:支付宝, wechat:微信, bank:银行卡)
|
||
type: string
|
||
withdrawal_no:
|
||
description: 提现单号
|
||
type: string
|
||
type: object
|
||
DtoWithdrawalRequestPageResult:
|
||
properties:
|
||
items:
|
||
description: 提现申请列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoWithdrawalRequestItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
DtoWithdrawalSettingItem:
|
||
properties:
|
||
arrival_days:
|
||
description: 到账天数
|
||
type: integer
|
||
created_at:
|
||
description: 创建时间
|
||
type: string
|
||
creator_id:
|
||
description: 创建人ID
|
||
minimum: 0
|
||
type: integer
|
||
creator_name:
|
||
description: 创建人用户名
|
||
type: string
|
||
daily_withdrawal_limit:
|
||
description: 每日提现次数限制
|
||
type: integer
|
||
fee_rate:
|
||
description: 手续费比率(基点,100=1%)
|
||
type: integer
|
||
id:
|
||
description: 配置ID
|
||
minimum: 0
|
||
type: integer
|
||
is_active:
|
||
description: 是否生效
|
||
type: boolean
|
||
min_withdrawal_amount:
|
||
description: 最低提现金额(分)
|
||
type: integer
|
||
type: object
|
||
DtoWithdrawalSettingPageResult:
|
||
properties:
|
||
items:
|
||
description: 配置列表
|
||
items:
|
||
$ref: '#/components/schemas/DtoWithdrawalSettingItem'
|
||
nullable: true
|
||
type: array
|
||
page:
|
||
description: 当前页码
|
||
type: integer
|
||
size:
|
||
description: 每页数量
|
||
type: integer
|
||
total:
|
||
description: 总记录数
|
||
type: integer
|
||
type: object
|
||
ErrorResponse:
|
||
properties:
|
||
code:
|
||
description: 错误码
|
||
example: 1001
|
||
type: integer
|
||
data:
|
||
description: 错误详情(可选)
|
||
type: object
|
||
msg:
|
||
description: 错误消息
|
||
example: 参数验证失败
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- timestamp
|
||
type: object
|
||
GatewayRealnameLinkResp:
|
||
properties:
|
||
url:
|
||
description: 实名认证跳转链接(HTTPS URL)
|
||
type: string
|
||
type: object
|
||
GatewaySlotInfo:
|
||
properties:
|
||
cardStatus:
|
||
description: 卡状态(准备、正常、停机)
|
||
type: string
|
||
extend:
|
||
description: 扩展字段(广电国网特殊参数)
|
||
type: string
|
||
iccid:
|
||
description: 卡槽中的 ICCID
|
||
type: string
|
||
isActive:
|
||
description: 是否为当前使用的卡槽(0:否, 1:是)
|
||
type: integer
|
||
slotNo:
|
||
description: 卡槽编号
|
||
type: integer
|
||
type: object
|
||
GatewaySlotInfoResp:
|
||
properties:
|
||
extend:
|
||
description: 扩展字段(广电国网特殊参数)
|
||
type: string
|
||
imei:
|
||
description: 设备 IMEI
|
||
type: string
|
||
slots:
|
||
description: 卡槽信息列表
|
||
items:
|
||
$ref: '#/components/schemas/GatewaySlotInfo'
|
||
nullable: true
|
||
type: array
|
||
type: object
|
||
ModelPermission:
|
||
properties:
|
||
available_for_role_types:
|
||
type: string
|
||
creator:
|
||
minimum: 0
|
||
type: integer
|
||
parent_id:
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
perm_code:
|
||
type: string
|
||
perm_name:
|
||
type: string
|
||
perm_type:
|
||
type: integer
|
||
platform:
|
||
type: string
|
||
sort:
|
||
type: integer
|
||
status:
|
||
type: integer
|
||
updater:
|
||
minimum: 0
|
||
type: integer
|
||
url:
|
||
type: string
|
||
type: object
|
||
RoutesHealthResponse:
|
||
properties:
|
||
service:
|
||
description: 服务名称
|
||
type: string
|
||
status:
|
||
description: 健康状态
|
||
type: string
|
||
type: object
|
||
securitySchemes:
|
||
BearerAuth:
|
||
bearerFormat: JWT
|
||
scheme: bearer
|
||
type: http
|
||
info:
|
||
title: Admin API
|
||
version: "1.0"
|
||
openapi: 3.0.3
|
||
paths:
|
||
/api/admin/accounts:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 用户名模糊查询
|
||
in: query
|
||
name: username
|
||
schema:
|
||
description: 用户名模糊查询
|
||
maxLength: 50
|
||
type: string
|
||
- description: 手机号模糊查询
|
||
in: query
|
||
name: phone
|
||
schema:
|
||
description: 手机号模糊查询
|
||
maxLength: 20
|
||
type: string
|
||
- description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
|
||
in: query
|
||
name: user_type
|
||
schema:
|
||
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (0:禁用, 1:启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 店铺ID筛选
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 店铺ID筛选
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 企业ID筛选
|
||
in: query
|
||
name: enterprise_id
|
||
schema:
|
||
description: 企业ID筛选
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAccountPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询账号列表
|
||
tags:
|
||
- 账号管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateAccountRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAccountResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建账号
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/accounts/{account_id}/roles/{role_id}:
|
||
delete:
|
||
parameters:
|
||
- description: 账号ID
|
||
in: path
|
||
name: account_id
|
||
required: true
|
||
schema:
|
||
description: 账号ID
|
||
minimum: 0
|
||
type: integer
|
||
- description: 角色ID
|
||
in: path
|
||
name: role_id
|
||
required: true
|
||
schema:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 移除账号角色
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/accounts/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除账号
|
||
tags:
|
||
- 账号管理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAccountResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取账号详情
|
||
tags:
|
||
- 账号管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateAccountParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAccountResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新账号
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/accounts/{id}/password:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePasswordParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 修改账号密码
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/accounts/{id}/roles:
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAccountRolesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取账号角色
|
||
tags:
|
||
- 账号管理
|
||
post:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAssignRolesParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/DtoAccountRoleResponse'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 为账号分配角色
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/accounts/{id}/status:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 修改账号状态
|
||
tags:
|
||
- 账号管理
|
||
/api/admin/asset-allocation-records:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 分配类型 (allocate:分配, recall:回收)
|
||
in: query
|
||
name: allocation_type
|
||
schema:
|
||
description: 分配类型 (allocate:分配, recall:回收)
|
||
enum:
|
||
- allocate
|
||
- recall
|
||
type: string
|
||
- description: 资产类型 (iot_card:物联网卡, device:设备)
|
||
in: query
|
||
name: asset_type
|
||
schema:
|
||
description: 资产类型 (iot_card:物联网卡, device:设备)
|
||
enum:
|
||
- iot_card
|
||
- device
|
||
type: string
|
||
- description: 资产标识符(ICCID或设备号,模糊查询)
|
||
in: query
|
||
name: asset_identifier
|
||
schema:
|
||
description: 资产标识符(ICCID或设备号,模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 分配单号(精确匹配)
|
||
in: query
|
||
name: allocation_no
|
||
schema:
|
||
description: 分配单号(精确匹配)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 来源店铺ID
|
||
in: query
|
||
name: from_shop_id
|
||
schema:
|
||
description: 来源店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 目标店铺ID
|
||
in: query
|
||
name: to_shop_id
|
||
schema:
|
||
description: 目标店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 操作人ID
|
||
in: query
|
||
name: operator_id
|
||
schema:
|
||
description: 操作人ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: created_at_start
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: created_at_end
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListAssetAllocationRecordResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 分配记录列表
|
||
tags:
|
||
- 资产分配记录
|
||
/api/admin/asset-allocation-records/{id}:
|
||
get:
|
||
parameters:
|
||
- description: 记录ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 记录ID
|
||
minimum: 1
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetAllocationRecordDetailResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 分配记录详情
|
||
tags:
|
||
- 资产分配记录
|
||
/api/admin/assets/{asset_type}/{id}/current-package:
|
||
get:
|
||
parameters:
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetPackageResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 当前生效套餐
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/{asset_type}/{id}/packages:
|
||
get:
|
||
description: 查询该资产所有套餐记录,含虚流量换算结果。
|
||
parameters:
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/DtoAssetPackageResponse'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 资产套餐列表
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/{asset_type}/{id}/realtime-status:
|
||
get:
|
||
description: 读取 DB/Redis 中的持久化状态,不调网关。asset_type 为 card 或 device。
|
||
parameters:
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetRealtimeStatusResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 资产实时状态
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/{asset_type}/{id}/refresh:
|
||
post:
|
||
description: 主动调网关同步最新状态。设备有30秒冷却期。
|
||
parameters:
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetRealtimeStatusResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 刷新资产状态
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/{asset_type}/{id}/wallet:
|
||
get:
|
||
description: 查询指定卡或设备的钱包余额概况。企业账号禁止调用。
|
||
parameters:
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetWalletResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 资产钱包概况
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/{asset_type}/{id}/wallet/transactions:
|
||
get:
|
||
description: 分页查询指定资产的钱包收支流水,含充值/扣款来源编号。企业账号禁止调用。
|
||
parameters:
|
||
- description: 页码,默认1
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码,默认1
|
||
type: integer
|
||
- description: 每页数量,默认20,最大100
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量,默认20,最大100
|
||
type: integer
|
||
- description: 交易类型过滤:recharge/deduct/refund
|
||
in: query
|
||
name: transaction_type
|
||
schema:
|
||
description: 交易类型过滤:recharge/deduct/refund
|
||
nullable: true
|
||
type: string
|
||
- description: 开始时间(RFC3339)
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 开始时间(RFC3339)
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 结束时间(RFC3339)
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 结束时间(RFC3339)
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 资产类型:card 或 device
|
||
in: path
|
||
name: asset_type
|
||
required: true
|
||
schema:
|
||
description: 资产类型:card 或 device
|
||
type: string
|
||
- description: 资产ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 资产ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetWalletTransactionListResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 资产钱包流水列表
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/card/{iccid}/start:
|
||
post:
|
||
description: 手动复机单张卡(通过ICCID)。受设备保护期约束。
|
||
parameters:
|
||
- description: 卡ICCID
|
||
in: path
|
||
name: iccid
|
||
required: true
|
||
schema:
|
||
description: 卡ICCID
|
||
type: string
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 单卡复机
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/card/{iccid}/stop:
|
||
post:
|
||
description: 手动停机单张卡(通过ICCID)。受设备保护期约束。
|
||
parameters:
|
||
- description: 卡ICCID
|
||
in: path
|
||
name: iccid
|
||
required: true
|
||
schema:
|
||
description: 卡ICCID
|
||
type: string
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 单卡停机
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/device/{device_id}/start:
|
||
post:
|
||
description: 批量复机设备下所有已实名卡。设置1小时复机保护期。
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: device_id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 设备复机
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/device/{device_id}/stop:
|
||
post:
|
||
description: 批量停机设备下所有已实名卡。设置1小时停机保护期。
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: device_id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDeviceSuspendResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 设备停机
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/assets/resolve/{identifier}:
|
||
get:
|
||
description: 通过虚拟号/ICCID/IMEI/SN/MSISDN 解析设备或卡的完整详情。企业账号禁止调用。
|
||
parameters:
|
||
- description: 资产标识符(虚拟号/ICCID/IMEI/SN/MSISDN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 资产标识符(虚拟号/ICCID/IMEI/SN/MSISDN)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAssetResolveResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 解析资产
|
||
tags:
|
||
- 资产管理
|
||
/api/admin/authorizations:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 按企业ID筛选
|
||
in: query
|
||
name: enterprise_id
|
||
schema:
|
||
description: 按企业ID筛选
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 按ICCID模糊查询
|
||
in: query
|
||
name: iccid
|
||
schema:
|
||
description: 按ICCID模糊查询
|
||
type: string
|
||
- description: 授权人类型:2=平台,3=代理
|
||
in: query
|
||
name: authorizer_type
|
||
schema:
|
||
description: 授权人类型:2=平台,3=代理
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态:0=已回收,1=有效
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态:0=已回收,1=有效
|
||
nullable: true
|
||
type: integer
|
||
- description: 授权时间起(格式:2006-01-02)
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 授权时间起(格式:2006-01-02)
|
||
type: string
|
||
- description: 授权时间止(格式:2006-01-02)
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 授权时间止(格式:2006-01-02)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAuthorizationListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 授权记录列表
|
||
tags:
|
||
- 授权记录管理
|
||
/api/admin/authorizations/{id}:
|
||
get:
|
||
parameters:
|
||
- description: 授权记录ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 授权记录ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAuthorizationItem'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 授权记录详情
|
||
tags:
|
||
- 授权记录管理
|
||
/api/admin/authorizations/{id}/remark:
|
||
put:
|
||
parameters:
|
||
- description: 授权记录ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 授权记录ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateAuthorizationRemarkReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAuthorizationItem'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 修改授权备注
|
||
tags:
|
||
- 授权记录管理
|
||
/api/admin/carriers:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
in: query
|
||
name: carrier_type
|
||
schema:
|
||
description: 运营商类型 (CMCC:中国移动, CUCC:中国联通, CTCC:中国电信, CBN:中国广电)
|
||
nullable: true
|
||
type: string
|
||
- description: 运营商名称(模糊搜索)
|
||
in: query
|
||
name: carrier_name
|
||
schema:
|
||
description: 运营商名称(模糊搜索)
|
||
maxLength: 100
|
||
nullable: true
|
||
type: string
|
||
- description: 状态 (1:启用, 0:禁用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCarrierPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 运营商列表
|
||
tags:
|
||
- 运营商管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateCarrierRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCarrierResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建运营商
|
||
tags:
|
||
- 运营商管理
|
||
/api/admin/carriers/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除运营商
|
||
tags:
|
||
- 运营商管理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCarrierResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取运营商详情
|
||
tags:
|
||
- 运营商管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateCarrierParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCarrierResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新运营商
|
||
tags:
|
||
- 运营商管理
|
||
/api/admin/carriers/{id}/status:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateCarrierStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新运营商状态
|
||
tags:
|
||
- 运营商管理
|
||
/api/admin/commission/withdrawal-requests:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 状态 (1:待审核, 2:已通过, 3:已拒绝, 4:已到账)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:待审核, 2:已通过, 3:已拒绝, 4:已到账)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 提现单号(精确查询)
|
||
in: query
|
||
name: withdrawal_no
|
||
schema:
|
||
description: 提现单号(精确查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 店铺名称(模糊查询)
|
||
in: query
|
||
name: shop_name
|
||
schema:
|
||
description: 店铺名称(模糊查询)
|
||
maxLength: 100
|
||
type: string
|
||
- description: 申请开始时间(格式:2006-01-02 15:04:05)
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 申请开始时间(格式:2006-01-02 15:04:05)
|
||
type: string
|
||
- description: 申请结束时间(格式:2006-01-02 15:04:05)
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 申请结束时间(格式:2006-01-02 15:04:05)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalRequestPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 提现申请列表
|
||
tags:
|
||
- 佣金提现审批
|
||
/api/admin/commission/withdrawal-requests/{id}/approve:
|
||
post:
|
||
parameters:
|
||
- description: 提现申请ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoApproveWithdrawalReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalApprovalResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 审批通过提现申请
|
||
tags:
|
||
- 佣金提现审批
|
||
/api/admin/commission/withdrawal-requests/{id}/reject:
|
||
post:
|
||
parameters:
|
||
- description: 提现申请ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 提现申请ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRejectWithdrawalReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalApprovalResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 拒绝提现申请
|
||
tags:
|
||
- 佣金提现审批
|
||
/api/admin/commission/withdrawal-settings:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalSettingPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 提现配置列表
|
||
tags:
|
||
- 提现配置管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateWithdrawalSettingReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalSettingItem'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 新增提现配置
|
||
tags:
|
||
- 提现配置管理
|
||
/api/admin/commission/withdrawal-settings/current:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalSettingItem'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取当前生效的提现配置
|
||
tags:
|
||
- 提现配置管理
|
||
/api/admin/data-cleanup-configs:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupConfigListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取数据清理配置列表
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateDataCleanupConfigReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupConfigResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建数据清理配置
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/data-cleanup-configs/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除数据清理配置
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupConfigResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取数据清理配置详情
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateDataCleanupConfigParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新数据清理配置
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/data-cleanup-logs/data-cleanup-logs:
|
||
get:
|
||
parameters:
|
||
- description: 表名筛选
|
||
in: query
|
||
name: table_name
|
||
schema:
|
||
description: 表名筛选
|
||
type: string
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupLogListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取数据清理日志列表
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/data-cleanup/preview/data-cleanup/preview:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupPreviewResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 预览待清理数据
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/data-cleanup/progress/data-cleanup/progress:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDataCleanupProgressResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取数据清理进度
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/data-cleanup/trigger/data-cleanup/trigger:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoTriggerDataCleanupReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 手动触发数据清理
|
||
tags:
|
||
- 轮询管理-数据清理
|
||
/api/admin/devices:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 虚拟号(模糊查询)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 虚拟号(模糊查询)
|
||
maxLength: 100
|
||
type: string
|
||
- description: 设备名称(模糊查询)
|
||
in: query
|
||
name: device_name
|
||
schema:
|
||
description: 设备名称(模糊查询)
|
||
maxLength: 255
|
||
type: string
|
||
- description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 店铺ID (NULL表示平台库存)
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 店铺ID (NULL表示平台库存)
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 套餐系列ID
|
||
in: query
|
||
name: series_id
|
||
schema:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 批次号
|
||
in: query
|
||
name: batch_no
|
||
schema:
|
||
description: 批次号
|
||
maxLength: 100
|
||
type: string
|
||
- description: 设备类型
|
||
in: query
|
||
name: device_type
|
||
schema:
|
||
description: 设备类型
|
||
maxLength: 50
|
||
type: string
|
||
- description: 制造商(模糊查询)
|
||
in: query
|
||
name: manufacturer
|
||
schema:
|
||
description: 制造商(模糊查询)
|
||
maxLength: 255
|
||
type: string
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: created_at_start
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: created_at_end
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListDeviceResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 设备列表
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/{id}:
|
||
delete:
|
||
description: 仅平台用户可操作。删除设备时自动解绑所有卡(卡不会被删除)。
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/{id}/cards:
|
||
get:
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListDeviceCardsResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取设备绑定的卡列表
|
||
tags:
|
||
- 设备管理
|
||
post:
|
||
description: 仅平台用户可操作。用于导入后调整卡绑定关系(补卡、换卡)。
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoBindCardToDeviceRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoBindCardToDeviceResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 绑定卡到设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/{id}/cards/{cardId}:
|
||
delete:
|
||
description: 仅平台用户可操作。解绑不改变卡的 shop_id。
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
- description: IoT卡ID
|
||
in: path
|
||
name: cardId
|
||
required: true
|
||
schema:
|
||
description: IoT卡ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoUnbindCardFromDeviceResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 解绑设备上的卡
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/allocate:
|
||
post:
|
||
description: 分配设备给直属下级店铺。分配时自动同步绑定的所有卡的 shop_id。
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAllocateDevicesRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAllocateDevicesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量分配设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/gateway-slots:
|
||
get:
|
||
description: 通过虚拟号/IMEI/SN 查询设备卡槽信息。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/GatewaySlotInfoResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询卡槽信息
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/reboot:
|
||
post:
|
||
description: 通过虚拟号/IMEI/SN 重启设备。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEmptyResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 重启设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/reset:
|
||
post:
|
||
description: 通过虚拟号/IMEI/SN 恢复设备出厂设置。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEmptyResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 恢复出厂
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/speed-limit:
|
||
put:
|
||
description: 通过虚拟号/IMEI/SN 设置设备限速。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoSetSpeedLimitRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEmptyResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 设置限速
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/switch-card:
|
||
post:
|
||
description: 通过虚拟号/IMEI/SN 切换设备当前使用的卡。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoSwitchCardRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEmptyResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 切卡
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/by-identifier/{identifier}/wifi:
|
||
put:
|
||
description: 通过虚拟号/IMEI/SN 设置设备 WiFi。设备必须已配置 IMEI。
|
||
parameters:
|
||
- description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
in: path
|
||
name: identifier
|
||
required: true
|
||
schema:
|
||
description: 设备标识符(支持虚拟号/IMEI/SN)
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoSetWiFiRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEmptyResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 设置 WiFi
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/import:
|
||
post:
|
||
description: |-
|
||
仅平台用户可操作。文件格式已从 CSV 升级为 Excel (.xlsx)。
|
||
|
||
### 完整导入流程
|
||
|
||
1. **获取上传 URL**: 调用 `POST /api/admin/storage/upload-url`
|
||
2. **上传 Excel 文件**: 使用预签名 URL 上传文件到对象存储
|
||
3. **调用本接口**: 使用返回的 `file_key` 提交导入任务
|
||
|
||
### Excel 文件格式
|
||
|
||
- 文件格式:仅支持 .xlsx (Excel 2007+)
|
||
- 必须包含列(首行为表头):
|
||
- `virtual_no`: 设备虚拟号(必填,全局唯一)
|
||
- `device_name`: 设备名称
|
||
- `device_model`: 设备型号
|
||
- `device_type`: 设备类型
|
||
- `max_sim_slots`: 最大插槽数(默认4)
|
||
- `manufacturer`: 制造商
|
||
- `iccid_1` ~ `iccid_4`: 绑定的卡 ICCID(卡必须已存在且未绑定)
|
||
- 列格式:设置为文本格式(避免长数字被转为科学记数法)
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoImportDeviceRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoImportDeviceResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量导入设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/import/tasks:
|
||
get:
|
||
description: 仅平台用户可操作。
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 批次号(模糊查询)
|
||
in: query
|
||
name: batch_no
|
||
schema:
|
||
description: 批次号(模糊查询)
|
||
maxLength: 100
|
||
type: string
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListDeviceImportTaskResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 导入任务列表
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/import/tasks/{id}:
|
||
get:
|
||
description: 仅平台用户可操作。包含跳过和失败记录的详细信息。
|
||
parameters:
|
||
- description: 任务ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoDeviceImportTaskDetailResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 导入任务详情
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/recall:
|
||
post:
|
||
description: 从直属下级店铺回收设备。回收时自动同步绑定的所有卡的 shop_id。
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRecallDevicesRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRecallDevicesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量回收设备
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/devices/series-binding:
|
||
patch:
|
||
description: 批量设置或清除设备与套餐系列分配的关联关系。参数:series_id(套餐系列ID,0表示清除关联)。
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoBatchSetDeviceSeriesBindngRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoBatchSetDeviceSeriesBindngResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量设置设备的套餐系列绑定
|
||
tags:
|
||
- 设备管理
|
||
/api/admin/enterprises:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 企业名称(模糊查询)
|
||
in: query
|
||
name: enterprise_name
|
||
schema:
|
||
description: 企业名称(模糊查询)
|
||
type: string
|
||
- description: 登录手机号(模糊查询)
|
||
in: query
|
||
name: login_phone
|
||
schema:
|
||
description: 登录手机号(模糊查询)
|
||
type: string
|
||
- description: 联系人电话(模糊查询)
|
||
in: query
|
||
name: contact_phone
|
||
schema:
|
||
description: 联系人电话(模糊查询)
|
||
type: string
|
||
- description: 归属店铺ID
|
||
in: query
|
||
name: owner_shop_id
|
||
schema:
|
||
description: 归属店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态(0=禁用, 1=启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态(0=禁用, 1=启用)
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterprisePageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询企业客户列表
|
||
tags:
|
||
- 企业客户管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateEnterpriseReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCreateEnterpriseResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 新增企业客户
|
||
tags:
|
||
- 企业客户管理
|
||
/api/admin/enterprises/{id}:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateEnterpriseReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterpriseItem'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 编辑企业信息
|
||
tags:
|
||
- 企业客户管理
|
||
/api/admin/enterprises/{id}/allocate-cards:
|
||
post:
|
||
parameters:
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAllocateCardsReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAllocateCardsResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 授权卡给企业
|
||
tags:
|
||
- 企业卡授权
|
||
/api/admin/enterprises/{id}/allocate-devices:
|
||
post:
|
||
parameters:
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAllocateDevicesReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAllocateDevicesResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 授权设备给企业
|
||
tags:
|
||
- 企业设备授权
|
||
/api/admin/enterprises/{id}/cards:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 卡状态
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 卡状态
|
||
nullable: true
|
||
type: integer
|
||
- description: 运营商ID
|
||
in: query
|
||
name: carrier_id
|
||
schema:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: ICCID(模糊查询)
|
||
in: query
|
||
name: iccid
|
||
schema:
|
||
description: ICCID(模糊查询)
|
||
type: string
|
||
- description: 虚拟号(模糊查询)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 虚拟号(模糊查询)
|
||
type: string
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterpriseCardPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 企业卡列表
|
||
tags:
|
||
- 企业卡授权
|
||
/api/admin/enterprises/{id}/devices:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
- description: 虚拟号(模糊搜索)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 虚拟号(模糊搜索)
|
||
type: string
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterpriseDeviceListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 企业设备列表
|
||
tags:
|
||
- 企业设备授权
|
||
/api/admin/enterprises/{id}/password:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateEnterprisePasswordReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 修改企业账号密码
|
||
tags:
|
||
- 企业客户管理
|
||
/api/admin/enterprises/{id}/recall-cards:
|
||
post:
|
||
parameters:
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRecallCardsReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRecallCardsResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 回收卡授权
|
||
tags:
|
||
- 企业卡授权
|
||
/api/admin/enterprises/{id}/recall-devices:
|
||
post:
|
||
parameters:
|
||
- description: 企业ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 企业ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRecallDevicesReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRecallDevicesResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 撤销设备授权
|
||
tags:
|
||
- 企业设备授权
|
||
/api/admin/enterprises/{id}/status:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateEnterpriseStatusReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 启用/禁用企业
|
||
tags:
|
||
- 企业客户管理
|
||
/api/admin/iot-cards/{iccid}/realname-link:
|
||
get:
|
||
parameters:
|
||
- description: ICCID
|
||
in: path
|
||
name: iccid
|
||
required: true
|
||
schema:
|
||
description: ICCID
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/GatewayRealnameLinkResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取实名认证链接
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/import:
|
||
post:
|
||
description: |-
|
||
仅平台用户可操作。
|
||
|
||
## ⚠️ 接口变更说明(BREAKING CHANGE)
|
||
|
||
本接口已从 `multipart/form-data` 改为 `application/json`。
|
||
文件格式从 CSV 升级为 Excel (.xlsx),解决长数字被转为科学记数法的问题。
|
||
|
||
### 完整导入流程
|
||
|
||
1. **获取上传 URL**: 调用 `POST /api/admin/storage/upload-url`
|
||
2. **上传 Excel 文件**: 使用预签名 URL 上传文件到对象存储
|
||
3. **调用本接口**: 使用返回的 `file_key` 提交导入任务
|
||
|
||
### 请求示例
|
||
|
||
```json
|
||
{
|
||
"carrier_id": 1,
|
||
"batch_no": "BATCH-2025-01",
|
||
"file_key": "imports/2025/01/24/abc123.xlsx"
|
||
}
|
||
```
|
||
|
||
### Excel 文件格式
|
||
|
||
- 文件格式:仅支持 .xlsx (Excel 2007+)
|
||
- 必填列:`ICCID`, `MSISDN`
|
||
- 可选列:`virtual_no`(虚拟号,表头关键字:virtual_no / VirtualNo / 虚拟号 / 设备号)
|
||
- 首行为表头(可选,但建议包含)
|
||
- 列格式:设置为文本格式(避免长数字被转为科学记数法)
|
||
|
||
#### virtual_no 列导入规则(只补空白)
|
||
|
||
- 该行 virtual_no 非空 + 数据库当前值为 NULL:填入新值
|
||
- 该行 virtual_no 非空 + 数据库已有值:跳过(不覆盖)
|
||
- 批次内有任意 virtual_no 与数据库现存值重复:**整批拒绝**
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoImportIotCardRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoImportIotCardResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量导入IoT卡(ICCID+MSISDN)
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/import-tasks:
|
||
get:
|
||
description: 仅平台用户可操作。
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 运营商ID
|
||
in: query
|
||
name: carrier_id
|
||
schema:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 批次号(模糊查询)
|
||
in: query
|
||
name: batch_no
|
||
schema:
|
||
description: 批次号(模糊查询)
|
||
maxLength: 100
|
||
type: string
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListImportTaskResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 导入任务列表
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/import-tasks/{id}:
|
||
get:
|
||
description: 仅平台用户可操作。
|
||
parameters:
|
||
- description: 任务ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 任务ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoImportTaskDetailResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 导入任务详情
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/series-binding:
|
||
patch:
|
||
description: 批量设置或清除卡与套餐系列分配的关联关系。参数:series_id(套餐系列ID,0表示清除关联)。
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoBatchSetCardSeriesBindngRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoBatchSetCardSeriesBindngResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量设置卡的套餐系列绑定
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/standalone:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 运营商ID
|
||
in: query
|
||
name: carrier_id
|
||
schema:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 分销商ID
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 分销商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 套餐系列ID
|
||
in: query
|
||
name: series_id
|
||
schema:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: ICCID(模糊查询)
|
||
in: query
|
||
name: iccid
|
||
schema:
|
||
description: ICCID(模糊查询)
|
||
maxLength: 20
|
||
type: string
|
||
- description: 卡接入号(模糊查询)
|
||
in: query
|
||
name: msisdn
|
||
schema:
|
||
description: 卡接入号(模糊查询)
|
||
maxLength: 20
|
||
type: string
|
||
- description: 虚拟号(模糊查询)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 虚拟号(模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 批次号
|
||
in: query
|
||
name: batch_no
|
||
schema:
|
||
description: 批次号
|
||
maxLength: 100
|
||
type: string
|
||
- description: 套餐ID
|
||
in: query
|
||
name: package_id
|
||
schema:
|
||
description: 套餐ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 是否已分销 (true:已分销, false:未分销)
|
||
in: query
|
||
name: is_distributed
|
||
schema:
|
||
description: 是否已分销 (true:已分销, false:未分销)
|
||
nullable: true
|
||
type: boolean
|
||
- description: 是否有换卡记录 (true:有换卡记录, false:无换卡记录)
|
||
in: query
|
||
name: is_replaced
|
||
schema:
|
||
description: 是否有换卡记录 (true:有换卡记录, false:无换卡记录)
|
||
nullable: true
|
||
type: boolean
|
||
- description: ICCID起始号
|
||
in: query
|
||
name: iccid_start
|
||
schema:
|
||
description: ICCID起始号
|
||
maxLength: 20
|
||
type: string
|
||
- description: ICCID结束号
|
||
in: query
|
||
name: iccid_end
|
||
schema:
|
||
description: ICCID结束号
|
||
maxLength: 20
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoListStandaloneIotCardResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 单卡列表(未绑定设备)
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/standalone/allocate:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAllocateStandaloneCardsRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoAllocateStandaloneCardsResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量分配单卡
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/iot-cards/standalone/recall:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRecallStandaloneCardsRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRecallStandaloneCardsResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量回收单卡
|
||
tags:
|
||
- IoT卡管理
|
||
/api/admin/my/commission-daily-stats:
|
||
get:
|
||
parameters:
|
||
- description: 店铺ID
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 开始日期(YYYY-MM-DD)
|
||
in: query
|
||
name: start_date
|
||
schema:
|
||
description: 开始日期(YYYY-MM-DD)
|
||
nullable: true
|
||
type: string
|
||
- description: 结束日期(YYYY-MM-DD)
|
||
in: query
|
||
name: end_date
|
||
schema:
|
||
description: 结束日期(YYYY-MM-DD)
|
||
nullable: true
|
||
type: string
|
||
- description: 查询天数(默认30天)
|
||
in: query
|
||
name: days
|
||
schema:
|
||
description: 查询天数(默认30天)
|
||
maximum: 365
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/DtoDailyCommissionStatsResponse'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 我的每日佣金统计
|
||
tags:
|
||
- 我的佣金
|
||
/api/admin/my/commission-records:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
in: query
|
||
name: commission_source
|
||
schema:
|
||
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
nullable: true
|
||
type: string
|
||
- description: ICCID(模糊查询)
|
||
in: query
|
||
name: iccid
|
||
schema:
|
||
description: ICCID(模糊查询)
|
||
type: string
|
||
- description: 设备虚拟号(模糊查询)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 设备虚拟号(模糊查询)
|
||
type: string
|
||
- description: 订单号(模糊查询)
|
||
in: query
|
||
name: order_no
|
||
schema:
|
||
description: 订单号(模糊查询)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoMyCommissionRecordPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 我的佣金明细
|
||
tags:
|
||
- 我的佣金
|
||
/api/admin/my/commission-stats:
|
||
get:
|
||
parameters:
|
||
- description: 店铺ID
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 开始时间
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 开始时间
|
||
nullable: true
|
||
type: string
|
||
- description: 结束时间
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 结束时间
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCommissionStatsResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 我的佣金统计
|
||
tags:
|
||
- 我的佣金
|
||
/api/admin/my/commission-summary:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoMyCommissionSummaryResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 我的佣金概览
|
||
tags:
|
||
- 我的佣金
|
||
/api/admin/my/withdrawal-requests:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 状态(1=待审批, 2=已通过, 3=已拒绝)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态(1=待审批, 2=已通过, 3=已拒绝)
|
||
nullable: true
|
||
type: integer
|
||
- description: 申请开始时间
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 申请开始时间
|
||
type: string
|
||
- description: 申请结束时间
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 申请结束时间
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWithdrawalRequestPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 我的提现记录
|
||
tags:
|
||
- 我的佣金
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateMyWithdrawalReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoCreateMyWithdrawalResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 发起提现申请
|
||
tags:
|
||
- 我的佣金
|
||
/api/admin/orders:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 支付状态 (1:待支付, 2:已支付, 3:已取消, 4:已退款)
|
||
in: query
|
||
name: payment_status
|
||
schema:
|
||
description: 支付状态 (1:待支付, 2:已支付, 3:已取消, 4:已退款)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
in: query
|
||
name: order_type
|
||
schema:
|
||
description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
type: string
|
||
- description: 订单号(精确查询)
|
||
in: query
|
||
name: order_no
|
||
schema:
|
||
description: 订单号(精确查询)
|
||
maxLength: 30
|
||
type: string
|
||
- description: 订单角色 (self_purchase:自己购买, purchased_by_parent:上级代理购买, purchased_by_platform:平台代购, purchase_for_subordinate:给下级购买)
|
||
in: query
|
||
name: purchase_role
|
||
schema:
|
||
description: 订单角色 (self_purchase:自己购买, purchased_by_parent:上级代理购买, purchased_by_platform:平台代购, purchase_for_subordinate:给下级购买)
|
||
type: string
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 是否已过期 (true:已过期, false:未过期)
|
||
in: query
|
||
name: is_expired
|
||
schema:
|
||
description: 是否已过期 (true:已过期, false:未过期)
|
||
nullable: true
|
||
type: boolean
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderListResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取订单列表
|
||
tags:
|
||
- 订单管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateOrderRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建订单
|
||
tags:
|
||
- 订单管理
|
||
/api/admin/orders/{id}:
|
||
get:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取订单详情
|
||
tags:
|
||
- 订单管理
|
||
/api/admin/orders/{id}/cancel:
|
||
post:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 取消订单
|
||
tags:
|
||
- 订单管理
|
||
/api/admin/orders/purchase-check:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoPurchaseCheckRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPurchaseCheckResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 套餐购买预检
|
||
tags:
|
||
- 订单管理
|
||
/api/admin/package-series:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 系列名称(模糊搜索)
|
||
in: query
|
||
name: series_name
|
||
schema:
|
||
description: 系列名称(模糊搜索)
|
||
maxLength: 255
|
||
nullable: true
|
||
type: string
|
||
- description: 状态 (1:启用, 2:禁用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
nullable: true
|
||
type: integer
|
||
- description: 是否启用一次性佣金
|
||
in: query
|
||
name: enable_one_time_commission
|
||
schema:
|
||
description: 是否启用一次性佣金
|
||
nullable: true
|
||
type: boolean
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageSeriesPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 套餐系列列表
|
||
tags:
|
||
- 套餐系列管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreatePackageSeriesRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageSeriesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建套餐系列
|
||
tags:
|
||
- 套餐系列管理
|
||
/api/admin/package-series/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除套餐系列
|
||
tags:
|
||
- 套餐系列管理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageSeriesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取套餐系列详情
|
||
tags:
|
||
- 套餐系列管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePackageSeriesParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageSeriesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新套餐系列
|
||
tags:
|
||
- 套餐系列管理
|
||
/api/admin/package-series/{id}/status:
|
||
patch:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePackageSeriesStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新套餐系列状态
|
||
tags:
|
||
- 套餐系列管理
|
||
/api/admin/package-usage/{id}/daily-records:
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageUsageDetailResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取套餐流量详单
|
||
tags:
|
||
- 套餐使用记录
|
||
/api/admin/packages:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 套餐名称(模糊搜索)
|
||
in: query
|
||
name: package_name
|
||
schema:
|
||
description: 套餐名称(模糊搜索)
|
||
maxLength: 255
|
||
nullable: true
|
||
type: string
|
||
- description: 套餐系列ID
|
||
in: query
|
||
name: series_id
|
||
schema:
|
||
description: 套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (1:启用, 2:禁用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:启用, 2:禁用)
|
||
nullable: true
|
||
type: integer
|
||
- description: 上架状态 (1:上架, 2:下架)
|
||
in: query
|
||
name: shelf_status
|
||
schema:
|
||
description: 上架状态 (1:上架, 2:下架)
|
||
nullable: true
|
||
type: integer
|
||
- description: 套餐类型 (formal:正式套餐, addon:附加套餐)
|
||
in: query
|
||
name: package_type
|
||
schema:
|
||
description: 套餐类型 (formal:正式套餐, addon:附加套餐)
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackagePageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 套餐列表
|
||
tags:
|
||
- 套餐管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreatePackageRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建套餐
|
||
tags:
|
||
- 套餐管理
|
||
/api/admin/packages/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除套餐
|
||
tags:
|
||
- 套餐管理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取套餐详情
|
||
tags:
|
||
- 套餐管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePackageParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新套餐
|
||
tags:
|
||
- 套餐管理
|
||
/api/admin/packages/{id}/shelf:
|
||
patch:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePackageShelfStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新套餐上架状态
|
||
tags:
|
||
- 套餐管理
|
||
/api/admin/packages/{id}/status:
|
||
patch:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePackageStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新套餐状态
|
||
tags:
|
||
- 套餐管理
|
||
/api/admin/permissions:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 权限名称模糊查询
|
||
in: query
|
||
name: perm_name
|
||
schema:
|
||
description: 权限名称模糊查询
|
||
maxLength: 50
|
||
type: string
|
||
- description: 权限编码模糊查询
|
||
in: query
|
||
name: perm_code
|
||
schema:
|
||
description: 权限编码模糊查询
|
||
maxLength: 100
|
||
type: string
|
||
- description: 权限类型 (1:菜单, 2:按钮)
|
||
in: query
|
||
name: perm_type
|
||
schema:
|
||
description: 权限类型 (1:菜单, 2:按钮)
|
||
maximum: 2
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 适用端口 (all:全部, web:Web后台, h5:H5端)
|
||
in: query
|
||
name: platform
|
||
schema:
|
||
description: 适用端口 (all:全部, web:Web后台, h5:H5端)
|
||
type: string
|
||
- description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
in: query
|
||
name: available_for_role_type
|
||
schema:
|
||
description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
maximum: 2
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 父权限ID
|
||
in: query
|
||
name: parent_id
|
||
schema:
|
||
description: 父权限ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (0:禁用, 1:启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPermissionPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 权限列表
|
||
tags:
|
||
- 权限
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreatePermissionRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPermissionResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建权限
|
||
tags:
|
||
- 权限
|
||
/api/admin/permissions/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除权限
|
||
tags:
|
||
- 权限
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPermissionResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取权限详情
|
||
tags:
|
||
- 权限
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePermissionParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPermissionResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新权限
|
||
tags:
|
||
- 权限
|
||
/api/admin/permissions/tree:
|
||
get:
|
||
parameters:
|
||
- description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
in: query
|
||
name: available_for_role_type
|
||
schema:
|
||
description: 可用角色类型 (1:平台角色, 2:客户角色)
|
||
maximum: 2
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (0:禁用, 1:启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/DtoPermissionTreeNode'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取权限树
|
||
tags:
|
||
- 权限
|
||
/api/admin/polling-alert-history/polling-alert-history:
|
||
get:
|
||
parameters:
|
||
- description: 规则ID
|
||
in: query
|
||
name: rule_id
|
||
schema:
|
||
description: 规则ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingAlertHistoryListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询告警历史
|
||
tags:
|
||
- 轮询管理-告警
|
||
/api/admin/polling-alert-rules:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingAlertRuleListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询告警规则列表
|
||
tags:
|
||
- 轮询管理-告警
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreatePollingAlertRuleReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingAlertRuleResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建轮询告警规则
|
||
tags:
|
||
- 轮询管理-告警
|
||
/api/admin/polling-alert-rules/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除轮询告警规则
|
||
tags:
|
||
- 轮询管理-告警
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingAlertRuleResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询告警规则详情
|
||
tags:
|
||
- 轮询管理-告警
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePollingAlertRuleParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新轮询告警规则
|
||
tags:
|
||
- 轮询管理-告警
|
||
/api/admin/polling-concurrency:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConcurrencyListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询并发配置列表
|
||
tags:
|
||
- 轮询管理-并发控制
|
||
/api/admin/polling-concurrency/{task_type}:
|
||
get:
|
||
parameters:
|
||
- description: 任务类型
|
||
in: path
|
||
name: task_type
|
||
required: true
|
||
schema:
|
||
description: 任务类型
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConcurrencyResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取指定任务类型的并发配置
|
||
tags:
|
||
- 轮询管理-并发控制
|
||
put:
|
||
parameters:
|
||
- description: 任务类型
|
||
in: path
|
||
name: task_type
|
||
required: true
|
||
schema:
|
||
description: 任务类型
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePollingConcurrencyReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新轮询并发配置
|
||
tags:
|
||
- 轮询管理-并发控制
|
||
/api/admin/polling-concurrency/reset:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoResetPollingConcurrencyReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 重置轮询并发计数
|
||
tags:
|
||
- 轮询管理-并发控制
|
||
/api/admin/polling-configs:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 状态 (1:启用, 0:禁用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (1:启用, 0:禁用)
|
||
nullable: true
|
||
type: integer
|
||
- description: 卡状态条件
|
||
in: query
|
||
name: card_condition
|
||
schema:
|
||
description: 卡状态条件
|
||
nullable: true
|
||
type: string
|
||
- description: 卡业务类型
|
||
in: query
|
||
name: card_category
|
||
schema:
|
||
description: 卡业务类型
|
||
nullable: true
|
||
type: string
|
||
- description: 运营商ID
|
||
in: query
|
||
name: carrier_id
|
||
schema:
|
||
description: 运营商ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 配置名称(模糊搜索)
|
||
in: query
|
||
name: config_name
|
||
schema:
|
||
description: 配置名称(模糊搜索)
|
||
maxLength: 100
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConfigPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询配置列表
|
||
tags:
|
||
- 轮询配置管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreatePollingConfigRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConfigResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建轮询配置
|
||
tags:
|
||
- 轮询配置管理
|
||
/api/admin/polling-configs/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除轮询配置
|
||
tags:
|
||
- 轮询配置管理
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConfigResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询配置详情
|
||
tags:
|
||
- 轮询配置管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePollingConfigParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingConfigResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新轮询配置
|
||
tags:
|
||
- 轮询配置管理
|
||
/api/admin/polling-configs/{id}/status:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdatePollingConfigStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新轮询配置状态
|
||
tags:
|
||
- 轮询配置管理
|
||
/api/admin/polling-configs/enabled:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/DtoPollingConfigResponse'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取所有启用的配置
|
||
tags:
|
||
- 轮询配置管理
|
||
/api/admin/polling-manual-trigger/batch:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoTriggerBatchReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoManualTriggerLogResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量手动触发
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-manual-trigger/by-condition:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoTriggerByConditionReq'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoManualTriggerLogResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 条件筛选触发
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-manual-trigger/cancel:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCancelTriggerReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 取消手动触发任务
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-manual-trigger/history:
|
||
get:
|
||
parameters:
|
||
- description: 任务类型筛选
|
||
in: query
|
||
name: task_type
|
||
schema:
|
||
description: 任务类型筛选
|
||
type: string
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoManualTriggerLogListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取手动触发历史
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-manual-trigger/single:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoTriggerSingleReq'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 单卡手动触发
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-manual-trigger/status:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoManualTriggerStatusResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取手动触发状态
|
||
tags:
|
||
- 轮询管理-手动触发
|
||
/api/admin/polling-stats:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingOverviewResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询总览统计
|
||
tags:
|
||
- 轮询管理-监控
|
||
/api/admin/polling-stats/init-progress:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingInitProgressResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询初始化进度
|
||
tags:
|
||
- 轮询管理-监控
|
||
/api/admin/polling-stats/queues:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingQueueStatusListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询队列状态
|
||
tags:
|
||
- 轮询管理-监控
|
||
/api/admin/polling-stats/tasks:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPollingTaskStatsListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取轮询任务统计
|
||
tags:
|
||
- 轮询管理-监控
|
||
/api/admin/roles:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 角色名称模糊查询
|
||
in: query
|
||
name: role_name
|
||
schema:
|
||
description: 角色名称模糊查询
|
||
maxLength: 50
|
||
type: string
|
||
- description: 角色类型 (1:平台角色, 2:客户角色)
|
||
in: query
|
||
name: role_type
|
||
schema:
|
||
description: 角色类型 (1:平台角色, 2:客户角色)
|
||
maximum: 2
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (0:禁用, 1:启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
maximum: 1
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRolePageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 角色列表
|
||
tags:
|
||
- 角色
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateRoleRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRoleResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建角色
|
||
tags:
|
||
- 角色
|
||
/api/admin/roles/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除角色
|
||
tags:
|
||
- 角色
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRoleResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取角色详情
|
||
tags:
|
||
- 角色
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateRoleParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRoleResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新角色
|
||
tags:
|
||
- 角色
|
||
/api/admin/roles/{id}/permissions:
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
items:
|
||
$ref: '#/components/schemas/ModelPermission'
|
||
type: array
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取角色权限
|
||
tags:
|
||
- 角色
|
||
post:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAssignPermissionsParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 分配权限
|
||
tags:
|
||
- 角色
|
||
/api/admin/roles/{id}/status:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateRoleStatusParams'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新角色状态
|
||
tags:
|
||
- 角色
|
||
/api/admin/roles/{role_id}/permissions/{perm_id}:
|
||
delete:
|
||
parameters:
|
||
- description: 角色ID
|
||
in: path
|
||
name: role_id
|
||
required: true
|
||
schema:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
- description: 权限ID
|
||
in: path
|
||
name: perm_id
|
||
required: true
|
||
schema:
|
||
description: 权限ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 移除权限
|
||
tags:
|
||
- 角色
|
||
/api/admin/shop-package-batch-allocations:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoBatchAllocatePackagesRequest'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量分配套餐
|
||
tags:
|
||
- 批量套餐分配
|
||
/api/admin/shop-package-batch-pricing:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoBatchUpdateCostPriceRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoBatchUpdateCostPriceResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 批量调价
|
||
tags:
|
||
- 批量套餐调价
|
||
/api/admin/shop-series-grants:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 过滤被授权店铺ID
|
||
in: query
|
||
name: shop_id
|
||
schema:
|
||
description: 过滤被授权店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 过滤套餐系列ID
|
||
in: query
|
||
name: series_id
|
||
schema:
|
||
description: 过滤套餐系列ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 过滤分配者店铺ID
|
||
in: query
|
||
name: allocator_shop_id
|
||
schema:
|
||
description: 过滤分配者店铺ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 过滤状态 1-启用 2-禁用
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 过滤状态 1-启用 2-禁用
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询代理系列授权列表
|
||
tags:
|
||
- 代理系列授权
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateShopSeriesGrantRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建代理系列授权
|
||
tags:
|
||
- 代理系列授权
|
||
/api/admin/shop-series-grants/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除代理系列授权
|
||
tags:
|
||
- 代理系列授权
|
||
get:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询代理系列授权详情
|
||
tags:
|
||
- 代理系列授权
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateShopSeriesGrantParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新代理系列授权
|
||
tags:
|
||
- 代理系列授权
|
||
/api/admin/shop-series-grants/{id}/packages:
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoManageGrantPackagesParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopSeriesGrantResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 管理授权套餐(新增/更新/删除)
|
||
tags:
|
||
- 代理系列授权
|
||
/api/admin/shops:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 店铺名称模糊查询
|
||
in: query
|
||
name: shop_name
|
||
schema:
|
||
description: 店铺名称模糊查询
|
||
maxLength: 100
|
||
type: string
|
||
- description: 店铺编号模糊查询
|
||
in: query
|
||
name: shop_code
|
||
schema:
|
||
description: 店铺编号模糊查询
|
||
maxLength: 50
|
||
type: string
|
||
- description: 上级店铺ID
|
||
in: query
|
||
name: parent_id
|
||
schema:
|
||
description: 上级店铺ID
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 店铺层级 (1-7级)
|
||
in: query
|
||
name: level
|
||
schema:
|
||
description: 店铺层级 (1-7级)
|
||
maximum: 7
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态 (0:禁用, 1:启用)
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态 (0:禁用, 1:启用)
|
||
nullable: true
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 店铺列表
|
||
tags:
|
||
- 店铺管理
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateShopRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建店铺
|
||
tags:
|
||
- 店铺管理
|
||
/api/admin/shops/{id}:
|
||
delete:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除店铺
|
||
tags:
|
||
- 店铺管理
|
||
put:
|
||
parameters:
|
||
- description: ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoUpdateShopParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新店铺
|
||
tags:
|
||
- 店铺管理
|
||
/api/admin/shops/{shop_id}/commission-records:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
in: query
|
||
name: commission_source
|
||
schema:
|
||
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
|
||
type: string
|
||
- description: ICCID(模糊查询)
|
||
in: query
|
||
name: iccid
|
||
schema:
|
||
description: ICCID(模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 设备虚拟号(模糊查询)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 设备虚拟号(模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 订单号(模糊查询)
|
||
in: query
|
||
name: order_no
|
||
schema:
|
||
description: 订单号(模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 店铺ID
|
||
in: path
|
||
name: shop_id
|
||
required: true
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopCommissionRecordPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 代理商佣金明细
|
||
tags:
|
||
- 代理商佣金管理
|
||
/api/admin/shops/{shop_id}/roles:
|
||
get:
|
||
parameters:
|
||
- description: 店铺ID
|
||
in: path
|
||
name: shop_id
|
||
required: true
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopRolesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询店铺默认角色
|
||
tags:
|
||
- 店铺管理
|
||
post:
|
||
parameters:
|
||
- description: 店铺ID
|
||
in: path
|
||
name: shop_id
|
||
required: true
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoAssignShopRolesRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopRolesResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 分配店铺默认角色
|
||
tags:
|
||
- 店铺管理
|
||
/api/admin/shops/{shop_id}/roles/{role_id}:
|
||
delete:
|
||
parameters:
|
||
- description: 店铺ID
|
||
in: path
|
||
name: shop_id
|
||
required: true
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
- description: 角色ID
|
||
in: path
|
||
name: role_id
|
||
required: true
|
||
schema:
|
||
description: 角色ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除店铺默认角色
|
||
tags:
|
||
- 店铺管理
|
||
/api/admin/shops/{shop_id}/withdrawal-requests:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 提现单号(精确查询)
|
||
in: query
|
||
name: withdrawal_no
|
||
schema:
|
||
description: 提现单号(精确查询)
|
||
maxLength: 50
|
||
type: string
|
||
- description: 申请开始时间(格式:2006-01-02 15:04:05)
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 申请开始时间(格式:2006-01-02 15:04:05)
|
||
type: string
|
||
- description: 申请结束时间(格式:2006-01-02 15:04:05)
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 申请结束时间(格式:2006-01-02 15:04:05)
|
||
type: string
|
||
- description: 店铺ID
|
||
in: path
|
||
name: shop_id
|
||
required: true
|
||
schema:
|
||
description: 店铺ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopWithdrawalRequestPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 代理商提现记录
|
||
tags:
|
||
- 代理商佣金管理
|
||
/api/admin/shops/commission-summary:
|
||
get:
|
||
parameters:
|
||
- description: 页码(默认1)
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码(默认1)
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量(默认20,最大100)
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量(默认20,最大100)
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 店铺名称(模糊查询)
|
||
in: query
|
||
name: shop_name
|
||
schema:
|
||
description: 店铺名称(模糊查询)
|
||
maxLength: 100
|
||
type: string
|
||
- description: 主账号用户名(模糊查询)
|
||
in: query
|
||
name: username
|
||
schema:
|
||
description: 主账号用户名(模糊查询)
|
||
maxLength: 50
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoShopCommissionSummaryPageResult'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 代理商佣金列表
|
||
tags:
|
||
- 代理商佣金管理
|
||
/api/admin/storage/upload-url:
|
||
post:
|
||
description: |-
|
||
## 文件上传流程
|
||
|
||
本接口用于获取对象存储的预签名上传 URL,实现前端直传文件到对象存储。
|
||
|
||
### 完整流程
|
||
|
||
1. **调用本接口** 获取预签名 URL 和 file_key
|
||
2. **使用预签名 URL 上传文件** 发起 PUT 请求直接上传到对象存储
|
||
3. **调用业务接口** 使用 file_key 调用相关业务接口(如 ICCID 导入)
|
||
|
||
### 前端上传示例
|
||
|
||
```javascript
|
||
// 1. 获取预签名 URL
|
||
const { data } = await api.post('/storage/upload-url', {
|
||
file_name: 'cards.xlsx',
|
||
content_type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||
purpose: 'iot_import'
|
||
});
|
||
|
||
// 2. 上传文件到对象存储
|
||
await fetch(data.upload_url, {
|
||
method: 'PUT',
|
||
headers: { 'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' },
|
||
body: file
|
||
});
|
||
|
||
// 3. 调用业务接口
|
||
await api.post('/iot-cards/import', {
|
||
carrier_id: 1,
|
||
batch_no: 'BATCH-2025-01',
|
||
file_key: data.file_key
|
||
});
|
||
```
|
||
|
||
### purpose 可选值
|
||
|
||
| 值 | 说明 | 生成路径格式 |
|
||
|---|------|-------------|
|
||
| iot_import | ICCID/设备导入 (Excel) | imports/YYYY/MM/DD/uuid.xlsx |
|
||
| export | 数据导出 | exports/YYYY/MM/DD/uuid.xlsx |
|
||
| attachment | 附件上传 | attachments/YYYY/MM/DD/uuid.ext |
|
||
|
||
### 注意事项
|
||
|
||
- 预签名 URL 有效期 **15 分钟**,请及时使用
|
||
- 上传时 Content-Type 需与请求时一致
|
||
- file_key 在上传成功后永久有效,用于后续业务接口调用
|
||
- 上传失败时可重新调用本接口获取新的 URL
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoGetUploadURLRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoGetUploadURLResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取文件上传预签名 URL
|
||
tags:
|
||
- 对象存储
|
||
/api/auth/login:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoLoginRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoLoginResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 统一登录(后台+H5)
|
||
tags:
|
||
- 统一认证
|
||
/api/auth/logout:
|
||
post:
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 统一登出
|
||
tags:
|
||
- 统一认证
|
||
/api/auth/me:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoUserInfo'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取用户信息
|
||
tags:
|
||
- 统一认证
|
||
/api/auth/password:
|
||
put:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoChangePasswordRequest'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 修改密码
|
||
tags:
|
||
- 统一认证
|
||
/api/auth/refresh-token:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoRefreshTokenRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRefreshTokenResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 刷新 Token
|
||
tags:
|
||
- 统一认证
|
||
/api/c/v1/bind-wechat:
|
||
post:
|
||
description: 绑定微信账号到当前个人客户
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoWechatOAuthRequest'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 绑定微信
|
||
tags:
|
||
- 个人客户 - 账户
|
||
/api/c/v1/login:
|
||
post:
|
||
description: 使用手机号和验证码登录
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AppLoginRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/AppLoginResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 手机号登录
|
||
tags:
|
||
- 个人客户 - 认证
|
||
/api/c/v1/login/send-code:
|
||
post:
|
||
description: 向指定手机号发送登录验证码
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AppSendCodeRequest'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 发送验证码
|
||
tags:
|
||
- 个人客户 - 认证
|
||
/api/c/v1/profile:
|
||
get:
|
||
description: 获取当前登录客户的个人资料
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/AppPersonalCustomerDTO'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取个人资料
|
||
tags:
|
||
- 个人客户 - 账户
|
||
put:
|
||
description: 更新当前登录客户的昵称和头像
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AppUpdateProfileRequest'
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新个人资料
|
||
tags:
|
||
- 个人客户 - 账户
|
||
/api/c/v1/wechat/auth:
|
||
post:
|
||
description: 使用微信授权码登录,自动创建或关联用户
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoWechatOAuthRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWechatOAuthResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 微信授权登录
|
||
tags:
|
||
- 个人客户 - 认证
|
||
/api/callback/alipay:
|
||
post:
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 支付宝回调
|
||
tags:
|
||
- 支付回调
|
||
/api/callback/wechat-pay:
|
||
post:
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 微信支付回调
|
||
tags:
|
||
- 支付回调
|
||
/api/h5/devices:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
- description: 虚拟号(模糊搜索)
|
||
in: query
|
||
name: virtual_no
|
||
schema:
|
||
description: 虚拟号(模糊搜索)
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterpriseDeviceListResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 企业设备列表(H5)
|
||
tags:
|
||
- H5-企业设备
|
||
/api/h5/devices/{device_id}:
|
||
get:
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: device_id
|
||
required: true
|
||
schema:
|
||
description: 设备ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoEnterpriseDeviceDetailResp'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取设备详情(H5)
|
||
tags:
|
||
- H5-企业设备
|
||
/api/h5/orders:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
minimum: 1
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
maximum: 100
|
||
minimum: 1
|
||
type: integer
|
||
- description: 支付状态 (1:待支付, 2:已支付, 3:已取消, 4:已退款)
|
||
in: query
|
||
name: payment_status
|
||
schema:
|
||
description: 支付状态 (1:待支付, 2:已支付, 3:已取消, 4:已退款)
|
||
maximum: 4
|
||
minimum: 1
|
||
nullable: true
|
||
type: integer
|
||
- description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
in: query
|
||
name: order_type
|
||
schema:
|
||
description: 订单类型 (single_card:单卡购买, device:设备购买)
|
||
type: string
|
||
- description: 订单号(精确查询)
|
||
in: query
|
||
name: order_no
|
||
schema:
|
||
description: 订单号(精确查询)
|
||
maxLength: 30
|
||
type: string
|
||
- description: 订单角色 (self_purchase:自己购买, purchased_by_parent:上级代理购买, purchased_by_platform:平台代购, purchase_for_subordinate:给下级购买)
|
||
in: query
|
||
name: purchase_role
|
||
schema:
|
||
description: 订单角色 (self_purchase:自己购买, purchased_by_parent:上级代理购买, purchased_by_platform:平台代购, purchase_for_subordinate:给下级购买)
|
||
type: string
|
||
- description: 创建时间起始
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 创建时间起始
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 创建时间结束
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 创建时间结束
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 是否已过期 (true:已过期, false:未过期)
|
||
in: query
|
||
name: is_expired
|
||
schema:
|
||
description: 是否已过期 (true:已过期, false:未过期)
|
||
nullable: true
|
||
type: boolean
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderListResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取订单列表
|
||
tags:
|
||
- H5 订单
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateOrderRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建订单
|
||
tags:
|
||
- H5 订单
|
||
/api/h5/orders/{id}:
|
||
get:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoOrderResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取订单详情
|
||
tags:
|
||
- H5 订单
|
||
/api/h5/orders/{id}/wallet-pay:
|
||
post:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 钱包支付
|
||
tags:
|
||
- H5 订单
|
||
/api/h5/orders/{id}/wechat-pay/h5:
|
||
post:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoWechatPayH5Params'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWechatPayH5Response'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 微信 H5 支付
|
||
tags:
|
||
- H5 订单
|
||
/api/h5/orders/{id}/wechat-pay/jsapi:
|
||
post:
|
||
parameters:
|
||
- description: 订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 订单ID
|
||
minimum: 0
|
||
type: integer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoWechatPayJSAPIParams'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoWechatPayJSAPIResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 微信 JSAPI 支付
|
||
tags:
|
||
- H5 订单
|
||
/api/h5/packages/my-usage:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoPackageUsageCustomerViewResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取我的套餐使用情况
|
||
tags:
|
||
- H5-套餐
|
||
/api/h5/wallets/recharge:
|
||
post:
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DtoCreateRechargeRequest'
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRechargeResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建充值订单
|
||
tags:
|
||
- H5 充值
|
||
/api/h5/wallets/recharge-check:
|
||
get:
|
||
parameters:
|
||
- description: 资源类型
|
||
in: query
|
||
name: resource_type
|
||
schema:
|
||
description: 资源类型
|
||
type: string
|
||
- description: 资源ID
|
||
in: query
|
||
name: resource_id
|
||
schema:
|
||
description: 资源ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRechargeCheckResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 充值预检
|
||
tags:
|
||
- H5 充值
|
||
/api/h5/wallets/recharges:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: page
|
||
schema:
|
||
description: 页码
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
schema:
|
||
description: 每页数量
|
||
type: integer
|
||
- description: 钱包ID
|
||
in: query
|
||
name: wallet_id
|
||
schema:
|
||
description: 钱包ID
|
||
minimum: 0
|
||
nullable: true
|
||
type: integer
|
||
- description: 状态
|
||
in: query
|
||
name: status
|
||
schema:
|
||
description: 状态
|
||
nullable: true
|
||
type: integer
|
||
- description: 开始时间
|
||
in: query
|
||
name: start_time
|
||
schema:
|
||
description: 开始时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
- description: 结束时间
|
||
in: query
|
||
name: end_time
|
||
schema:
|
||
description: 结束时间
|
||
format: date-time
|
||
nullable: true
|
||
type: string
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRechargeListResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取充值订单列表
|
||
tags:
|
||
- H5 充值
|
||
/api/h5/wallets/recharges/{id}:
|
||
get:
|
||
parameters:
|
||
- description: 充值订单ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
schema:
|
||
description: 充值订单ID
|
||
minimum: 0
|
||
type: integer
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/DtoRechargeResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"401":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 未认证或认证已过期
|
||
"403":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 无权访问
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取充值订单详情
|
||
tags:
|
||
- H5 充值
|
||
/health:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/RoutesHealthResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 健康检查
|
||
tags:
|
||
- 系统
|
||
/ready:
|
||
get:
|
||
responses:
|
||
"200":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
code:
|
||
description: 响应码
|
||
example: 0
|
||
type: integer
|
||
data:
|
||
$ref: '#/components/schemas/RoutesHealthResponse'
|
||
msg:
|
||
description: 响应消息
|
||
example: success
|
||
type: string
|
||
timestamp:
|
||
description: 时间戳
|
||
format: date-time
|
||
type: string
|
||
required:
|
||
- code
|
||
- msg
|
||
- data
|
||
- timestamp
|
||
type: object
|
||
description: 成功
|
||
"400":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 请求参数错误
|
||
"500":
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ErrorResponse'
|
||
description: 服务器内部错误
|
||
summary: 就绪检查
|
||
tags:
|
||
- 系统
|