补充通知信息
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m11s

This commit is contained in:
2026-07-28 16:14:20 +08:00
parent 4b98612816
commit 1e4f998fe7
8 changed files with 87 additions and 21 deletions

View File

@@ -33,7 +33,7 @@
完整通知中心使用服务端参数:
- `category``approval/expiry/sync/system`
- `type`:稳定通知类型
- `type`:稳定通知类型,可选 `system.notice``package.expiring``agent.recharge.completed``refund.completed``exchange.shipping.created``agent.main_wallet.low_balance`
- `severity``info/warning/error/critical`
- `is_read`:已读状态
- `page/page_size`:服务端分页,默认 20、最大 50

View File

@@ -15,8 +15,8 @@
- 后台动态接收人事件类型:`notification.admin.dynamic.requested`
- 载荷版本:`1`
- 结构化载荷包含后台接收账号 ID、注册通知类型、模板数据、可选受控资源引用和过期时间调用公共队列时保持 struct/map 载荷,不传预序列化 `[]byte`
- 当前内置通知类型为 `system.notice`标题和正文均由代码内固定模板生成不接受业务载荷传入任意正文未知字段、HTML、任意 HTTP URL、超长文本和明显敏感内容会被拒绝。
- 个人客户首个受控类型为 `package.expiring`,使用固定纯文本模板,只允许 `package``asset` 资源引用;`system.notice` 只向后台账号开放
- 当前内置通知类型为 `system.notice``package.expiring``agent.recharge.completed``refund.completed``exchange.shipping.created``agent.main_wallet.low_balance`标题和正文均由代码内受控模板生成不接受业务载荷传入任意正文未知字段、HTML、任意 HTTP URL、超长文本和明显敏感内容会被拒绝。
- `package.expiring` 同时向后台账号和个人客户开放,正文包含资产标识、到期状态和到期日期;`agent.recharge.completed` 正文包含店铺名称和精确到分的充值金额
- 接收账号必须启用且未软删除;不可用账号记录安全日志并跳过,不把通知写入失败反向传播到原业务事务。
- `event_id + recipient_kind + recipient_id` 唯一约束与 `ON CONFLICT DO NOTHING` 共同保证重复或并发消费最多生成一条通知。
@@ -24,7 +24,7 @@
- `account`:业务事件携带的稳定真实申请人账号 ID消费时复核账号仍启用且未删除。
- `platform_role`:批量解析当前启用的平台角色、有效账号角色关系,以及仍启用未删除的超管/平台账号。
- `shop`:复用 UR#96 接缝,解析目标店铺当前启用主账号和当前仍可用业务员,不读取父级、祖先创建人或代理数据权限
- `shop`:复用 UR#96 接缝,解析目标店铺全部启用店铺账号和当前仍可用业务员,不读取父级、祖先创建人。
解析结果按稳定账号 ID 去重和排序。同一事件对每个接收人独立幂等写入;暂无可用接收人记录 `resolution=no_recipient` 并正常结束,数据库故障继续返回 Worker 错误。已经生成的通知保持原接收人事实,关系后续变化不会转移历史通知。