# 批量套餐失效订单生成脚本功能总结 ## 功能说明 新增 `scripts/batch_package_purchase/generate_invalidate_orders.py`,读取单列 ICCID CSV,通过现有后台资产套餐接口查询状态为待生效、生效中或已用完的套餐,按订单号去重后生成现有订单套餐批量失效功能要求的单列 CSV。 ## 边界与安全 - 仅接受 19 或 20 位 ICCID,并复用批量购买脚本的表头、重复值和单列校验。 - 只读取现有受权后台接口,不直连数据库,不新增依赖。 - 已过期和已失效套餐不进入结果;无订单号的套餐记录跳过。 - 任一 ICCID 查询失败时整批终止,不生成不完整的订单号文件。 - 脚本不触发套餐失效,实际状态变更继续使用已有批量失效功能。 ## 输出 输出文件首行为 `order_no`,后续每行一个去重后的订单号,可直接上传到已有订单套餐批量失效功能。