schedule_logic = new ScheduleLogic(); } /** * 获取科室列表 * @param Request $request * @return JsonResponse * @throws GeneralException */ public function dept(Request $request): JsonResponse { $validated = $request->validate([ 'date' => 'required|date_format:Y-m-d|after_or_equal:today', ],[ 'date.required' => '请传入日期', 'date.date_format' => '日期格式错误', 'date.after_or_equal' => '日期不能小于今天' ]); $response = $this->schedule_logic->getDeptLists($validated['date']); return jsonResponse(Response::HTTP_OK, 'success', DeptListsResource::make($response)->toArray()); } /** * 获取科室提示 * @return JsonResponse */ public function deptTips(): JsonResponse { if (Redis::exists('department.tips')) { $tips_lists = Redis::get('department.tips'); $tips_lists = json_decode($tips_lists, true); } else { $tips_lists = DB::connection('mysql_admin')->table('department_tips') ->select('dept_id', 'title', 'message') ->where('is_enable', 1) ->get() ->toArray(); Redis::setex('department.tips', 4 * 3600, json_encode($tips_lists, JSON_UNESCAPED_UNICODE)); } return jsonResponse(Response::HTTP_OK, 'success', $tips_lists); } /** * 获取医生排班列表 * @param Request $request * @return JsonResponse * @throws GeneralException */ public function doctor(Request $request): JsonResponse { $validated = $request->validate([ 'date' => 'required|date_format:Y-m-d||after_or_equal:today', 'dept_id' => 'required|numeric' ], [ 'date.required' => '请传入日期', 'date.date_format' => '日期格式错误', 'date.after_or_equal' => '日期不能小于今天', 'dept_id.required' => '请传入科室ID', 'dept_id.numeric' => '科室ID格式错误', ]); $response = $this->schedule_logic->getDoctorLists($validated['date'], $validated['dept_id']); return jsonResponse(Response::HTTP_OK, 'success', DoctorListsResource::make($response)->toArray()); } }