From 0b6b664a7ac9a46424881f7acb89907430d9e438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E8=BF=9B?= Date: Thu, 29 Oct 2026 20:06:20 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=94=9F=E4=BA=A7=E5=85=A8=E9=87=8F?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5=E6=B5=8B=E8=AF=95=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E8=BF=9B=E5=BA=A6=EF=BC=88=E5=AF=BC=E5=87=BA=E3=80=81?= =?UTF-8?q?=E5=8F=AA=E8=AF=BB=E8=A1=A8=E3=80=81=E5=AF=BC=E5=85=A5=E3=80=81?= =?UTF-8?q?=E8=BD=AE=E8=AF=A2=E5=8A=A0=E8=BD=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change: add-gateway-readonly-prod-import Co-Authored-By: Claude Opus 5.5 --- .../add-gateway-readonly-prod-import/tasks.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/openspec/changes/add-gateway-readonly-prod-import/tasks.md b/openspec/changes/add-gateway-readonly-prod-import/tasks.md index 9187b669..093dc89a 100644 --- a/openspec/changes/add-gateway-readonly-prod-import/tasks.md +++ b/openspec/changes/add-gateway-readonly-prod-import/tasks.md @@ -18,21 +18,21 @@ - [x] 4.1 按 ENG-TEST-001 在测试库执行迁移 up/down/up,核对表结构。(10-29 执行 268→269→268→269,版本 269) - [x] 4.2 测试库写入现有两张只读卡(`89861590172420410612`、`89861590172420420169`)。 -- [ ] 4.3 `gofmt`、`go build ./cmd/api ./cmd/worker`、`openspec validate add-gateway-readonly-prod-import --strict`;提交并推送,以 Gitea Actions 运行成功确认部署。 -- [ ] 4.4 部署后核对:只读卡的流量、卡状态、实名查询正常,只读设备详情实时状态正常;对只读卡发起一次停机(后台按钮)被拦截、未发出请求、卡状态未变;对非只读测试卡的查询不受影响。 +- [x] 4.3 `gofmt`、`go build ./cmd/api ./cmd/worker`、`openspec validate add-gateway-readonly-prod-import --strict`;提交并推送,以 Gitea Actions 运行成功确认部署。(提交 5cf67b98,Gitea Actions 运行 1313 于 17:05:33 成功) +- [x] 4.4 部署后核对:只读卡的流量、卡状态、实名查询正常,只读设备详情实时状态正常;对只读卡发起一次停机(后台按钮)被拦截、未发出请求、卡状态未变;对非只读测试卡的查询不受影响。(10-29 17:06:只读假卡 89860000000000009999 后台停机返回"测试环境只读资产,已拦截调用:/flow-card/cardStop"、卡状态未变;两张只读卡查询正常、无停复机记录;假卡已删除) ## 5. 全量导入(临时脚本 `cmd/zz_tmp_*`,不提交) -- [ ] 5.1 生产只读导出:卡、设备、有效绑定、卡套餐与设备套餐(待生效 / 生效中 / 已用完)、通道编码与重置日。 -- [ ] 5.2 通道映射:按 `carrier_code` 映射到测试库通道,缺失的按生产配置补建;输出映射与未映射清单。 -- [ ] 5.3 写只读表:全部卡 ICCID 与设备 IMEI;核对行数与导出一致。 -- [ ] 5.4 导入卡与资产标识(ICCID、虚拟号)、设备与绑定,全部挂测试代理 9「测试采购部」,手机号、虚拟号按原值;同卡号已存在则跳过并记录;把测试卡 12244、12245 也挂到代理 9。 -- [ ] 5.5 导入套餐使用记录:保留开始与结束时间、真实已用量、真总量、虚总量、展示倍率、是否启用虚流量、重置周期与下次重置时间、优先级、主套餐 / 加油包关系;订单号 `PROD-<原订单号>`、订单 ID 占位、`package_id` 指向测试占位套餐。 -- [ ] 5.6 全部导入卡置"待建起点";触发轮询重新加载并确认导入卡进入调度。 +- [x] 5.1 生产只读导出:卡、设备、有效绑定、卡套餐与设备套餐(待生效 / 生效中 / 已用完)、通道编码与重置日。(10-29 经 dbhub 分片导出:卡 98,567、设备 20,144、绑定 38,667、套餐 28,681、通道 36) +- [x] 5.2 通道映射:按 `carrier_code` 映射到测试库通道,缺失的按生产配置补建;输出映射与未映射清单。(SBK01 重置日按生产改为 27;新建 28 个通道;36 个全部映射) +- [x] 5.3 写只读表:全部卡 ICCID 与设备 IMEI;核对行数与导出一致。(ICCID 98,567、IMEI 20,139 去重后全部写入,缺失 0) +- [x] 5.4 导入卡与资产标识(ICCID、虚拟号)、设备与绑定,全部挂测试代理 9「测试采购部」,手机号、虚拟号按原值;同卡号已存在则跳过并记录;把测试卡 12244、12245 也挂到代理 9。(新卡 98,558、设备 20,143、绑定 38,664;已存在的 9 张卡与 1 台设备、3 条绑定跳过;12244、12245 挂代理 9) +- [x] 5.5 导入套餐使用记录:保留开始与结束时间、真实已用量、真总量、虚总量、展示倍率、是否启用虚流量、重置周期与下次重置时间、优先级、主套餐 / 加油包关系;订单号 `PROD-<原订单号>`、订单 ID 占位、`package_id` 指向测试占位套餐。(导入 28,676;4,242 条生产计时快照为空,按同名套餐口径补 from_purchase + by_day 30/365 天;订单号前缀 P-;122 个加油包关联主套餐) +- [x] 5.6 全部导入卡置"待建起点";触发轮询重新加载并确认导入卡进入调度。(重新保存轮询配置 29 触发加载;配置 29 只匹配通道 1587 已激活普通卡,导入卡中 3,943 张进入调度,19:05 已有 213 张完成流量检查) - [ ] 5.7 导入后核对:卡、设备、绑定、套餐行数与导出一致;抽查 10 张卡的套餐时间与已用量与生产一致;导入后 1 小时内停复机记录全部为拦截失败、无发出的写请求。 ## 6. 差距报表 -- [ ] 6.1 记录导入时刻生产各套餐真实已用量作为起点。 +- [x] 6.1 记录导入时刻生产各套餐真实已用量作为起点。(起点 = 导出时生产套餐真实已用量,已随套餐导入测试库 data_usage_mb;原始导出与导入脚本留存在 ~/prod-import-20261029/,测试库按 order_id − 800000000 对应生产套餐 ID) - [ ] 6.2 运行至少 24 小时后,按套餐(设备套餐按设备合并)输出:测试环境新增扣减、生产同期新增扣减、差额、是否已到停机线;汇总卡住卡数、总差额(GB)、按新逻辑已到停机线但生产未停的套餐数。 - [ ] 6.3 用 flowcollector 本月读数给出导入前差距上限,与报表一并提交。