Files
邹进 1d6c212d04
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m35s
feat: 第1批 M5 补充 IoT 卡导出追加使用/剩余流量(GB)列
- 新任务在「套餐到期时间」后追加「使用流量(GB)」「剩余流量(GB)」,同行 MB ÷ 1024 两位小数
- 冻结表头按末列识别三版尾列,历史任务行宽不变
- OpenSpec 补充提案、设计、spec 与任务 3.2/5.6

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:00:44 +09:00

3.1 KiB
Raw Permalink Blame History

Why

8-9 月迭代中的 4 个优化项原排在第 2 批,2026-10-11 确定并入第 1 批一起交付:修改密码失败只提示“参数验证失败”(M1),且各入口密码规则不一(6~20、6~50、6~64、8~32 位)、只限长度无强度要求;订单导出缺“操作人”(M4,运营清单 B-1);IoT 卡导出缺“套餐到期时间”(M5,运营清单 21);设备导出流量未标单位、无 GB 合计(M6,运营清单 22)。2026-10-14 确认 IoT 卡导出也补 GB 流量列,与设备导出口径一致(M5 补充)。内容沿用原 fix-august-iteration-follow-up-gaps 中已核实的方案,依据为《8-9月迭代排期安排》。

What Changes

  • BREAKING 所有设置登录密码的入口统一为:8~12 位、仅 ASCII 可见字符、大写/小写/数字/特殊符号四类至少三类。长度不符返回 1001,强度不足返回 1016。存量密码照常登录,不强制修改。
  • PUT /api/auth/password 校验失败消息改为“修改密码参数不合法:”加字段与规则,例如“新密码长度不能小于 8”;不回显密码。
  • 订单导出新任务在最后一列增加“操作人”,取订单冻结的 operator_name。
  • IoT 卡导出新任务在最后一列增加“套餐到期时间”,复用卡列表最终到期推算,只有精确推算时输出。
  • 设备导出新任务表头改为 ICCIDn使用的流量(MB)、“设备合计(MB)”,在最后一列新增“设备合计(GB)”(MB ÷ 1024,两位小数)。
  • IoT 卡导出新任务在“套餐到期时间”之后追加“使用流量(GB)”“剩余流量(GB)”两列(对应 MB 列 ÷ 1024,两位小数);原 MB 列不变(M5 补充,2026-10-14 确认)。
  • 历史导出任务按冻结表头输出,不插入新列。

Capabilities

New Capabilities

无。

Modified Capabilities

  • identity-access:登录密码统一长度与强度规则;修改密码接口的字段级中文校验提示。
  • export-task:订单、IoT 卡、设备三类导出的新列、来源、单位与历史任务表头兼容。

Impact

  • 代码:pkg/validator(新增登录密码规则函数);设置密码的服务入口 internal/service/auth/service.go、internal/service/account/service.go、internal/application/shop/create.go、internal/service/enterprise/service.go、internal/domain/distribution/distribution.go;相关 DTO 校验标签(auth_dto.go、account_dto.go、shop_dto.go、enterprise_dto.go、agent_distribution_dto.go);internal/handler/auth/handler.go、internal/exporter/order_scene.go、internal/exporter/iot_card_scene.go(批量调用 packageexpiry.Query.ResolveBatch)、internal/exporter/device_scene.go。
  • 接口:七个设置密码入口的长度上限与强度规则变化,修改密码错误消息变化;三类导出新任务表头变化;重新生成接口文档。
  • 前端:后台建账号、改密码、新增企业、建店铺与 H5 代理注册页面的密码提示与前端校验需同步改为新规则;导出无需改动。
  • 无数据库迁移,不改 Redis 与第三方调用。