收口审计治理与套餐任务进展

Constraint: 在线热修前必须保存当前迭代分支全部有效代码进展
Confidence: medium
Scope-risk: broad
Directive: 后续修改需保持审计事件与业务事务边界一致
Tested: git diff --cached --check
Not-tested: 未运行全量测试,提交用于切换分支前保存既有工作
This commit is contained in:
2026-08-05 14:30:54 +08:00
parent b3499adfca
commit 5e552d99bc
178 changed files with 16797 additions and 5674 deletions

View File

@@ -86,3 +86,32 @@ python3 scripts/batch_package_purchase/batch_purchase.py \
- `--execute`:显式开启真实下单。
脚本固定使用 `wallet` 钱包支付,每个资产单独创建一个订单。脚本不会自动重试 POST 请求,避免服务端已成功但客户端未收到响应时重复下单。失败项可根据结果 CSV 人工确认后单独重跑。
## 生成批量失效订单号
`generate_invalidate_orders.py` 读取单列 ICCID CSV调用现有资产套餐查询接口筛选待生效、生效中和已用完状态 `0/1/2`)的套餐,并按订单号去重生成 `order_no` 单列 CSV。已过期和已失效套餐不会进入结果。
```bash
JUNHONG_ADMIN_TOKEN='<后台Access Token>' \
python3 scripts/batch_package_purchase/generate_invalidate_orders.py \
--base-url https://cmp-api.example.com \
--csv scripts/batch_package_purchase/assets.example.csv
```
默认输出文件名为 `原文件名_待失效订单_YYYYMMDD_HHMMSS.csv`,可以通过 `--output` 指定。脚本只查询和生成文件,不会直接执行套餐失效;生成的 CSV 可上传到现有“订单套餐批量失效”功能。
## 批量修改生效中套餐过期时间
`batch_update_package_expiry.py` 读取单列资产标识 CSV查询每个资产全部生效中状态 `1`)的套餐,并将它们统一修改为 `--expires-at` 指定的时间。支持 ICCID、设备虚拟号、IMEI、SN 或 MSISDN。
默认只预演:
```bash
JUNHONG_ADMIN_TOKEN='<后台Access Token>' \
python3 scripts/batch_package_purchase/batch_update_package_expiry.py \
--base-url https://cmp-api.example.com \
--csv scripts/batch_package_purchase/assets.example.csv \
--expires-at '2026-12-31 23:59:59'
```
确认预演结果后增加 `--execute` 才会真实修改。真实执行会逐套餐生成 `原文件名_过期时间修改结果_YYYYMMDD_HHMMSS.csv`,记录原过期时间、新过期时间及接口结果。接口当前只允许后台账号 ID `41``127` 调用。