/** * Display a listing of the resource. * * @return Response */ public function getList($criteria = Null) { //dd("A"); $message_list = Message::orderBy('created_at', 'desc')->paginate($this->show_per_page); //echo "<pre>"; //print_r($message_list->toArray()); //echo "</pre>"; //exit; // return view('admin.message.list', ['message_list' => $message_list]); }
public function create(Request $request) { $clientId = Authorizer::getClientId(); $operatorId = (int) Authorizer::getResourceOwnerId(); $data = $request->only('type', 'title', 'content', 'receiver_id', 'status'); $validator = Validator::make($data, ['type' => 'in:0,1', 'title' => 'required', 'content' => 'required', 'status' => 'required|in:0,1']); if ($validator->fails() === true) { return response()->json(['error' => $validator->errors()], 400); } if (empty($data['type'])) { $data['type'] = 0; } $data['app_id'] = $clientId; $data['author_id'] = $operatorId; $lastMessage = Message::orderBy('message_id', 'DESC')->first(); $newMessageId = $lastMessage ? $lastMessage->message_id + 1 : 1; $status = 0; if (isset($data['status']) && is_numeric($data['status'])) { $status = (int) $data['status']; } if ($status === 1 && empty($data['receiver_id'])) { return response()->json(['error' => '发送消息时收件人不能为空'], 422); } if (!empty($data['receiver_id'])) { $allReceiverIds = []; $allReceiverIds = array_unique(explode(',', $data['receiver_id'])); $data['all_receiver_ids'] = implode(',', $allReceiverIds); } $data['receiver_id'] = 0; $data['message_id'] = $newMessageId; $data['content'] = preg_replace('/<(.+?)>|<(\\/.+?)>/', '<$1>', $data['content']); $message = new Message($data); $message->save(); if ($status === 1) { $failedList = $this->send($message, $data['all_receiver_ids']); if (count($failedList) > 0) { return response()->json(['error' => '消息已发送,部分接收人不存在:' . implode(',', $failedList)], 422); } } $message = $this->unfoldMessageInfo($message); return response()->json($message, 201); }
/** * @return Collection */ public function getAllMessages() { return $this->messages->orderBy('messages.created_at', 'DESC')->get([self::ID, self::USER_ID, self::CURRENCY_FROM, self::CURRENCY_TO, self::AMOUNT_SELL, self::AMOUNT_BUY, self::RATE, self::TIME_PLACED, self::ORIGINATING_COUNTRY]); }