# 03 — 向个人客户投递并提供简化通知中心

**What to build:** 业务事件携带稳定个人客户 ID 后，可以为该客户幂等生成与其订单、套餐或资产有关的站内通知；当前登录个人客户可以查询自己的未读数和分页列表，并执行单条或全部已读。个人客户永远看不到同步、系统等平台运维消息，也不能通过请求参数读取或修改其他客户通知。

**Blocked by:** 01 — 向明确后台账号可靠投递首条站内通知

**Status:** 代码完成、验证延期

**架构通道:** 主通道为 Query，辅助通道为简单写 Application 与 Infrastructure。

**完整业务边界:** 本票收口个人客户通知的投递、读取和已读闭环，复用既有通知表、注册表和 Worker。明确不实现 C 端分类汇总、后台动态接收人、平台运维消息展示、C 端受控目标接口或前端组件。

- [x] Worker 能以 `personal_customer` 接收人类型和稳定客户 ID 幂等生成通知，同一事件的后台账号与个人客户通知相互独立。
- [x] 个人客户通知类型注册明确允许的业务类别和资源引用；`sync`、`system` 及未对 C 端开放的类型不会出现在个人客户查询中。
- [x] C 端未读数遵循 0、1～99、100 以上的显示规则，列表固定倒序、默认每页 20、最大 50，并排除过期通知。
- [x] 单条已读、全部已读只作用于当前认证客户；不存在、已删除、属于别人或已读的通知使用相同幂等安全语义。
- [x] 请求 DTO 不接受接收人 ID，额外或恶意接收人参数不能改变查询与更新范围。
- [ ] 真实个人客户认证、Handler、Query、GORM 集成测试覆盖重复投递、运维类别隔离、跨客户越权、分页、过期排除、重复已读和批量已读。（按本 Change 测试环境豁免转任务 6.1）
- [x] 新增 C 端 Handler 后同步个人客户路由、RouteSpec 与两个 OpenAPI 文档生成器，接口统一挂载在约定认证上下文中。
