# 【产品决策·前端合并·管理后台】「通知日志」与「发送日志」合并为一个页面、一个接口

> **决策**: wx 2026-06-06 —— 通知日志就是发送日志，没区别，不要两个页面、不要两个接口。
> **服务**: hl-user-service（后端无需改，统一接口已就绪）| 前端 hl-ui
> **提报时间**: 2026-06-06 | **后端**: @wx | **前端待接**: mmg

---

## ⚠️ 关键说明

目前后台有**两个日志页 + 两个接口**，要合并成**一个**：

| 现状 | 页面 | 接口 | 数据表 |
|------|------|------|--------|
| 保留 ✅ | 发送日志 | `GET /admin/notification/logs` | `notification_send_log`（单一真相源） |
| 下线 ❌ | 通知日志 | `GET /admin/monitor/notification-logs` | `notification_log`（旧，monitor） |

**前端只保留一个日志页，统一用 `GET /admin/notification/logs`**；下线「通知日志」那个页（`/admin/monitor/notification-logs`）。

## 1. 为什么能合：发送日志已是超集

旧「通知日志」里能看到的东西（验证码短信、投诉短信、任务/外部联系人企微通知、合同签署短信……）后端已经全部补进了 `notification_send_log`（见 #3526 / #3527 / #3529 / #3534）。所以**统一走发送日志接口，看到的只多不少**。

## 2. 筛选/字段映射（旧 → 新）

| 旧「通知日志」 | 新「发送日志」`/admin/notification/logs` |
|----------------|------------------------------------------|
| 分页 `page` / `pageSize` | `pageNum` / `pageSize` |
| 通知类型 `notificationType` | 事件编码 `eventCode`（如 SMS_VERIFY_CODE / WECHAT_MQ / CONTRACT_SIGN_SMS） |
| 发送状态 `sendStatus` | `status`（0成功/1失败/2跳过/3已禁用） |
| 用户名 `userName`（按名搜） | `userId`（按 ID 搜）+ 列表已回填 `recipientName`（发送对象名）展示 |
| 开始/结束时间 | `startTime` / `endTime` |
| 通道筛选（旧页没有） | `channel`（INAPP/ADMIN_INAPP/SMS/WEWORK/MINIAPP/OA） |
| **服务 `serviceName`** | ✅ **已补**（PR #3554，已部署）：`serviceName`（来源服务，如 hl-user-service / hl-order-service-v3），旧迁移前的历史行为 null |

列展示用发送日志这套：**通道(channelLabel) / 发送对象(recipientName+recipientType) / 信息内容(content) / 状态 / 失败原因 / 事件(eventCode) / 服务(serviceName) / 时间**。详情无需单独接口——列表行已含全部字段（content/recipient/paramsJson 等）。

## 3. 后端说明（不用动，给你交底）

- `notification_send_log` + `/admin/notification/logs` 就是统一的那一个，**后端不改**。
- `notification_log`（旧表）**不删**：它还在喂**定制师看板的客户增长统计**（新客户添加/客户流失 → `DesignerDashboardService` / `/internal/monitor/notification-log/customer-stats`）。只是「日志列表页」不再读它。
- `GET /admin/monitor/notification-logs` 这个旧列表接口，前端切走后即闲置；先**别急着调它**，后端晚点确认无其它调用方再清。

## 4. 一处差异（知会，避免误判）

旧页会显示「被部门白名单过滤掉、根本没发出去」的外部联系人事件（失败原因「不在允许部门范围: 33」那种）。新「发送日志」只记**真实发送**，默认不收录这类**没真发**的过滤记录。如果你们确实要在统一页里也看到这类被过滤事件，后端可以补记成「状态=跳过」，告诉我即可（默认不记，避免噪音）。

## 5. 关联

- 发送日志富化系列：`05_通知发送日志富化-通道列+发送对象列-管理后台.md`、`05_发送日志补信息内容content列+覆盖更多发送通道-管理后台.md`、`05_合同签署短信进发送日志-CONTRACT_SIGN_SMS-管理后台.md`
- 后端：@wx | 前端：**mmg**
