调整消息推送

This commit is contained in:
mzl
2025-08-22 16:27:50 +08:00
parent 5dc515f712
commit 8b91924d1a
5 changed files with 158 additions and 88 deletions
@@ -2,6 +2,7 @@
namespace app\common\service;
use app\common\model\MessageNotifications;
use app\common\validate\MessageUserStatusValidate;
use app\common\traits\crud\CrudServiceTrait;
use app\common\model\MessageUserStatus;
@@ -41,21 +42,18 @@ class MessageUserStatusService
switch ($scene) {
case 'unread':
$config['order']['id'] = 'desc';
// $config['with']['user'] = ['sn', 'name'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'created_at'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'scene', 'created_at'];
$config['where']['uid'] = $request->user->uid;
$config['where']['status'] = 0;
break;
case 'index':
$config['order']['id'] = 'desc';
// $config['with']['user'] = ['sn', 'name'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'created_at'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'scene', 'created_at'];
$config['where']['uid'] = $request->user->uid;
break;
case 'show':
$config['where']['id'] = $p['id'];
// $config['with']['user'] = ['sn', 'name'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'created_at'];
$config['with']['message'] = ['sender_id', 'sender_type', 'msg_no', 'title', 'content', 'scene', 'created_at'];
$config['where']['uid'] = $request->user->uid;
break;
case 'store':
@@ -104,6 +102,7 @@ class MessageUserStatusService
$res->each(function (&$item) {
if (isset($item->message)) {
$item->message->sender_name = User::where('id', $item->message->sender_id)->value('name') ?: '系统';
$item->message->scene_name = MessageNotifications::SCENE[$item->message->scene];
}
});
unset($item);
@@ -114,7 +113,24 @@ class MessageUserStatusService
{
if (isset($res->message)) {
$res->message->sender_name = User::where('id', $res->message->sender_id)->value('name') ?: '系统';
$res->message->scene_name = MessageNotifications::SCENE[$res->message->scene];
}
// 标记已读
if ($res->status == 0) {
$this->noticeRead([$res->msg_id], $res->uid);
}
return $res;
}
protected function afterServiceListUnRead($res)
{
$res->each(function (&$item) {
if (isset($item->message)) {
$item->message->sender_name = User::where('id', $item->message->sender_id)->value('name') ?: '系统';
$item->message->scene_name = MessageNotifications::SCENE[$item->message->scene];
}
});
unset($item);
return $res;
}
}