2.6 KiB
2.6 KiB
Why
现有批量特殊延期藏在单个资产的延期弹窗里,导入 CSV 要填系统内部的 package_usage_id 且每行单独填天数,运营无法使用;名单有一条不合格就整批拒绝;企微审批单只显示首条资产和条数,审批人看不到 100 个资产的明细;管理端也没有批次查询页面。
What Changes
- 管理端新增独立的「批量延期」弹窗:延期天数、延期类型、原因、依据、附件只填一次,所有资产统一天数。
- 导入文件只有一列:ICCID / 虚拟号 / IMEI;ICCID 对应卡绑定在设备上时按设备处理,同一资产重复只算一次。
- 资产名下所有处于沉默期的套餐(已过期、待实名)全部延期;新增"过期前延期":待实名套餐也可通过特殊延期把截止日延后(原截止日 + 天数),状态保持待实名。
- 新增预检:逐资产逐套餐列出可延期 / 不可延期及原因、原截止日、新截止日;提交时只提交可延期的,不可延期的记入批次结果(不再整批拒绝)。
- 企微审批:资产数 ≤ 5 时审批单"资产"列出全部资产号;> 5 时系统生成 xlsx 明细作为附件上传到审批单(新增业务字段"延期明细",模板增加附件控件);明细文件同时可在管理端下载。
- 管理端新增延期批次列表与详情页:审批状态、成功 / 失败 / 跳过条数、逐条结果、下载明细。
- 原有按
package_usage_id的单资产特殊延期保持不变。
Capabilities
New Capabilities
(无)
Modified Capabilities
package-silence-extension(本迭代add-package-silence-period引入,尚未归档):新增按资产号的批量特殊延期、预检、过期前延期、审批明细附件、批次查询。以 ADDED 需求补充,不修改未归档变更的原文。
Impact
- 后端:
internal/application/packagesilence/(新增批量资产解析、预检、过期前延期执行、明细 xlsx 生成)、审批字段常量与企微场景字段登记(internal/application/wecom/scene.go)、DTO 与路由。 - 依赖:复用已引入的
github.com/xuri/excelize/v2与对象存储;企微附件复用现有审批附件上传。 - 数据库:延期批次增加明细文件 Key、跳过明细(jsonb)字段;延期明细允许来源状态为待实名。
- 企微:沉默期审批模板新增"延期明细"附件控件;场景配置新增映射。
- 管理端前端(
iteration/8-11):批量延期弹窗、批次列表与详情页(另在前端仓库落地)。 - 只部署测试环境。