id; if(!isset($UserId)) return Yo::echo(['status' => false,'msg'=>'用户id必填']); $id=DB::table('chat_workorders')->insertGetId([ 'userid'=>$UserId, 'title'=>$title, ]); if($id){ return Yo::echo(['status' => true,'id'=>$id]); }else{ return Yo::echo(['status' => false]); } } //h5插入消息 public function InsertMsg(){ $MsgInfo=request('MsgInfo'); Login::user(); $UserId=Login::$info->id; $querywork=DB::table('chat_workorders')->select(['status'])->where(['id'=>$MsgInfo['WorkOrder'],'userid'=>$UserId])->first(); if($querywork->status==3) return Yo::echo(['status' => false,'msg'=>'工单已关闭,如遇到问题请重新提交工单']); $i=DB::table('chat_lists')->insert([ 'work_order_id'=>$MsgInfo['WorkOrder'], 'msg_type'=>0, 'userid'=>$UserId, 'content'=>$MsgInfo['Content'] ]); if($i){ return Yo::echo(['status' => true]); }else{ return Yo::echo(['status' => false,'msg'=>'留言失败']); } } //h5获取自己的消息记录 public function GetSelfMsgList(){ $WorkOrderId=request('WorkOrder'); Login::user(); $UserId=Login::$info->id; $page=request('Page'); $pagesize=200; $offset=($page-1)*$pagesize; $querywork=DB::table('chat_workorders')->select(['status'])->where(['id'=>$WorkOrderId,'userid'=>$UserId])->first(); if(!isset($querywork)) return Yo::echo(['status' => false,'msg'=>'非法']); //如果没有找到此用户名下工单 $query=DB::table('chat_lists') ->where(['work_order_id'=>$WorkOrderId]) ->orderBy('id','desc') ->offset($offset)->take($pagesize) ->get(); return Yo::echo(['status' => true,'list'=>$query,'workorder_status'=>$querywork]); } //h5获取工单列表 public function GetWorkOrderList(){ Login::user(); $UserId=Login::$info->id; //查看是否有未完结工单 $IncompleteCount=DB::table('chat_workorders')->where('userid',$UserId)->whereIn('status',[1,2])->count(); $query=DB::select("SELECT a.title,a.status,a.created_at ,b.content,a.id FROM ( SELECT * FROM chat_workorders WHERE userid = ? AND STATUS <> 0 AND del = 2 ) AS a LEFT JOIN ( select * from( select * from chat_lists where userid = ? AND msg_type = 0 ) as aa INNER JOIN (SELECT max(id) as bid, work_order_id as w_id FROM chat_lists WHERE userid = ? AND msg_type = 0 GROUP BY work_order_id) as bb on aa.id=bb.bid) AS b ON a.id = b.work_order_id order by a.id desc",[$UserId,$UserId,$UserId] ); return Yo::echo(['status' => true,'list'=>$query,'incompleteCount'=>$IncompleteCount]); } //admin获取工单列表 public function GetAdminWorkOrderList(){ $search=request('search'); $page=request('page'); $pagesize=request('pagesize'); $offset=($page-1)*$pagesize; $query=DB::select("select a.*,b.nickname from chat_workorders as a left JOIN users as b on a.userid = b.id where a.del<>1 order by id desc limit ?,?",[$offset,$pagesize]); $count=DB::select("select count(*) as c from chat_workorders as a left JOIN users as b on a.userid = b.id where a.del<>1"); return Yo::echo(['count' => $count[0]->c,'list'=>$query]); } //admin获取工单消息记录 public function GetAdminMsgList(){ $WorkOrderId=request('WorkOrder'); $querywork=DB::select("select a.*,b.nickname from chat_workorders as a join users as b on a.userid=b.id where a.id=?",[$WorkOrderId]); if(isset($querywork)){ $querywork=$querywork[0]; }else{ $querywork=''; } $query=DB::table('chat_lists') ->where(['work_order_id'=>$WorkOrderId]) ->orderBy('id', ) ->get(); return Yo::echo(['status' => true,'list'=>$query,'workOrderInfo'=>$querywork]); } //admin插入消息 public function adminInsertMsg(){ $Content=request('Content'); $WorkOrderId=request('WorkOrder'); $querywork=DB::table('chat_workorders')->select(['status'])->where(['id'=>$WorkOrderId])->first(); if($querywork->status==3) return Yo::echo(['status' => false,'msg'=>'工单已关闭,无法回复']); $i=DB::table('chat_lists')->insert([ 'work_order_id'=>$WorkOrderId, 'msg_type'=>1, 'userid'=>0, 'content'=>$Content ]); if($i){ return Yo::echo(['status' => true]); }else{ return Yo::echo(['status' => false,'msg'=>'回复失败']); } } //更改工单信息 public function changeWorkOrder(){ $WorkOrderId=request('WorkOrderId'); $Status=request('Status'); $u=DB::table('chat_workorders')->where(['id'=>$WorkOrderId])->update([ 'status'=>$Status ]); if($u){ return Yo::echo(['status' => true,'msg'=>'操作完成']); }else{ return Yo::echo(['status' => false,'msg'=>'操作失败']); } } //H5用户自己关闭工单 public function UserChangeWorkOrder(){ $WorkOrderId=request('WorkOrder'); Login::user(); $UserId=Login::$info->id; $u=DB::table('chat_workorders')->where(['id'=>$WorkOrderId,'userid'=>$UserId])->update([ 'status'=>3 ]); if($u){ return Yo::echo(['status' => true,'msg'=>'操作完成']); }else{ return Yo::echo(['status' => false,'msg'=>'操作失败']); } } }