Files
junhong_cmp_fiber/docs/admin-openapi.yaml
huang e45610661e
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m57s
docs: 更新 admin OpenAPI 文档,新增 asset_wallet 接口定义
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-16 15:44:02 +08:00

19340 lines
757 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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: 运营商IDselection_type=filter时可选
minimum: 0
nullable: true
type: integer
iccid_end:
description: 结束ICCIDselection_type=range时必填
maxLength: 20
type: string
iccid_start:
description: 起始ICCIDselection_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: 本月已用流量MBasset_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: 绑定的设备IDasset_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: 卡ICCIDasset_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: 套餐系列ID0表示清除关联
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: 套餐系列ID0表示清除关联
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: 运营商IDselection_type=filter时可选
minimum: 0
nullable: true
type: integer
iccid_end:
description: 结束ICCIDselection_type=range时必填
maxLength: 20
type: string
iccid_start:
description: 起始ICCIDselection_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: 分配者店铺ID0 表示平台
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套餐系列ID0表示清除关联
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套餐系列ID0表示清除关联
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:
- 系统