feat(notice): NoticeService 发送核心/场景注册/订阅过滤与站内信驱动及测试

This commit is contained in:
augushong
2026-10-12 11:13:02 +00:00
parent 05ed02db34
commit a7261d0c21
5 changed files with 773 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
<?php
namespace base\common\notice\channel;
use base\common\notice\NoticeChannelInterface;
/**
* 站内信渠道驱动.
*
* 站内信投递即落库:NoticeService::send() 写 target 行时已置 status=2(成功)、
* send_time=当前时间,数据落库即为投递完成,本驱动无需任何外部动作。
* 顶栏铃铛/我的消息按 admin_id + channel=inmail 读取行数据呈现;
* 消费者(timer 异步投递)永不消费 inmail 行(send 侧直接终态,不入队列)。
*/
class InMailChannel implements NoticeChannelInterface
{
public static function name(): string
{
return 'inmail';
}
public function send(array $target, array $notice): bool
{
// 站内信投递即落库:send() 阶段已完成写入并置成功终态,此处恒成功。
return true;
}
}