Message.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace app\service\controller;
  3. class Message extends Base
  4. {
  5. public function index()
  6. {
  7. // 留言信息(默认查询前七天的留言)
  8. $start = time()-604800;
  9. $end = time();
  10. $where = array();
  11. if(request()->isGet()){
  12. $start_time = input("param.start_time/s");
  13. $end_time = input("param.end_time/s");
  14. $searchText = input("param.searchText/s");
  15. $limit = input("param.pageSize/s");
  16. $pageNumber = input("param.pageNumber/s");
  17. $offset = (input("param.pageNumber/s") - 1) * $limit;
  18. if(!empty($searchText)){
  19. $where['content'] = array('like','%'.$searchText.'%');
  20. }
  21. if(!empty($start_time)){
  22. $start = strtotime($start_time);
  23. }
  24. if(!empty($end_time)){
  25. $end = strtotime($end_time . ' 23:59:59');
  26. }
  27. }
  28. $message = db('accountsmessage')->whereBetween('add_time', [$start, $end])->where($where)->limit($offset, $limit)->order('add_time', 'desc')->select();
  29. $total = db('accountsmessage')->whereBetween('add_time', [$start, $end])->order('add_time', 'desc')->count();
  30. $pages = ceil($total/$limit);
  31. $users = db('users')->select();
  32. foreach($message as $key=>$vo){
  33. //转为日期时间格式
  34. $message[$key]['add_time'] = date('Y-m-d H:i:s',$vo['add_time']);
  35. if(!empty($vo['dealWith_time'])){
  36. $message[$key]['dealWith_time'] = date('Y-m-d H:i:s',$vo['dealWith_time']);
  37. }
  38. $message[$key]['user_name'] = '';
  39. foreach($users as $k=>$v){
  40. if($vo['user_id'] == $v['id']){
  41. $message[$key]['user_name'] = $users[$k]['user_name'];
  42. }
  43. }
  44. }
  45. $info = array();
  46. $info['total'] = $total;
  47. $info['pages'] = $pages;
  48. $info['pageSize'] = $limit;
  49. $info['pageNumber'] = $pageNumber;
  50. $info['list'] = $message;
  51. $data = [
  52. 'status'=>1,
  53. 'msg'=>'成功',
  54. 'data'=>$info
  55. ];
  56. return json_encode($data,JSON_UNESCAPED_UNICODE);
  57. }
  58. // 处理留言
  59. public function dealmessage()
  60. {
  61. if(request()->isPost()){
  62. //客服id
  63. //$user_id = 2;
  64. $user_id = input("param.user_id/s");
  65. //留言id
  66. //$message_id = 14;
  67. $message_id = input("param.message_id/s");
  68. //回复内容
  69. $reply_content = input("param.reply_content/s");
  70. //回复图片
  71. $images = input("param.images/s");
  72. $user = db('users')->where('id', $user_id)->find();
  73. if(empty($user)){
  74. return json(['code' => -1, 'data' => '', 'msg' => '客服不存在']);
  75. }
  76. $message = db('accountsmessage')->where('message_id', $message_id)->find();
  77. if(empty($message)){
  78. return json(['code' => -1, 'data' => '', 'msg' => '留言不存在']);
  79. }
  80. // 更新留言状态
  81. $param = [
  82. 'user_id' => $user_id,
  83. 'message_status' => 1,
  84. 'reply_content' => $reply_content,
  85. 'images' => $images,
  86. 'dealWith_time' => time()
  87. ];
  88. try{
  89. db('accountsmessage')->where('message_id', $message_id)->update($param);
  90. }catch(\Exception $e){
  91. return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
  92. }
  93. return json(['code' => 1, 'data' => '', 'msg' => '留言处理成功']);
  94. }
  95. }
  96. }