Chat.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace app\supplier\controller\chat;
  3. use app\supplier\model\chat\Chat as ChatModel;
  4. use app\supplier\controller\Controller;
  5. use app\supplier\model\user\User as UserModel;
  6. use app\supplier\model\supplier\Supplier as SupplierModel;
  7. use app\supplier\model\order\Order as OrderModel;
  8. use \GatewayWorker\Lib\Gateway;
  9. /**
  10. * 客服消息
  11. */
  12. class Chat extends Controller
  13. {
  14. //我的聊天列表
  15. public function index()
  16. {
  17. $Chat = new ChatModel;
  18. $list = $Chat->getList($this->supplier['user'], $this->postData());
  19. return $this->renderSuccess('', compact('list'));
  20. }
  21. //我的实时消息聊天列表
  22. public function list()
  23. {
  24. $Chat = new ChatModel;
  25. $list = $Chat->getList($this->supplier['user'], $this->postData());
  26. return $this->renderSuccess('', compact('list'));
  27. }
  28. //获取聊天信息
  29. public function record()
  30. {
  31. $Chat = new ChatModel;
  32. $list = $Chat->getMessage($this->postData(), $this->supplier['user']);
  33. return $this->renderSuccess('', compact('list'));
  34. }
  35. //获取未读消息条数
  36. public function messageCount()
  37. {
  38. $Chat = new ChatModel;
  39. $num = $Chat->mCount($this->supplier['user']);
  40. return $this->renderSuccess('', compact('num'));
  41. }
  42. //获取用户信息
  43. public function getInfo($user_id)
  44. {
  45. //用户信息
  46. $userInfo = UserModel::detail($user_id);
  47. //供应商信息
  48. $supplierInfo = SupplierModel::detail($this->getSupplierId(), ['logo']);
  49. //用户订单
  50. $orderList = (new OrderModel)->getOrderList($user_id, $this->postData());
  51. $data['userInfo'] = $userInfo;
  52. $data['logo'] = $supplierInfo['logo']['file_path'];
  53. $data['name'] = $supplierInfo['name'];
  54. $data['orderList'] = $orderList;
  55. return $this->renderSuccess('', compact('data'));
  56. }
  57. //绑定uid
  58. public function bindClient()
  59. {
  60. $data = $this->postData();
  61. Gateway::bindUid($data['client_id'], 'supplier_' . $this->supplier['user']['supplier_user_id']);
  62. return $this->renderSuccess('绑定成功');
  63. }
  64. }