Files
junhong_cmp_fiber/docs/admin-openapi.yaml
huang b18ecfeb55
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m29s
refactor: 一次性佣金配置从套餐级别提升到系列级别
主要变更:
- 新增 tb_shop_series_allocation 表,存储系列级别的一次性佣金配置
- ShopPackageAllocation 移除 one_time_commission_amount 字段
- PackageSeries 新增 enable_one_time_commission 字段控制是否启用一次性佣金
- 新增 /api/admin/shop-series-allocations CRUD 接口
- 佣金计算逻辑改为从 ShopSeriesAllocation 获取一次性佣金金额
- 删除废弃的 ShopSeriesOneTimeCommissionTier 模型
- OpenAPI Tag '系列分配' 和 '单套餐分配' 合并为 '套餐分配'

迁移脚本:
- 000042: 重构佣金套餐模型
- 000043: 简化佣金分配
- 000044: 一次性佣金分配重构
- 000045: PackageSeries 添加 enable_one_time_commission 字段

测试:
- 新增验收测试 (shop_series_allocation, commission_calculation)
- 新增流程测试 (one_time_commission_chain)
- 删除过时的单元测试(已被验收测试覆盖)
2026-02-04 14:28:44 +08:00

16275 lines
631 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
device_no:
description: 设备号
type: string
reason:
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
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
device_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
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
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:钱包支付, offline:线下支付)
type: string
required:
- order_type
- package_ids
- payment_method
type: object
DtoCreatePackageRequest:
properties:
cost_price:
description: 成本价(分)
minimum: 0
type: integer
duration_months:
description: 套餐时长(月数)
maximum: 120
minimum: 1
type: integer
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
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
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
DtoCreateShopPackageAllocationRequest:
properties:
cost_price:
description: 该代理的成本价(分)
minimum: 0
type: integer
package_id:
description: 套餐ID
minimum: 0
type: integer
shop_id:
description: 被分配的店铺ID
minimum: 0
type: integer
required:
- shop_id
- package_id
- cost_price
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
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
- init_password
- init_username
- init_phone
type: object
DtoCreateShopSeriesAllocationRequest:
properties:
enable_force_recharge:
description: 是否启用强制充值
nullable: true
type: boolean
enable_one_time_commission:
description: 是否启用一次性佣金
nullable: true
type: boolean
force_recharge_amount:
description: 强制充值金额(分)
minimum: 0
nullable: true
type: integer
force_recharge_trigger_type:
description: 强充触发类型 (1:单次充值, 2:累计充值)
nullable: true
type: integer
one_time_commission_amount:
description: 该代理能拿的一次性佣金金额上限(分)
minimum: 0
type: integer
one_time_commission_threshold:
description: 一次性佣金触发阈值(分)
minimum: 0
nullable: true
type: integer
one_time_commission_trigger:
description: 一次性佣金触发类型 (first_recharge:首次充值, accumulated_recharge:累计充值)
type: string
series_id:
description: 套餐系列ID
minimum: 0
type: integer
shop_id:
description: 被分配的店铺ID
minimum: 0
type: integer
required:
- shop_id
- series_id
- one_time_commission_amount
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
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
DtoDeviceCardOperationReq:
properties:
reason:
description: 操作原因
type: string
type: object
DtoDeviceCardOperationResp:
properties:
message:
description: 操作结果消息
type: string
success:
description: 操作是否成功
type: boolean
type: object
DtoDeviceImportResultItemDTO:
properties:
device_no:
description: 设备号
type: string
line:
description: 行号
type: integer
reason:
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_no:
description: 设备号
type: string
device_type:
description: 设备类型
type: string
first_commission_paid:
description: 一次性佣金是否已发放
type: boolean
id:
description: 设备ID
minimum: 0
type: integer
manufacturer:
description: 制造商
type: string
max_sim_slots:
description: 最大插槽数
type: integer
series_id:
description: 套餐系列ID
minimum: 0
nullable: true
type: integer
shop_id:
description: 店铺ID
minimum: 0
nullable: true
type: integer
shop_name:
description: 店铺名称
type: string
status:
description: 状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
type: integer
status_name:
description: 状态名称
type: string
updated_at:
description: 更新时间
format: date-time
type: string
type: object
DtoDeviceSeriesBindngFailedItem:
properties:
device_id:
description: 设备ID
minimum: 0
type: integer
device_no:
description: 设备号
type: string
reason:
description: 失败原因
type: string
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
device_no:
description: 设备号
type: string
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
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_no:
description: 设备号
type: string
device_type:
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
device_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:
device_no:
description: 设备号
type: string
reason:
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
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
DtoIotCardDetailResponse:
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
cost_price:
description: 成本价(分)
type: integer
created_at:
description: 创建时间
format: date-time
type: string
data_usage_mb:
description: 累计流量使用(MB)
type: integer
distribute_price:
description: 分销价(分)
type: integer
first_commission_paid:
description: 一次性佣金是否已发放
type: boolean
iccid:
description: ICCID
type: string
id:
description: 卡ID
minimum: 0
type: integer
imsi:
description: IMSI
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
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
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
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
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:
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
id:
description: 订单ID
minimum: 0
type: integer
iot_card_id:
description: IoT卡ID
minimum: 0
nullable: true
type: integer
is_purchase_on_behalf:
description: 是否为代购订单
type: boolean
items:
description: 订单明细列表
items:
$ref: '#/components/schemas/DtoOrderItemResponse'
nullable: true
type: array
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
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:
cost_price:
description: 成本价(分)
type: integer
created_at:
description: 创建时间
type: string
current_commission_rate:
description: 当前返佣比例(仅代理用户可见)
type: string
duration_months:
description: 套餐时长(月数)
type: integer
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
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
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
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
from_shop_id:
description: 来源店铺ID被回收方
minimum: 1
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:
- from_shop_id
- 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
device_no:
description: 设备号
type: string
iccids:
description: 卡ICCID列表
items:
type: string
nullable: true
type: array
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
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:
download_speed:
description: 下行速率KB/s
minimum: 1
type: integer
upload_speed:
description: 上行速率KB/s
minimum: 1
type: integer
required:
- upload_speed
- download_speed
type: object
DtoSetWiFiRequest:
properties:
enabled:
description: 启用状态0:禁用, 1:启用)
type: integer
password:
description: WiFi 密码
maxLength: 63
minLength: 8
type: string
ssid:
description: WiFi 名称
maxLength: 32
minLength: 1
type: string
required:
- ssid
- password
- enabled
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
device_no:
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
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
DtoShopPackageAllocationPageResult:
properties:
list:
description: 分配列表
items:
$ref: '#/components/schemas/DtoShopPackageAllocationResponse'
nullable: true
type: array
page:
description: 当前页
type: integer
page_size:
description: 每页数量
type: integer
total:
description: 总数
type: integer
total_pages:
description: 总页数
type: integer
type: object
DtoShopPackageAllocationResponse:
properties:
allocator_shop_id:
description: 分配者店铺ID0表示平台分配
minimum: 0
type: integer
allocator_shop_name:
description: 分配者店铺名称
type: string
cost_price:
description: 该代理的成本价(分)
type: integer
created_at:
description: 创建时间
type: string
id:
description: 分配ID
minimum: 0
type: integer
package_code:
description: 套餐编码
type: string
package_id:
description: 套餐ID
minimum: 0
type: integer
package_name:
description: 套餐名称
type: string
series_allocation_id:
description: 关联的系列分配ID
minimum: 0
nullable: true
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
updated_at:
description: 更新时间
type: string
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
DtoShopSeriesAllocationPageResult:
properties:
list:
description: 分配列表
items:
$ref: '#/components/schemas/DtoShopSeriesAllocationResponse'
nullable: true
type: array
page:
description: 当前页
type: integer
page_size:
description: 每页数量
type: integer
total:
description: 总数
type: integer
total_pages:
description: 总页数
type: integer
type: object
DtoShopSeriesAllocationResponse:
properties:
allocator_shop_id:
description: 分配者店铺ID0表示平台分配
minimum: 0
type: integer
allocator_shop_name:
description: 分配者店铺名称
type: string
created_at:
description: 创建时间
type: string
enable_force_recharge:
description: 是否启用强制充值
type: boolean
enable_one_time_commission:
description: 是否启用一次性佣金
type: boolean
force_recharge_amount:
description: 强制充值金额(分)
type: integer
force_recharge_trigger_type:
description: 强充触发类型 (1:单次充值, 2:累计充值)
type: integer
id:
description: 分配ID
minimum: 0
type: integer
one_time_commission_amount:
description: 该代理能拿的一次性佣金金额上限(分)
type: integer
one_time_commission_threshold:
description: 一次性佣金触发阈值(分)
type: integer
one_time_commission_trigger:
description: 一次性佣金触发类型
type: string
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
cost_price:
description: 成本价(分)
type: integer
created_at:
description: 创建时间
format: date-time
type: string
data_usage_mb:
description: 累计流量使用(MB)
type: integer
distribute_price:
description: 分销价(分)
type: integer
first_commission_paid:
description: 一次性佣金是否已发放
type: boolean
iccid:
description: ICCID
type: string
id:
description: 卡ID
minimum: 0
type: integer
imsi:
description: IMSI
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
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
type: object
DtoSwitchCardRequest:
properties:
target_iccid:
description: 目标卡 ICCID
type: string
required:
- target_iccid
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
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:
cost_price:
description: 成本价(分)
minimum: 0
nullable: true
type: integer
duration_months:
description: 套餐时长(月数)
maximum: 120
minimum: 1
nullable: true
type: integer
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
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
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
DtoUpdateShopPackageAllocationParams:
properties:
cost_price:
description: 该代理的成本价(分)
minimum: 0
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
DtoUpdateShopSeriesAllocationParams:
properties:
enable_force_recharge:
description: 是否启用强制充值
nullable: true
type: boolean
enable_one_time_commission:
description: 是否启用一次性佣金
nullable: true
type: boolean
force_recharge_amount:
description: 强制充值金额(分)
minimum: 0
nullable: true
type: integer
force_recharge_trigger_type:
description: 强充触发类型 (1:单次充值, 2:累计充值)
nullable: true
type: integer
one_time_commission_amount:
description: 该代理能拿的一次性佣金金额上限(分)
minimum: 0
nullable: true
type: integer
one_time_commission_threshold:
description: 一次性佣金触发阈值(分)
minimum: 0
nullable: true
type: integer
one_time_commission_trigger:
description: 一次性佣金触发类型
nullable: true
type: string
status:
description: 状态 (1:启用, 2:禁用)
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
GatewayCardStatusResp:
properties:
cardStatus:
description: 卡状态(准备、正常、停机)
type: string
extend:
description: 扩展字段(广电国网特殊参数)
type: string
iccid:
description: ICCID
type: string
type: object
GatewayDeviceInfoResp:
properties:
downloadSpeed:
description: 下行速率KB/s
type: integer
extend:
description: 扩展字段(广电国网特殊参数)
type: string
imei:
description: 设备 IMEI
type: string
onlineStatus:
description: 在线状态0:离线, 1:在线)
type: integer
signalLevel:
description: 信号强度0-31
type: integer
uploadSpeed:
description: 上行速率KB/s
type: integer
wifiEnabled:
description: WiFi 启用状态0:禁用, 1:启用)
type: integer
wifiSsid:
description: WiFi 名称
type: string
type: object
GatewayFlowUsageResp:
properties:
extend:
description: 扩展字段(广电国网特殊参数)
type: string
unit:
description: 流量单位MB
type: string
usedFlow:
description: 已用流量
type: integer
type: object
GatewayRealnameLinkResp:
properties:
extend:
description: 扩展字段(广电国网特殊参数)
type: string
link:
description: 实名认证跳转链接HTTPS URL
type: string
type: object
GatewayRealnameStatusResp:
properties:
extend:
description: 扩展字段(广电国网特殊参数)
type: string
status:
description: 实名认证状态
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/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/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: device_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:
- 设备管理
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/DtoDeviceResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-imei/{imei}:
get:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
type: string
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoDeviceResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-imei/{imei}/gateway-info:
get:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
type: string
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/GatewayDeviceInfoResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-imei/{imei}/gateway-slots:
get:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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-imei/{imei}/reboot:
post:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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-imei/{imei}/reset:
post:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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-imei/{imei}/speed-limit:
put:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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-imei/{imei}/switch-card:
post:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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-imei/{imei}/wifi:
put:
parameters:
- description: 设备号(IMEI)
in: path
name: imei
required: true
schema:
description: 设备号(IMEI)
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+)
- 必须包含列(首行为表头):
- `device_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: device_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}/cards/{card_id}/resume:
post:
parameters:
- description: 企业ID
in: path
name: id
required: true
schema:
description: 企业ID
minimum: 0
type: integer
- description: 卡ID
in: path
name: card_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/enterprises/{id}/cards/{card_id}/suspend:
post:
parameters:
- description: 企业ID
in: path
name: id
required: true
schema:
description: 企业ID
minimum: 0
type: integer
- description: 卡ID
in: path
name: card_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/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: device_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}/gateway-flow:
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/GatewayFlowUsageResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/{iccid}/gateway-realname:
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/GatewayRealnameStatusResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/{iccid}/gateway-status:
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/GatewayCardStatusResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/{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/{iccid}/start:
post:
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:
- IoT卡管理
/api/admin/iot-cards/{iccid}/stop:
post:
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:
- IoT卡管理
/api/admin/iot-cards/by-iccid/{iccid}:
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/DtoIotCardDetailResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 无权访问
"500":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 服务器内部错误
security:
- BearerAuth: []
summary: 通过ICCID查询单卡详情
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`
- 首行为表头(可选,但建议包含)
- 列格式:设置为文本格式(避免长数字被转为科学记数法)
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: 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: device_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: 创建时间起始
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/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/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/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-allocations:
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: package_id
schema:
description: 套餐ID
minimum: 0
nullable: true
type: integer
- description: 系列分配ID
in: query
name: series_allocation_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/DtoShopPackageAllocationPageResult'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/DtoCreateShopPackageAllocationRequest'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoShopPackageAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-allocations/{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/DtoShopPackageAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/DtoUpdateShopPackageAllocationParams'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoShopPackageAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-allocations/{id}/cost-price:
put:
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/DtoShopPackageAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-allocations/{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/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-allocations:
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/DtoShopSeriesAllocationPageResult'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/DtoCreateShopSeriesAllocationRequest'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoShopSeriesAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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-allocations/{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/DtoShopSeriesAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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/DtoUpdateShopSeriesAllocationParams'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoShopSeriesAllocationResponse'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 未认证或认证已过期
"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: device_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: device_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/devices/{device_id}/cards/{card_id}/resume:
post:
parameters:
- description: 设备ID
in: path
name: device_id
required: true
schema:
description: 设备ID
minimum: 0
type: integer
- description: 卡ID
in: path
name: card_id
required: true
schema:
description: 卡ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DtoDeviceCardOperationReq'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoDeviceCardOperationResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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}/cards/{card_id}/suspend:
post:
parameters:
- description: 设备ID
in: path
name: device_id
required: true
schema:
description: 设备ID
minimum: 0
type: integer
- description: 卡ID
in: path
name: card_id
required: true
schema:
description: 卡ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DtoDeviceCardOperationReq'
responses:
"200":
content:
application/json:
schema:
properties:
code:
description: 响应码
example: 0
type: integer
data:
$ref: '#/components/schemas/DtoDeviceCardOperationResp'
msg:
description: 响应消息
example: success
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- msg
- data
- timestamp
type: object
description: 成功
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 请求参数错误
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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: 创建时间起始
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/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/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:
- 系统