@@ -3373,21 +3373,12 @@ git diff --check
- 9条active供应商通道发布重启后6条为`connected 1/1` ;“会员营销-富泷”“移动物业-富泷”“联电物业-富泷”3条仍返回`connect response status: auth failed` 。本轮未修改其账号、密码、启停状态或连接参数,只保留并报告供应商真实返回。
- 发布依赖审计仍报告根项目3项high、API项目3项moderate和4项high;专用安全缓解门禁通过,未执行可能破坏兼容性的自动升级。本次没有执行任何真实模板、签名、通道或通道组删除,未发送、补发或重投短信,未修改企业余额、客户连接或供应商通道配置。
## 2026-08-09 签名发送质量多周期趋势(本地验证完成)
## 2026-08-09 签名发送质量多周期趋势完整回滚
- 运营端菜单及面包屑更名为“签名发送质量”,日期控件明确为统计截止日。近3/7/30日全部包含截止日当天;前端以自然日补齐趋势日期,不因数据库无记录而省略日期点 。
- `GET /api/admin/operations/signature-quality` 将签名列表候选及列表概览扩展为截至所选日期的近30日,并增加当天发送签名去重数,以及当前分页签名近30日按最终通道、运营商、自然日聚合的真实业务短信统计。截止日当天无发送但此前29日有发送的签名仍可查询;统计直接读取 `SmsMessageRecord` ,不按长短信分片或 `SmsSubmitRecord` 补发尝试重复计数 。
- 签名详情新增“通道 × 运营商业务质量”表,逐组合展示近3/7/30日发送业务条数、到达业务条数和到达率;点击周期打开双轴折线图,展示逐日发送、到达和到达率。原单日运营商概览、通道提交矩阵和按引流切分继续保留,避免改变既有提交尝试诊断口径 。
- 页面新增“当天发送签名数量”指标,按截止日内关联已登记签名的不同 `signatureId` 去重,且不受列表关键字筛选影响。未增加数据库字段或migration 。
- Node.js v24下运营统计专项1 suite / 28 tests通过;API正式TypeScript构建、前端TypeScript及Vite v8.1.5生产构建通过(2535 modules,仅保留既有约2.04MB单chunk提示); `operations-r2` 结构契约已按本次明确修改的 `signatureQuality` 行为更新并重新通过。发布与预生产只读验收结果待完成后补记 。
- 发布前通过SSH对预生产PostgreSQL执行同口径只读探测:北京时间2026-08-09当天共有3个已登记签名、218条业务消息;近30日按签名、最终通道、运营商和北京时间自然日分组SQL成功执行并返回真实数据,未修改数据库或触发短信发送 。
## 2026-08-09 签名发送质量多周期趋势预生产发布记录(`35de17a2` )
- 本需求11个有效源码、测试、结构契约和文档文件提交为`35de17a2d44702d3ec3e839362a37d6f2bf26c89` 并推送`origin/main` 。首次推送遇到远端HTTP认证失败,未改动或输出凭据,使用既有凭据助手安全重试后成功;受保护的`api/tsconfig.build.tsbuildinfo` 、根目录`tsconfig.tsbuildinfo` 、`outputs/` 和空文件`=` 未提交、未删除。
- 精确Git归档`outputs/cmpp-35de17a2-20260809-225544.tar.gz` 为2169000字节,本地与服务器SHA-256均为`1100ecf742c87f50faf48abbfb088a0a2ae26a03e2cae33b044fb5254d3d5f3e` ,服务器tar完整性校验通过。
- 发布前恢复资产位于`/opt/cmpp-platform-backups/releases/20260809-225544-before-35de17a2` 。PostgreSQL备份为16763214字节、SHA-256=`023c5286e6ce6852af69de8e76a0a851eb5dfed21d95acc627ff66e345c6a02f` ;运行源码为2130043字节、SHA-256=`7cfa9541d4c2eafd4a11d40eef0ea530dcf7ff45708c5892c0f085891b218a84` ;环境文件为895字节、SHA-256=`7a26d83b062f9d7e9503e2a987f39a899510f8981be63be997bccfc988fbbc60` 。备份目录为0700,文件及校验单为0600, gzip、tar和SHA-256校验均通过;上一完整运行目录保留为`/opt/cmpp-platform.previous-20260809-225544` 。
- 标准`tools/deploy/production-deploy.sh` 成功完成依赖安装、安全缓解门禁、Prisma generate/migrate、前端/API/Gateway构建、Nginx校验及服务重启。预生产仍为83条已完成migration、无待执行项,最终`.deployed-commit=35de17a2d44702d3ec3e839362a37d6f2bf26c89` 。远程封装脚本仅在部署主体成功后最后读取标记时受PowerShell行尾字符影响返回非零;当时失败恢复钩子已解除,随后直接读取部署标记、运行目录和服务状态确认未发生回滚,也未产生failed目录。
- 部署后API、Gateway、Nginx、PostgreSQL、MinIO均为active, Redis PONG,内部API/Gateway健康和PostgreSQL readiness通过,无failed systemd unit; Redis Stream消费者1、`pending=0` 、`lag=0` , API/Gateway发布后无error级journal。公网运营登录、客户端登录、API health及客户Swagger均为HTTP 200, API独立域名根路径为404,未认证签名质量接口为401。
- 运行前端产物已包含“签名发送质量”和“当天发送签名数量”,运行API产物已包含`selectedDaySignatureCount` 及近30日真实业务数据逻辑。浏览器验收阶段内置浏览器两次访问预生产域名均由其网络层返回`ERR_CONNECTION_CLOSED` ,但服务器侧同URL均为200;本轮未绕过图形验证码、未伪造登录态,因此登录后日期切换、详情表和折线图视觉交互保留为后续人工验收项。
- 9条active通道发布重启后8条为connected;“会员营销-富泷”仍返回供应商`connect response status: auth failed` 。本轮未修改任何通道账号、密码、启停状态或连接参数。发布全程未发送、补发或重投真实短信,未修改企业余额、客户连接或业务配置。
- 按用户明确要求撤回 `35de17a2d44702d3ec3e839362a37d6f2bf26c89` 及其部署记录 `e0c8f82bcfc21d4707c0ec168d19808959fcfd46` 。预生产运行目录已精确切回上一版本 `78b839f468f053ea3a1299e56418077b0dc11c99` ;被撤回版本完整保留于 `/opt/cmpp-platform.rolled-back-35de17a2-20260809-rollback` ,没有删除恢复资产 。
- 本次发布未新增migration,预生产仍为83条已完成migration,因此没有恢复数据库备份,避免覆盖发布后正常产生的短信、回执和业务数据。回滚前Redis Stream消费者1、 `pending=0` 、 `lag=0` ;运行目录切换仅停止并按Gateway、API、Nginx顺序重启服务 。
- 回滚后API、Gateway、Nginx、PostgreSQL和MinIO均为active, Redis PONG,内部API/Gateway健康通过;公网运营登录、客户端登录及API health均为HTTP 200,发布后API/Gateway无error级journal, Redis Stream继续为 `pending=0` 、 `lag=0` 。
- 9条active供应商通道回滚重启后6条为connected;“会员营销-富泷”“移动物业-富泷”“联电物业-富泷”3条恢复为此前已记录的供应商 `connect response status: auth failed` 状态。本次未修改其连接配置,仅记录真实返回 。
- Git使用 `git revert --no-commit` 反向撤销上述两个提交,不使用 `reset` 或 `checkout` 覆盖工作区。恢复后的业务源码、需求文档、测试用例和结构契约与 `608662a` (即 `78b839f4` 功能版本加其部署记录)一致,仅追加本回滚记录 。
- 回滚后运营统计专项1 suite / 28 tests通过,API正式TypeScript构建、前端TypeScript和Vite v8.1.5生产构建通过(2535 modules,仅既有约2.04MB单chunk提示),依赖安全缓解门禁及 `git diff --check` 通过。 `operations-r2` 字节哈希门禁在完全恢复上一版本内容后仍受该文件历史混合CRLF/LF行尾影响而误报,Git归一化内容与 `608662a` 无差异;未为通过门禁改写上一版结构契约哈希 。
- 回滚没有发送、补发或重投真实短信,没有修改数据库记录、企业余额、通道账号、密码、启停状态或客户连接;受保护的构建缓存、`outputs/` 和空文件`=` 继续不提交、不删除。