feat: 流量记录查询、套餐人工冲正与退款资产后处理
Some checks failed
构建并部署前端到测试环境 / deploy (push) Failing after 7m27s

- 新增采集成功/失败记录、卡日流量、套餐日流量详单、冲正流水、退款后处理尝试记录 6 个查询页
- 资产详情新增采集记录、冲正记录与人工冲正,同步后展示本次流量入账结果
- 退款列表与详情展示资产后处理状态,支持按状态筛选、人工重试与查看尝试记录
- 新增前端权限码常量(需在 tb_permission 补数据)
This commit is contained in:
邹进
2026-11-07 13:19:26 +09:00
parent 49a4d32eab
commit 984db9889c
35 changed files with 2693 additions and 31 deletions

View File

@@ -1,44 +1,44 @@
## 1. 类型、接口与常量
- [ ] 1.1 新增记录查询类型(采集成功/失败记录、卡日流量、套餐日流量详单、冲正流水、后处理尝试记录、`traffic_refresh`)
- [ ] 1.2 `types/api/refund.ts`:`Refund` 增加 `asset_post_status`、`asset_post_attempts`、`asset_post_last_error`、`asset_post_next_at`;`RefundQueryParams` 增加 `asset_post_status`
- [ ] 1.3 新增 `api/modules/trafficRecords.ts`(6 个全局查询接口),在 `api/modules/index.ts` 导出
- [ ] 1.4 `api/modules/asset.ts` 增加资产采集记录、套餐冲正查询与提交;`AssetRefreshResponse` 增加 `traffic_refresh`
- [ ] 1.5 `api/modules/refund.ts` 增加人工重试接口
- [ ] 1.6 新增 `config/constants/trafficRecords.ts`:权限码(design D3)、枚举中文名(D5)、31 天跨度校验工具
- [x] 1.1 新增记录查询类型(采集成功/失败记录、卡日流量、套餐日流量详单、冲正流水、后处理尝试记录、`traffic_refresh`)
- [x] 1.2 `types/api/refund.ts`:`Refund` 增加 `asset_post_status`、`asset_post_attempts`、`asset_post_last_error`、`asset_post_next_at`;`RefundQueryParams` 增加 `asset_post_status`
- [x] 1.3 新增 `api/modules/trafficRecords.ts`(6 个全局查询接口),直接按路径引用(未加入 modules/index.ts)
- [x] 1.4 资产采集记录、套餐冲正查询与提交(放在 `trafficRecords.ts` 的 TrafficRecordsService,未改 asset.ts);`AssetRefreshResponse` 增加 `traffic_refresh`
- [x] 1.5 `api/modules/refund.ts` 增加人工重试接口
- [x] 1.6 新增 `config/constants/trafficRecords.ts`:权限码(design D3)、枚举中文名(D5)、31 天跨度校验工具
## 2. 可复用记录组件
- [ ] 2.1 原始数据展开组件:格式化 JSON、截断标注、复制
- [ ] 2.2 `TrafficCollectionRecords.vue`(成功 / 失败两种模式,支持固定 identifier、include_failures)
- [ ] 2.3 `CardDailyUsages.vue`
- [ ] 2.4 `PackageUsageDailyRecords.vue`
- [ ] 2.5 `PackageTrafficAdjustments.vue`(支持固定 identifier + package_usage_id)
- [ ] 2.6 `RefundPostProcessAttempts.vue`(支持固定 refund_id,时间范围必填)
- [ ] 2.7 组件统一处理:默认时间范围、31 天校验、非平台账号必须填资产标识、分页
- [x] 2.1 原始数据展开组件:格式化 JSON、截断标注、复制
- [x] 2.2 `TrafficCollectionRecords.vue`(成功 / 失败两种模式,支持固定 identifier、include_failures)
- [x] 2.3 `CardDailyUsages.vue`
- [x] 2.4 `PackageUsageDailyRecords.vue`
- [x] 2.5 `PackageTrafficAdjustments.vue`(支持固定 identifier + package_usage_id)
- [x] 2.6 `RefundPostProcessAttempts.vue`(支持固定 refund_id,时间范围必填)
- [x] 2.7 组件统一处理:默认时间范围、31 天校验、非平台账号必须填资产标识、分页
## 3. 页面与路由
- [ ] 3.1 新增 5 个记录查询页(资产管理 → 记录管理)与退款后处理尝试记录页(财务管理),注册 `routesAlias.ts` 与 `asyncRoutes.ts`,配置 `meta.permissions`
- [ ] 3.2 菜单多语言文案(`locales`)
- [x] 3.1 新增 5 个记录查询页(资产管理 → 记录管理)与退款后处理尝试记录页(财务管理),注册 `routesAlias.ts` 与 `asyncRoutes.ts`,配置 `meta.permissions`
- [x] 3.2 菜单多语言文案(`locales`)(新菜单沿用停复机记录等页面的写法,标题直接用中文,未加 locales 键)
## 4. 资产详情
- [ ] 4.1 `BasicInfoCard` 为卡与设备绑定卡增加"采集记录"按钮(权限 + 非企业账号),弹窗嵌入 `TrafficCollectionRecords`
- [ ] 4.2 `PackageListCard` 每笔套餐增加"冲正记录",弹窗嵌入 `PackageTrafficAdjustments`
- [ ] 4.3 新增人工冲正弹窗:方向 + 正整数 MB + 原因必填 + 选填关联 ID;二次确认展示预计结果;退回不得小于 0;提交防重复;成功后刷新套餐列表
- [ ] 4.4 (可选)同步成功后展示 `traffic_refresh` 入账结果
- [x] 4.1 `BasicInfoCard` 为卡与设备绑定卡增加"采集记录"按钮(权限 + 非企业账号),弹窗嵌入 `TrafficCollectionRecords`
- [x] 4.2 `PackageListCard` 每笔套餐增加"冲正记录",弹窗嵌入 `PackageTrafficAdjustments`
- [x] 4.3 新增人工冲正弹窗:方向 + 正整数 MB + 原因必填 + 选填关联 ID;二次确认展示预计结果;退回不得小于 0;提交防重复;成功后刷新套餐列表
- [x] 4.4 (可选)同步成功后展示 `traffic_refresh` 入账结果
## 5. 退款
- [ ] 5.1 退款列表增加后处理状态列与筛选项
- [ ] 5.2 退款详情增加后处理状态、尝试次数(/10)、最后错误、下次重试时间
- [ ] 5.3 列表操作列与详情增加"人工重试"(需人工处理 + 平台账号 + 权限),二次确认、防重复,成功替换数据、失败显示错误并重新加载
- [ ] 5.4 退款详情增加"后处理尝试记录"入口,按退款单 ID 打开尝试记录
- [x] 5.1 退款列表增加后处理状态列与筛选项
- [x] 5.2 退款详情增加后处理状态、尝试次数(/10)、最后错误、下次重试时间
- [x] 5.3 列表操作列与详情增加"人工重试"(需人工处理 + 平台账号 + 权限),二次确认、防重复,成功替换数据、失败显示错误并重新加载
- [x] 5.4 退款详情增加"后处理尝试记录"入口,按退款单 ID 打开尝试记录
## 6. 验证与发布
- [ ] 6.1 `vue-tsc --noEmit` 与 `build:development` 通过
- [x] 6.1 `vue-tsc --noEmit` 与 `build:development` 通过(另新增 scripts/tests/trafficRecords.test.mjs;既有 5 个测试文件在未改动基线上即失败,agentRecharge 4 个缺 esbuild,均与本变更无关)
- [ ] 6.2 整理 D3 权限码清单给后端,在测试库 `tb_permission` 补数据并分配测试角色
- [ ] 6.3 超级管理员验证:6 个列表页筛选与原始数据、资产详情采集记录、冲正记录与人工冲正、退款后处理展示与筛选、人工重试
- [ ] 6.4 普通运营账号验证菜单与按钮权限;代理账号验证必须填资产标识、看不到人工重试