全局通知issues

This commit is contained in:
2026-07-22 16:14:59 +09:00
parent 39cdbdcfef
commit 785907ce85
8 changed files with 182 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
# 03 — 向个人客户投递并提供简化通知中心
**What to build:** 业务事件携带稳定个人客户 ID 后,可以为该客户幂等生成与其订单、套餐或资产有关的站内通知;当前登录个人客户可以查询自己的未读数和分页列表,并执行单条或全部已读。个人客户永远看不到同步、系统等平台运维消息,也不能通过请求参数读取或修改其他客户通知。
**Blocked by:** 01 — 向明确后台账号可靠投递首条站内通知
**Status:** ready-for-agent
**架构通道:** 主通道为 Query辅助通道为简单写 Application 与 Infrastructure。
**完整业务边界:** 本票收口个人客户通知的投递、读取和已读闭环,复用既有通知表、注册表和 Worker。明确不实现 C 端分类汇总、后台动态接收人、平台运维消息展示、C 端受控目标接口或前端组件。
- [ ] Worker 能以 `personal_customer` 接收人类型和稳定客户 ID 幂等生成通知,同一事件的后台账号与个人客户通知相互独立。
- [ ] 个人客户通知类型注册明确允许的业务类别和资源引用;`sync``system` 及未对 C 端开放的类型不会出现在个人客户查询中。
- [ ] C 端未读数遵循 0、199、100 以上的显示规则,列表固定倒序、默认每页 20、最大 50并排除过期通知。
- [ ] 单条已读、全部已读只作用于当前认证客户;不存在、已删除、属于别人或已读的通知使用相同幂等安全语义。
- [ ] 请求 DTO 不接受接收人 ID额外或恶意接收人参数不能改变查询与更新范围。
- [ ] 真实个人客户认证、Handler、Query、GORM 集成测试覆盖重复投递、运维类别隔离、跨客户越权、分页、过期排除、重复已读和批量已读。
- [ ] 新增 C 端 Handler 后同步个人客户路由、RouteSpec 与两个 OpenAPI 文档生成器,接口统一挂载在约定认证上下文中。