feat: complete drainage review and admin search workflows

This commit is contained in:
hectorzhao
2026-07-14 09:58:18 +08:00
parent dec2430b7e
commit 6421671259
33 changed files with 1107 additions and 255 deletions
+28 -8
View File
@@ -326,18 +326,38 @@
- 优先级:P0
- 前置条件:企业应用已绑定通道组,至少一个目标通道配置 `drainage``both` 报备字段。
- 步骤:
1. 企业签名中新增引流信息,填写动态字段并保存
2. 查询 `DrainageReportMaterial``ChannelSignatureReportTask(reportType=drainage)`
3. 分别从企业签名、通道报备详情、报备任务页修改同一引流项在同一通道的状态
4. 查看报备记录,导出任务并导入回执
1. 客户端在已审核通过的企业签名中新增引流信息,填写动态字段并提交
2. 查询 `SmsDrainageInfo``DrainageReportMaterial``ChannelSignatureReportTask(reportType=drainage)`,并尝试直接调用状态变更接口
3. 在运营端“引流信息审核”查看完整资料并通过,再次查询上述表和报备记录
4. 分别从企业签名、通道报备详情、报备任务页修改同一引流项在同一通道的状态,并在报备记录页按引流信息筛选
5. 客户端修改已通过的引流信息,确认任务冻结后由运营再次审核通过;随后导出任务并导入回执。
6. 对另一条待审引流信息执行带原因驳回,客户端查看驳回原因。
- 预期结果:
- 每个“签名 + 引流项 + 通道”对应独立真实任务,初始为 pending
- 三个入口的状态和通过数/总数一致,修改写入 `ChannelSignatureReportRecord`
- 新建/修改均写独立 `SmsDrainageInfo``AuditRecord(targetType=sms_drainage_info)`;客户端提交为 pending,运营端列表和待审数量同步增加
- 审核通过前没有新的可处理通道任务或可导出材料,直接修改通道报备状态返回 400;审核通过后每个“签名 + 引流项 + 通道”生成独立 pending 任务和 `audit_approved_create/reset` 记录
- 已通过引流信息再次修改后,旧材料被停用、已有任务变为 waiting_review;再次审核通过后材料按新值重建且任务恢复 pending,历史记录保留。
- 三个入口的状态和通过数/总数一致,修改写入 `ChannelSignatureReportRecord.sourceEntry`;报备记录分别显示“企业签名修改”“通道信息修改”“报备任务修改”。
- 引流任务不参与 `SmsSignature.reportStatus` 聚合,也不能被短信发送选路误当为签名报备通过。
- 字段库页面只提供字符串、图片、文件三种类型;API 对其他类型返回 400,历史其他类型迁移为字符串。
- 缺少必填资料时前端禁止提交;直接调用 API 也返回 400,不能绕过页面保存不完整资料。
- 文件通过真实对象存储上传;动态值随签名 JSON 保存,并按来源通道分别写入规范化报备材料表。
- 删除引流项后,对应引流报备材料记录被同步删除,不保留可被后续导出误用的孤立资料
- 文件通过真实对象存储上传;动态值保存在 `SmsDrainageInfo.reportValues`,审核通过后按来源通道分别写入规范化报备材料表。
- 报备任务与报备记录页可区分签名/引流信息并显示真实通道名称、签名内容、站点、地址、备注和所属签名;动作、状态变化显示中文;删除引流项后任务进入 abandoned,不再可导出或改状态,历史记录仍可追溯
### TC-ADMIN-005C 运营列表独立组合搜索与表头对齐
- 优先级:P1
- 前置条件:存在不同企业、应用、签名、引流信息、模板、黑名单和启停状态的数据。
- 步骤:
1. 在企业模板管理分别填写企业名称、企业应用、模板名称、模板内容,再组合查询。
2. 在企业签名管理分别填写企业名称、企业应用、签名名称/用途、引流信息;使用引流站点或 URL 查询。
3. 在企业应用管理组合企业名称、应用名称、状态查询。
4. 在企业黑名单组合企业名称、应用名称、手机号、入库原因、状态查询。
5. 查看充值记录和短信记录表头。
- 预期结果:
- 每个查询条件作为独立 API 参数进入 NestJS,并由 Prisma 对应字段执行 AND 组合过滤,不拼成一个模糊关键字。
- 引流信息命中后只展示包含该命中项的签名分组,并自动展开匹配的引流信息。
- 重置恢复全部数据;列表仍来自真实 PostgreSQL。
- 充值记录和短信记录表头全部靠左对齐。
### TC-ADMIN-005B 企业签名、通道详情和报备任务状态一致性