feat: add carrier-aware signature retirement alerts
This commit is contained in:
@@ -4488,9 +4488,9 @@ npm run verify:phase8
|
||||
| TC-ENTERPRISE-REGION-003 | 编辑一个已存省市值暂未出现在当前号段字典的历史企业 | 页面将档案原值补入当前选项并正常显示,未主动修改时不会被清空 |
|
||||
| TC-ENTERPRISE-REGION-004 | 断开字典API后打开新建企业 | 页面明确提示省市字典加载失败,不显示Mock、localStorage或旧的写死选项 |
|
||||
|
||||
## 2026-08-09 通道支持运营商多选规划用例(需求暂缓、未执行)
|
||||
## 2026-08-10 通道运营商多选验收用例(本地自动化与浏览器验收完成)
|
||||
|
||||
> 本节仅保存未来验收口径。当前版本不实现运营商多选,以下用例状态均为“暂缓、未执行”,不得据此判定现有系统缺陷或功能已完成。
|
||||
> 2026-08-09暂缓需求已重新纳入签名清退预警前置设计并完成本地兼容实现。以下仍是完整验收口径;自动化、真实本地数据库、构建和授权后的本地浏览器结果见本节末尾,未发送真实短信或向外部Webhook投递验收消息。
|
||||
|
||||
| 用例编号 | 操作 | 未来预期结果 |
|
||||
| --- | --- | --- |
|
||||
@@ -4499,9 +4499,64 @@ npm run verify:phase8
|
||||
| TC-CHANNEL-CARRIER-MULTI-003 | 将支持移动和联通但不支持电信的通道分别加入三类通道组并发送对应运营商短信 | 仅允许加入移动、联通通道组;电信组前后端均拒绝;发送链不会把电信短信选到该通道,通道组、路由规则和短信实际运营商仍为单值 |
|
||||
| TC-CHANNEL-CARRIER-MULTI-004 | 取消通道已被活动通道组引用的运营商,再尝试保存 | 后端返回对应真实通道组及影响并阻止保存,不自动删除成员、路由、报备任务或历史数据;解除活动引用后才允许取消 |
|
||||
| TC-CHANNEL-CARRIER-MULTI-005 | 多运营商通道参与移动、联通、电信发送及成本统计 | 三个运营商继续共用通道唯一单价,客户计费和平台成本不因多选被重复计算;本需求不产生分运营商价格 |
|
||||
| TC-CHANNEL-CARRIER-MULTI-006 | 检查签名报备任务、报备记录和三网汇总 | 当前暂缓方案不得伪造“签名 × 通道 × 运营商”结果;未来实施前必须重新确定报备升级范围,现有“签名 × 通道”历史记录不得删除或复制成多个虚假运营商结果 |
|
||||
| TC-CHANNEL-CARRIER-MULTI-006 | 检查签名报备任务、报备记录和三网汇总 | 签名任务按“签名 × 通道 × 运营商”保存和汇总;现有“签名 × 通道”历史记录保留为`legacy_channel`范围,不删除、不自动复制为多个运营商通过结果;引流信息报备维度和页面保持不变 |
|
||||
| TC-CHANNEL-CARRIER-MULTI-007 | 分阶段部署兼容底座后写入仅支持两个运营商的通道,再执行回滚演练 | 只能回滚到能够读取运营商集合的兼容版本;仅识别旧单值的代码不得重新上线并将双运营商数据误判为三网或单网 |
|
||||
|
||||
## 2026-08-10 运营商级签名报备验收用例(本地自动化与浏览器验收完成)
|
||||
|
||||
| 用例编号 | 操作 | 未来预期结果 |
|
||||
| --- | --- | --- |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-001 | 为支持移动和联通的同一通道创建同一签名的报备任务 | 分别产生移动、联通两个独立任务;不产生电信任务;同一签名、通道、运营商不能重复创建当前任务 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-002 | 分别修改三个运营商任务状态 | 只改变目标运营商状态并写对应任务记录;签名三网摘要按真实任务分别汇总,不由通道级状态复制 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-003 | 任务首次通过、退出通过、再次通过 | `approvedAt`分别记录每次连续通过周期的开始时间;退出通过时旧时间不再作为当前监控起点,全部历史变化保留在记录表 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-004 | 打开签名页、任务页和通道报备详情 | 三个入口展示并操作同一份运营商级任务;运营商、状态、当前通过时间、操作轨迹一致 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-005 | 查看旧三网通道的历史通过任务 | 显示“历史通道级通过(运营商未拆分)”,不显示为移动/联通/电信分别通过,不进入运营商级清退监控 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-006 | 使用“拆分并确认运营商报备结果”分别确认三网状态和时间 | 只按人工确认创建或更新运营商任务,记录操作人、依据和备注;原历史任务及轨迹不删除 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-006A | 打开历史通道级已通过任务的“按运营商确认”弹窗,不进行选择 | 三个运营商均默认“请选择”,不得继承为“已通过”;逐项选择前“确认拆分”不可用,选择“已通过”但未填写有效通过时间时前端不可提交且后端直接拒绝 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-007 | 兼容期发送一条目标运营商短信 | 优先使用运营商级通过任务;只有未拆分历史任务才走受控兼容资格并留下可统计命中记录 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-008 | 历史未拆分数和兼容资格命中数不为0时尝试启用严格门禁 | 后端或发布门禁阻止切换;清零后才允许严格按“签名 × 通道 × 运营商”选路 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-009 | 通道断连、提交超时、补发并切换通道 | 每次重新选路都校验目标运营商报备;不选择未报备通道,也不因其他运营商已通过而放行 |
|
||||
| TC-SIGNATURE-CARRIER-REPORT-010 | 回归引流信息报备创建、状态修改、详情和历史 | 继续按“签名 × 引流信息 × 通道”工作,不出现运营商字段或新增运营商任务,历史数据不变 |
|
||||
|
||||
## 2026-08-10 签名清退预警验收用例(本地自动化与浏览器验收完成)
|
||||
|
||||
| 用例编号 | 操作 | 未来预期结果 |
|
||||
| --- | --- | --- |
|
||||
| TC-SIGNATURE-RETIREMENT-001 | 配置三网通用X/Y规则,并为一个企业应用或通道配置特殊规则 | 特殊规则优先于通用规则;保存规则版本,修改后的规则从下一检测日生效 |
|
||||
| TC-SIGNATURE-RETIREMENT-002 | 同一签名只有移动运营商报备通过 | 只生成移动监控维度;联通、电信不进入名单,不要求三网全部通过 |
|
||||
| TC-SIGNATURE-RETIREMENT-003 | 报备通过不足X个完整自然日后执行检测 | 不预警;达到X个北京时间完整自然日后才按`T-X`至`T-1`判断 |
|
||||
| TC-SIGNATURE-RETIREMENT-004 | 同一业务短信在同一通道因断连或超时产生多次提交 | 提交尝试如实展示多次,通道清退活跃量按`messageRecordId + channelId`只计一次,企业活跃量也只计一次 |
|
||||
| TC-SIGNATURE-RETIREMENT-005 | 同一业务短信从通道A补发到通道B | 企业活跃量只计一次;A、B各自通道活跃量分别计一次;最终成功仍按真实最终回执展示 |
|
||||
| TC-SIGNATURE-RETIREMENT-006 | 同一检测维度连续多日低于阈值,随后恢复,再次低于阈值 | 连续低量属于同一预警周期并保存每日快照;恢复后关闭周期;再次低量创建新周期 |
|
||||
| TC-SIGNATURE-RETIREMENT-007 | 重复执行同一检测日任务或两个实例并发执行 | 数据库唯一约束保证快照、周期、未读消息和Webhook均不重复 |
|
||||
| TC-SIGNATURE-RETIREMENT-008 | 设置自定义临时抑制并跨越到期日 | 抑制期间继续生成检测快照但不产生未抑制提醒或Webhook;到期后的下一检测日自动恢复 |
|
||||
| TC-SIGNATURE-RETIREMENT-009 | 设置永久抑制后从“抑制管理”取消 | 二次确认、原因和操作日志完整;下一检测日恢复,不补发被抑制期间的历史通知 |
|
||||
| TC-SIGNATURE-RETIREMENT-010 | 检查右上角计数并将消息标记已读 | 数字只等于今日未读且未抑制数;已读、已抑制及历史日期消息不计入 |
|
||||
| TC-SIGNATURE-RETIREMENT-011 | 配置多个企业微信和飞书Webhook并触发企业、通道预警 | 企业预警按企业汇总,通道预警按检测批次汇总;地址加密、脱敏,投递异步、幂等、有限重试并保留投递日志 |
|
||||
| TC-SIGNATURE-RETIREMENT-012 | 配置非法协议、内网地址或不可达Webhook | 非安全目标被阻止;合法但不可达目标按上限重试并终结失败,不阻塞检测事务,也不伪造成功 |
|
||||
| TC-SIGNATURE-RETIREMENT-013 | 切换页面日期并检查两类30日方格 | T随日期变化,展示`T-1`至`T-30`;企业按签名×运营商,通道按签名×通道×运营商,数据来自真实后端 |
|
||||
| TC-SIGNATURE-RETIREMENT-014 | 查看尚未报备、报备前、零提交和非零成功率日期 | 尚未报备或报备前显示“不适用”,零提交显示灰色,其他数据按现有六档色阶,悬停数量和成功率与真实聚合一致 |
|
||||
| TC-SIGNATURE-RETIREMENT-015 | 打开改版后的签名质量检测页面 | 企业应用排行、通道占比、当天发送量和当天成功率已删除,其余保留模块和真实查询不回归 |
|
||||
| TC-SIGNATURE-RETIREMENT-016 | 检查顶部任务入口和预警入口 | 原待审核入口改为任务图标但计数、弹层和跳转完整;新增预警铃铛进入预警列表,两个计数互不混用 |
|
||||
| TC-SIGNATURE-RETIREMENT-017 | 分别在北京时间04:00前后、08:00前后运行自动任务,并模拟服务跨过两个时点后重启 | 04:00只生成幂等检测快照且冻结规则版本和消息正文,不产生站内消息/Webhook;08:00才幂等创建站内消息并生成Webhook投递;晚启动按时点顺序补偿且不重复;页面和管理API均不存在手动检测入口 |
|
||||
| TC-SIGNATURE-RETIREMENT-018 | 打开签名质量检测页,并分别翻动企业、通道热力图 | “签名通道发送质量”位于两张热力图之前;两张热力图各按10个维度分页,页码相互独立,翻页不改变另一张页码,30日列仍可横向滚动且数据与真实API一致 |
|
||||
| TC-SIGNATURE-RETIREMENT-019 | 检查两张热力图日期、行首和悬停信息 | 日期从左到右为`T-1`至`T-30`;行首不常驻企业和企业应用,悬停签名可看到企业、企业应用;通道维度仍能识别通道和运营商 |
|
||||
| TC-SIGNATURE-RETIREMENT-020 | 分别在企业、通道热力图搜索企业、企业应用、签名并清空 | 每张热力图只过滤自身真实维度并回到第一页;三类关键字均可命中,清空恢复,另一张热力图的关键字和页码不变 |
|
||||
| TC-SIGNATURE-RETIREMENT-021 | 悬停报备前、无快照、零量和非零量格子 | 报备前显示不适用;无快照说明当日无检测;真实快照明确显示提交条数、上游接受条数、发送成功条数和成功率,发送成功等于真实最终送达而非受理成功 |
|
||||
| TC-SIGNATURE-RETIREMENT-022 | 所选日期构造有签名短信:运营商级已通过、历史通道级已通过、无通过任务、仅其他运营商通过、无签名 | 前两类不进入未报备模块;无通过任务和仅其他运营商通过按签名×实际应用计入;无签名记录不伪造成签名行;总条数与真实`SmsMessageRecord`一致 |
|
||||
| TC-SIGNATURE-RETIREMENT-023 | 在未报备签名模块按企业、企业应用、签名搜索并翻页 | 后端搜索、总数、每页10行和分页结果一致;列表展示签名、企业、实际企业应用和未报备短信条数,修改主统计日期后按新的北京时间自然日重新查询 |
|
||||
| TC-SIGNATURE-RETIREMENT-024 | 首次打开预警页面,随后选择历史日期区间 | 页签和区块标题均为“预警消息”;默认开始、结束均为今日且只返回今日消息,历史区间返回对应历史消息,每页10条并显示真实总数 |
|
||||
| TC-SIGNATURE-RETIREMENT-025 | 分别或组合选择企业、企业应用、签名关键字、通道及日期区间并翻页 | 后端同时应用全部条件,列表、总数和页码一致;条件变化查询后回到第1页,企业应用选项受企业筛选约束 |
|
||||
| TC-SIGNATURE-RETIREMENT-026 | 点击消息“抑制”,分别选择临时截止日期和永久抑制并填写原因 | 只出现平台自研弹窗;临时模式要求未来截止日期,永久模式不显示日期,两种模式原因必填,保存调用真实抑制接口且刷新当前筛选页 |
|
||||
| TC-SIGNATURE-RETIREMENT-027 | 在抑制管理点击“取消抑制”,填写或不填写原因 | 只出现平台自研弹窗;未填原因不能确认,填写后调用真实取消接口并刷新消息及抑制列表,不出现浏览器`prompt/confirm` |
|
||||
| TC-REPORT-RECORD-LAYOUT-001 | 在报备记录页面查看长备注和短备注 | 备注列桌面宽度不小于320px,使用统一长文本换行样式;宽表允许内部横向滚动,备注不被其他固定列挤成窄竖列,详情仍展示全文 |
|
||||
|
||||
### 2026-08-10 本地执行状态
|
||||
|
||||
- 已通过真实本地PostgreSQL迁移和数据约束检查、Prisma校验及84条迁移状态、API全量35个suite/444项测试、发送链112项测试、专项服务测试、API TypeScript构建、前端生产构建、4份Gateway队列结构契约、Gateway全量Go测试和`git diff --check`;检测统计SQL已对真实本地数据库执行,不使用Mock、静态数据或localStorage。
|
||||
- 通道能力集合、通道组兼容、运营商级报备、历史任务人工确认、发送资格兼容双读、每日检测幂等、规则版本、预警周期、抑制和Webhook安全边界已有自动化或数据库证据;严格运营商级发送门禁默认不启用,必须在历史未拆分和兼容命中清零后另行切换。
|
||||
- 未向外部Webhook投递验收消息,未发送、补发或重投真实短信。经用户授权使用本地专用平台管理员和真实算术验证码登录:预警5个页签、规则及Webhook弹窗、历史拆分、顶部独立计数、通道三运营商复选及零选拦截、运营商级报备文案、两类热力图与已删除统计模块均完成可见验收,控制台日志为0。页面已显示04:00自动检测、08:00发消息口径且不存在手动检测按钮。浏览器发现的历史三网默认全通过问题已修复并复验为三个“请选择”、确认按钮禁用。
|
||||
|
||||
## 2026-08-09 通道组按通道筛选用例
|
||||
|
||||
| 用例编号 | 操作 | 预期结果 |
|
||||
|
||||
Reference in New Issue
Block a user