4.3 KiB
4.3 KiB
Change: 新增轮询管理 - 优先队列 API 前端对接(列表 + 人工优先入队 + 单项详情)
Why
根据 docs/产品迭代8月份/优先队列.md。后端测试环境(https://cmp-api.boss160.cn,Authorization: Bearer <token>)已提供「轮询管理 - 优先队列」能力:
- 查询优先轮询项列表:
GET /api/admin/polling-priority-items - 人工优先入队:
POST /api/admin/polling-priority-items - 查询优先轮询项详情:
GET /api/admin/polling-priority-items/{id}
该能力服务于:
- 查询优先轮询项:分页查询卡轮询优先项,按创建时间倒序,支持卡
card_id、任务类型task_type、状态status、触发类型trigger_type筛选;数据范围按卡所属店铺快照下推:代理只能看到自身及下级店铺资产,平台卡不可见。 - 人工优先入队:为该卡的全部纳入轮询任务类型(实名/流量/套餐/卡状态)建立或合并优先轮询项,原因必填(最长 500 字符)。
不受既有人工触发的每日次数上限与 24 小时去重约束;不修改调度优先级,也不绕过既有并发上限。 - 查询优先轮询项详情:查询单条卡轮询优先项,越权与不存在返回同一响应,不产生可枚举差异,
不提供优先级分级、有效期与人工重触发入口。
What Changes
- 新增能力
polling-priority-queue,提供:- 优先轮询项列表:
- 分页:
GET /api/admin/polling-priority-items,按创建时间倒序; - 筛选:卡
card_id、任务类型task_type、状态status(pending/processing/completed/failed)、触发类型trigger_type(含manual_trigger人工入队); - 列表项字段:
id/card_id/iccid/task_type(_name)/status(_name)/trigger_type(_name)/trigger_types/trigger_count/attempt_count/result(_name)/failure_reason/shop_id_snapshot/source_order_id/source_package_usage_id/manual_operator_id(_name)/manual_reason/claimed_at/last_triggered_at/created_at/updated_at;
- 分页:
- 人工优先入队:
POST /api/admin/polling-priority-items:- 请求
{card_id, reason},reason必填、最长 500 字符; - 语义:为该卡的全部纳入轮询任务类型(实名/流量/套餐/卡状态)建立或合并优先轮询项;
- 约束:同一卡同一任务类型至多一条活动项,重复入队合并
trigger_count与来源集合; - 边界:
不受既有人工触发的每日次数上限与 24 小时去重约束; - 边界:
不修改调度优先级,也不绕过既有并发上限; - 响应:
{card_id, created_count, merged_count, task_types, task_type_names, items[{item_id, task_type(_name), status(_name), trigger_count, created, last_triggered_at}]
- 请求
- 优先轮询项详情:
GET /api/admin/polling-priority-items/{id}:- 越权与不存在返回同一响应,不产生可枚举差异;
不提供优先级分级、有效期与人工重触发入口。
- 优先轮询项列表:
- 任务类型
task_type:polling:realname实名检查 /polling:carddata流量检查 /polling:package套餐检查 /polling:card_status卡状态检查。 - 状态
status:pending待执行 /processing执行中 /completed已完成 /failed失败出队。 - 触发类型
trigger_type:purchase_activated主套餐购买后立即生效 /renewal_activated续购套餐生效 /queue_activated排队主套餐顺延生效 /addon_activated加油包生效 /no_valid_package资产无有效套餐 /manual_trigger人工入队。 - 执行结果
result:success成功 /failed失败 / 空值表示未出结果。 - 错误响应:
400请求参数错误 /401未认证或认证已过期 /403无权访问 /500服务器内部错误。
Impact
- Affected specs:
polling-priority-queue— 新增能力
- Affected code:
src/api/modules/pollingPriorityQueue.ts(新增)src/api/modules/index.tssrc/types/api/pollingPriorityQueue.ts(新增)src/types/api/index.tssrc/config/constants/augustIteration.tssrc/views/polling-management/priority-queue/index.vue(新增)src/router/routesAlias.tssrc/router/routes/asyncRoutes.tssrc/locales/langs/zh.jsonsrc/locales/langs/en.json