ImMessage.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: zilongs
  5. * Date: 20-10-5
  6. * Time: 下午3:37
  7. */
  8. namespace App\Models;
  9. class ImMessage extends BaseModel
  10. {
  11. protected $table='im_message';
  12. public static function getChatRecord($order_id)
  13. {
  14. $order = Order::select(['docter_id', 'user_id'])->where('id', $order_id)->first();
  15. $docterImId = 'doctor_'.$order['docter_id'];
  16. $userImId = 'member_'.$order['user_id'];
  17. $data = ImMessage::whereIn('senderId', [$docterImId, $userImId])->whereIn('receiverId', [$docterImId, $userImId])->orderBy('timestamp', 'asc')->get()->toArray();
  18. $user = User::select(['nickname', 'avatar'])->where('id', $order['user_id'])->first();
  19. $docter = Docter::select(['name', 'avatar'])->where('id', $order['docter_id'])->first();
  20. foreach ($data as $k => &$v) {
  21. if ($v['senderId'] == $userImId) {
  22. $v['sender_name'] = $user['nickname'];
  23. $v['sender_avatar'] = $user['avatar'];
  24. }
  25. else {
  26. $v['sender_name'] = $docter['name'];
  27. $v['sender_avatar'] = $docter['avatar'];
  28. }
  29. }
  30. return $data;
  31. }
  32. }