feat: enhance operations dashboard and reporting controls

This commit is contained in:
hectorzhao
2026-09-04 16:26:22 +08:00
parent bc18c7ff12
commit 48d0363920
23 changed files with 544 additions and 49 deletions
+14
View File
@@ -5048,3 +5048,17 @@ npm run verify:phase8
| TC-HFQ-008 | 获取企业筛选选项 | 使用轻量options接口,仅返回id/name/code/status且后端过滤deleted,不返回企业认证材料 |
| TC-HFQ-009 | 批量导入解析后切换“保存为可复用映射方案” | 控件使用通用按钮外观、图标和清晰选中态;aria-pressed随状态切换,选中后展示方案名称输入框 |
| TC-HFQ-010 | 查看签名及引流两级操作按钮 | 报备状态、编辑、删除均使用通用sm按钮高度,删除按钮不再高低不齐 |
## TC-ADMIN-ENHANCEMENT-20260904 运营看板与配置交互增强
| 用例ID | 场景 | 预期 |
| --- | --- | --- |
| TC-DASHBOARD-FRAGMENT-001 | 准备当天单分片、长短信多分片及成功/失败回执后打开运营看板,并用PostgreSQL独立聚合复核 | “今日消息分片数”取真实`SmsMessageSegmentAudit`行数;“今日到达率”等于成功到达分片数/发送总分片数,零分片时为0;原总体成功率仍按业务短信统计 |
| TC-DASHBOARD-PROFIT-001 | 准备当天成功短信、返还流水和不同客户价/通道成本快照后打开运营看板 | 今日返还取真实返还流水;今日计收按最终成功短信计费条数×客户价快照;成本按成功分片×通道成本快照,利润与利润率计算一致,收入为0时利润率为0 |
| TC-ENTERPRISE-SIGNATURE-HOVER-001 | 在企业签名列表悬停被截断的签名 | 可查看完整签名、企业、应用、用途、审核状态及创建/更新时间;不增加接口或使用静态数据 |
| TC-NAV-DENSITY-001 | 在桌面端和390px窄屏展开运营端长菜单 | 一级分组、二级菜单上下间距更紧凑,菜单仍可滚动,图标、文本、角标、选中态及点击导航完整可用 |
| TC-SIGNATURE-QUALITY-MATRIX-001 | 打开任一签名发送质量详情,切换整体统计与按引流切分 | 通道×运营商矩阵保留通道、运营商、引流状态、提交次数、成功率、平均到达时间和提交失败数;表头与通道列滚动时可辨识,成功率层级清晰;请求及后端接口不变 |
| TC-REPORT-FIELD-EDIT-001 | 编辑未引用字段的代码、名称、类型和说明后刷新页面 | 修改通过真实PUT接口写入PostgreSQL并记录操作日志,刷新后仍存在;非法代码、空名称、非法类型和重复代码由API拒绝 |
| TC-REPORT-FIELD-EDIT-002 | 编辑已被通道或通用字段引用的字段 | 页面锁定代码和类型,允许修改名称和说明;绕过前端直接修改代码或类型时API返回400,既有通道映射和历史资料不受影响 |
| TC-REPORT-FIELD-ORDER-001 | 分别在签名、引流通用字段中点击上移/下移并刷新 | 仅在当前资料类型内整体重排,真实`sortOrder`按新顺序持久化;并发导致集合变化时明确失败,不产生部分更新 |
| TC-REPORT-WORKBENCH-025 | 在通道报备明细点击单条导出,并分别模拟空请求体和缺失必填资料 | 正常请求以JSON Content-Type提交并下载真实XLSX;空请求体返回可读400而不是500;资料错误明确返回且不静默生成空文件,不改变报备状态或触发短信链路 |
+13
View File
@@ -4425,3 +4425,16 @@ git diff --check
- 预生产最终`.deployed-commit=dada0d978bb05d7046469c1ec77371ddb2fb03bc`。PostgreSQL、Redis、MinIO、API、四个Worker、Gateway、Security Agent、Nginx和Node Exporter共12项服务均`active`,七项应用服务`NRestarts=0 / Result=success`;内外`12026``sms.lisglo.com`、API、Gateway和Callback健康均通过,发布后error级journal为空。
- 服务重启后3条富泷供应商通道一度认证失败,供应商连接从9/9暂为6/9;旧版本回滚阶段同样出现,未修改通道配置或凭据。系统按既有计划自动重试,于20:56:52恢复`desired=9 / connected=9`并持续稳定;Gateway当前4条下游连接均在线且持续收发心跳。三条Redis Stream最终仍为`pending=0 / lag=0`,其entries-read仅随正常连接恢复、回执和协议日志前进;本轮未发送、补发、重投或重新入队短信。
- 工作站从预生产实际回读主资源`index-DHpz4GTj.js``index-rk3aXfEF.css`和状态记录分块`AdminReportRecordsPage-Bo0P2l0_.js`,均HTTP 200,长度分别为370340、236129和8658字节;登录后的状态记录真实交互沿用本地真实API/PostgreSQL/Redis验收结果,未在没有预生产运营登录态时冒充线上登录验收。
## 2026-09-04 运营看板、签名与报备配置增强(本地修改)
- 运营看板新增今日消息分片数和按分片计算的今日到达率,并按当天实时短信、分片审计、客户价及通道成本快照展示今日返还、计收、利润和利润率;聚合直接查询真实业务表,不依赖尚未生成的T+1日报,不改变原业务短信成功率口径。
- 企业签名列表的签名悬停信息补齐完整签名、企业、应用、用途、审核状态及创建/更新时间;导航分组和菜单项纵向间距收紧,保留滚动、折叠、角标和响应式逻辑。
- 签名质量详情的通道×运营商矩阵仅调整前端展示:表头和通道列吸附、单元指标分层、成功率颜色提示更清晰;整体/引流切分、所有原字段和现有后端接口均保留。
- 报备字段定义新增真实编辑接口和操作日志。未引用字段可调整代码、名称、类型和说明;已被通道或通用配置引用时只允许改名称和说明,前后端同时保护映射关键字段。通用字段可在签名/引流各自范围内原子调整顺序,集合变化时拒绝部分更新;未新增数据库字段或migration。
- 通道报备明细单条导出的500根因定位为Blob POST传JSON字符串时未设置`Content-Type: application/json`,Nest未解析请求体。前端请求头已修复,后端为空请求增加可读400保护;导出仍读取真实字段、资料和文件,不改变报备状态,不发送、补发、重投或重新入队短信。
- 测试环境`100.93.204.60`当前ICMP和22端口可达,但约642ms且现有密钥认证失败;本轮没有部署授权,也没有把登录后的测试环境页面冒充已验收。
- 定向API 3套64项、定向前端3文件23项、全量API 52套605项、前端12文件61项通过;前后端TypeScript、Vite生产构建、依赖安全、部署契约、结构质量、包体积和`git diff --check`通过。Vite仅保留既有Chart分块超过500kB提示,入口gzip 107.68KiB,符合250KiB预算。
- Browser插件本轮不可用,按前端调试流程使用工作区Playwright Chromium验证本地生产构建。1600×1000运营看板和质量矩阵、390×844运营看板页面身份、非空、错误层、控制台及横向溢出检查通过;菜单项上下内边距实测7px,矩阵完整保留通道提交、成功率、平均到达和提交失败信息。截图数据只用于布局验证,不冒充真实业务数据。
- 本地真实PostgreSQL启动后,新看板聚合代码直接执行成功,返回当日零短信下分片数、到达率、计收、利润和利润率均为0,确认SQL语法、表关联和零分母处理可运行;本地API健康HTTP 200。Redis未启动时API持续输出连接拒绝,故未将该不完整本地栈作为页面功能验收,验证后已关闭本地API、预览和PostgreSQL。
- 本轮只做本地提交,不推送、不部署,不访问或修改测试/预生产业务数据;不发送、补发、重投或重新入队短信,不修改余额、通道或客户配置。本节与源码、测试用例一并纳入本轮本地提交。