middleware('checkUserPermission'); $this->messageService = $messageService; } /** * 列表 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Repository\Exceptions\RepositoryException */ public function index(Request $request) { $messages = $this->messageService->handleList($request); return $this->response->success($messages); } /** * 新增 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function store(Request $request) { $this->validate($request, [ 'type' => 'required|integer', 'name' => 'required|string|max:300', 'body' => 'required', 'users' => 'required|array', 'send_time' => 'nullable|sometimes|date', 'send_type' => 'required|array', 'status' => 'required|integer', ], [], [ 'type' => '类型', 'name' => '标题', 'body' => '内容', 'user_ids' => '用户', 'send_time' => '发送时间', 'send_type' => '发送类型', 'status' => '状态', ]); $message = $this->messageService->handleStore($request); return $this->response->created($message, '创建成功'); } /** * 详情 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function show(Request $request) { $this->validate($request, ['id' => 'required|integer']); $message = $this->messageService->handleProfile($request->get('id')); return $this->response->success($message); } /** * 更新 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function update(Request $request) { $this->validate($request, [ 'id' => 'required|integer', 'type' => 'required|integer', 'name' => 'required|string|max:300', 'body' => 'required', 'users' => 'required|array', 'send_time' => 'nullable|sometimes|date', 'send_type' => 'required|array', 'status' => 'required|integer', ], [], [ 'type' => '类型', 'name' => '标题', 'body' => '内容', 'user_ids' => '用户', 'send_time' => '发送时间', 'send_type' => '发送类型', 'status' => '状态', ]); $message = $this->messageService->handleUpdate($request); return $this->response->success($message, '更新成功'); } /** * 删除 * @param Request $request */ public function destroy(Request $request) { $this->validate($request, ['id' => 'required|integer']); $re = $this->messageService->handleDelete($request->get('id')); if ($re) { return $this->response->ok('删除成功'); } return $this->response->fail('删除失败'); } }