input('id')) { $ticket = Ticket::where('id', $request->input('id')) ->first(); if (!$ticket) { return $this->fail([400,'工单不存在']); } $ticket['message'] = TicketMessage::where('ticket_id', $ticket->id)->get(); for ($i = 0; $i < count($ticket['message']); $i++) { if ($ticket['message'][$i]['user_id'] !== $ticket->user_id) { $ticket['message'][$i]['is_me'] = true; } else { $ticket['message'][$i]['is_me'] = false; } } return $this->success($ticket); } $current = $request->input('current') ? $request->input('current') : 1; $pageSize = $request->input('pageSize') >= 10 ? $request->input('pageSize') : 10; $model = Ticket::orderBy('created_at', 'DESC'); if ($request->input('status') !== NULL) { $model->where('status', $request->input('status')); } $total = $model->count(); $res = $model->forPage($current, $pageSize) ->get(); return response([ 'data' => $res, 'total' => $total ]); } public function reply(Request $request) { $request->validate([ 'id' => 'required', 'message' => 'required|string' ],[ 'id.required' => '工单ID不能为空', 'message.required' => '消息不能为空' ]); $ticketService = new TicketService(); $ticketService->replyByAdmin( $request->input('id'), $request->input('message'), $request->user['id'] ); return $this->success(true); } public function close(Request $request) { if (empty($request->input('id'))) { return $this->fail([422,'工单ID不能为空']); } $ticket = Ticket::where('id', $request->input('id')) ->first(); if (!$ticket) { return $this->fail([400202,'工单不存在']); } $ticket->status = 1; if (!$ticket->save()) { return $this->fail([500, '工单关闭失败']); } return $this->success(true); } }