feat(ops): WeCom webhook alerts for pay/redeem anomalies

Add outbound group-bot alerts, rate/amount rules, stuck-order cron, HQ test button, and health db/redis checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-02 16:01:30 +08:00
parent cb6ecaaba6
commit 3328c52cb4
27 changed files with 1036 additions and 103 deletions
+23 -1
View File
@@ -25,7 +25,7 @@
14. [配送单](#14-配送单)
15. [好客权益](#15-好客权益)
16. [系统设置](#16-系统设置)
17. [企业微信对接](#17-企业微信对接)
17. [企业微信对接](#17-企业微信对接)(含 [§17.6 运营告警 Webhook](#176-运营告警-webhook群机器人)
---
@@ -898,6 +898,28 @@ C 端「联系客服 → 在线客服」跳转企业微信 **微信客服** 链
- Bot Secret 仅 HQ 创建/编辑时写入,列表不回明文;泄露后应在企微后台重置并更新 HQ 配置后重载
- 工作时间话术与 PRD OPT-012 对齐(上线后 3 日内更新)
### 17.6 运营告警 Webhook(群机器人)
与 §17.2 **智能机器人长连接**(会话内指令)不同:本能力用企业微信 **群机器人 Webhook** 单向推送异常,不依赖 BotID/Secret。
| 配置项 | 说明 |
|--------|------|
| `WECOM_ALERT_ENABLED` | 总开关(HQ 功能开关可改;亦可写 `.env` |
| `WECOM_ALERT_WEBHOOK_URL` | 群机器人 Webhook 完整 URL**仅服务器 `.env`**,勿提交仓库 |
| `WECOM_ALERT_ENV_LABEL` | 消息前缀环境名(local / staging / production |
启用步骤:企微群 → 添加群机器人 → 复制 Webhook → 写入服务器环境变量 → 打开 `WECOM_ALERT_ENABLED`
| 类别 | 典型触发 |
|------|----------|
| API | 未捕获异常 / HTTP ≥500 / Prisma 已知错误 |
| 支付 | 金额 `<1``>5000` 元;1 分钟尝试 `>3`1 分钟失败 `>5`;回调失败;金额不一致 |
| 核销 | 金额 `<1``>1000` 元;1 分钟尝试 `>3`1 分钟失败 `>5`;弱网达阈值;新建补核销待办 |
| 订单 | 超时未关待付款;待发货 >24h;配送中 >48h(每 5 分钟扫描) |
| 运维 | MySQL/Redis 探活失败;结算 Cron 失败;新建售后/技术支持工单 |
告警经 Redis 去重(同指纹默认 10 分钟内不重复推);**只通知、不拦截**交易与核销。Webhook key 泄露时在企微后台重置机器人并更新 `.env`
---
## 附录 A · 端职责矩阵