middleware('checkUserPermission'); $this->complaintService = $complaintService; } /** * 列表 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Repository\Exceptions\RepositoryException */ public function index(Request $request) { $complaints = $this->complaintService->handleList($request); return $this->response->success($complaints); } /** * 详情 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function show(Request $request) { $this->validate($request, ['id' => 'required|integer']); $complaint = $this->complaintService->handleProfile($request->get('id')); return $this->response->success($complaint); } /** * 更新-指派部门 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function update(Request $request) { /*$data = $this->validateData($request, [ 'id' => 'required|integer', 'category_id' => 'required|integer', 'deal_idea' => 'required|string', 'deal_department_id' => 'required|integer', 'deal_limit_day' => 'required|integer', ], [ 'category_id' => '分类', 'deal_idea' => '处理意见', 'deal_department_id' => '指派处理部门', 'deal_limit_day' => '处理期限(天)', ]);*/ $data = $this->validateData($request, [ 'id' => 'required|integer', 'category_id' => 'required|integer', 'reason' => 'nullable', 'multiData' => 'required|array', 'multiData.*.department_id' => 'required|integer', 'multiData.*.limit_day' => 'required|integer', 'multiData.*.body' => 'required', 'multiData.*.claim' => 'nullable', ], [ 'reason' => '原因', 'category_id' => '分类', 'multiData' => '多部门协调数据', ]); /** * 修改-mead * --已修改 */ $complaint = $this->complaintService->handleUpdate($data); if ($complaint) { return $this->response->success($complaint, '指派成功'); } else { return $this->response->success($complaint, '该投诉已经指派', ResponseCodeEnum::SERVICE_OPERATION_ERROR); } } /** * 删除 * @param Request $request */ public function destroy(Request $request) { $this->validate($request, ['id' => 'required|integer']); $re = $this->complaintService->handleDelete($request->get('id')); if ($re) { return $this->response->ok('删除成功'); } return $this->response->fail('删除失败'); } /** * 吹哨处理完结消息通知--员工端 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function messagesAdmin(Request $request) { $data = $this->complaintService->messagesAdmin($request); return $this->response->success($data); } /** * 吹哨处理完结消息详情--员工端 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function messageAdmin(Request $request) { $req = $this->validateData($request, [ 'id' => 'required|integer', ], [ 'id' => 'id', ]); $resp = $this->complaintService->messageAdmin($req); return $this->response->success($resp, '查询成功'); } /** * 用户投诉数量查询--员工端 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function complaintNums(Request $request) { $data = $this->complaintService->complaintNums($request); return $this->response->success($data); } }