Files
one-pipe-system/openspec/changes/add-traffic-records-and-refund-post-processing/proposal.md

35 lines
3.6 KiB
Markdown
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.
## Why
后端 8-11 迭代在 11-05 新增了流量采集记录分表与记录查询接口、套餐流量人工冲正、退款资产后处理逐次尝试与重试上限,10-29 起资产刷新接口还会返回本次读数是否入账(`traffic_refresh`)。管理后台目前都没有接上:运营看不到采集成功/失败记录和卡日流量,无法人工冲正套餐流量;退款后处理失败到达重试上限后,后台既看不到状态也不能人工重试。依据 `junhong_cmp_fiber/docs/2026-11-06-测试环境8-11新功能前端对接与权限现状.md` 第 2.9、2.11、2.12、5.2 节补齐管理后台。
本变更基于 `iteration/8-11` 分支,只部署测试环境。
## What Changes
- 新增 6 个记录查询列表页:运营商流量采集成功记录、采集失败记录、卡日流量、套餐日流量详单、套餐流量冲正流水、退款资产后处理尝试记录。
- 资产详情新增"采集记录"(按卡,可包含失败记录)。
- 资产详情套餐列表新增"冲正记录"查看与"人工冲正"(正数补扣、负数退回,原因必填)。
- 退款列表、详情展示资产后处理状态、已尝试次数、最后错误、下次自动重试时间;列表支持按后处理状态筛选;"需人工处理"的退款单提供"人工重试"按钮与尝试记录入口。
- 可选:资产"同步"成功后展示本次读数、读数结果、是否写入、写入判断、增量。
- 新增上述页面与按钮的前端权限码常量,并整理清单供测试库补权限数据。
- 不改停复机逻辑:人工冲正、人工重试会由后端按规则触发停复机判断,前端只调用接口;测试环境资产已全部在网关只读表中,不会真实停复机。
## Capabilities
### New Capabilities
- `traffic-record-query`:采集成功/失败记录、卡日流量、套餐日流量详单、冲正流水 4 类全局查询页,以及资产详情中的卡采集记录。
- `package-traffic-adjustment`:资产详情中按套餐查看冲正流水与提交人工冲正。
- `refund-asset-post-processing`:退款后处理状态展示与筛选、人工重试、后处理尝试记录查询页。
- `asset-refresh-traffic-result`:资产同步后展示 `traffic_refresh` 入账结果(可选)。
### Modified Capabilities
(无。本仓库 `openspec/specs/` 下没有已有规格。)
## Impact
- 接口模块:新增 `src/api/modules/trafficRecords.ts`;`refund.ts` 增加人工重试与尝试记录;`asset.ts` 增加采集记录、冲正查询与提交,`AssetRefreshResponse` 类型增加 `traffic_refresh`。
- 类型:`src/types/api/refund.ts` 的 `Refund` 与 `RefundQueryParams` 增加 `asset_post_*` 字段;新增记录查询类型。
- 页面:新增记录查询页(`src/views/asset-management/record-management/*`、`src/views/finance/refund-post-attempts`);修改 `src/views/finance/refund/index.vue`、`detail.vue`、`src/views/asset-management/asset-information`(采集记录、冲正)。
- 路由与权限:`src/router/routes/asyncRoutes.ts`、`routesAlias.ts`,新增权限常量文件;菜单与按钮权限码需在测试库 `tb_permission` 补数据,否则只有超级管理员可见。
- 后端接口(8-11 已提供,不改):`/api/admin/traffic-collections`、`/traffic-collection-failures`、`/card-daily-usages`、`/package-usage-daily-records`、`/package-traffic-adjustments`、`/refund-post-process-attempts`、`/assets/{identifier}/traffic-collections`、`/assets/{identifier}/packages/{package_usage_id}/traffic-adjustments`(GET/POST)、`POST /refunds/{id}/asset-post-processing/retry`、`POST /assets/{identifier}/refresh`。