DistReadStatus.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Distributor\Repositories;
  3. use App\Models\DistReadStatus as Model;
  4. use Dcat\Admin\Repositories\EloquentRepository;
  5. class DistReadStatus extends EloquentRepository
  6. {
  7. /**
  8. * Model.
  9. *
  10. * @var string
  11. */
  12. protected $eloquentClass = Model::class;
  13. /**
  14. * 标记消息为已读
  15. *
  16. * @param int $messageId 消息ID
  17. * @param int $userId 用户ID
  18. * @return bool
  19. */
  20. public static function markAsRead($messageId, $userId)
  21. {
  22. $readStatus = Model::where('message_id', $messageId)
  23. ->where('user_id', $userId)
  24. ->first();
  25. if (!$readStatus) {
  26. // 如果记录不存在,创建新记录并标记为已读
  27. $readStatus = Model::create([
  28. 'message_id' => $messageId,
  29. 'user_id' => $userId,
  30. 'is_read' => true,
  31. ]);
  32. return $readStatus->save();
  33. }
  34. // 如果记录已存在,不做任何操作
  35. return false;
  36. }
  37. }