teacher)) { throw new Exception('请教师登陆后再设置'); } $teacher = Teacher::where(['id' => $request->teacher->id])->findOrEmpty(); if ($teacher->isEmpty()) { throw new Exception('未找到教师信息,设置失败'); } $data = $request->post(); $teacher_schedule_time = TeacherScheduleTime::where(['id' => $data['teacher_schedule_time_id']])->findOrEmpty(); if ($teacher_schedule_time->isEmpty()) { throw new Exception('未找到教师课程安排'); } // $subject_homework = SubjectHomework::where([ // 'teacher_id' => $teacher->id, // 'teacher_schedule_time_id' => $data['teacher_schedule_time_id'], // 'subject_id' => $teacher_schedule_time->subject_id // ])->findOrEmpty(); // // if (!$subject_homework->isEmpty()) { // throw new Exception('家庭作业已存在,请勿重复提交'); // } if (isset($data['subject_homework_id']) && !empty($data['subject_homework_id'])) { $subject_homework = SubjectHomework::where(['id' => $data['subject_homework_id']])->findOrEmpty(); } else { $subject_homework = new SubjectHomework(); } $res = $subject_homework->save([ 'teacher_id' => $teacher->id, 'teacher_schedule_time_id' => $data['teacher_schedule_time_id'], 'date' => $teacher_schedule_time->date, 'time' => $teacher_schedule_time->time, 'start_time' => $teacher_schedule_time->start_time, 'end_time' => $teacher_schedule_time->end_time, 'month' => $teacher_schedule_time->month, 'subject_id' => $teacher_schedule_time->subject_id, 'homework_web_url' => isset($data['homework_web_url']) ? $data['homework_web_url'] : '', 'homework_file_url' => isset($data['homework_file_url']) ? json_encode($data['homework_file_url'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : '', // 'homework_file_name' => isset($data['homework_file_name']) ? json_encode($data['homework_file_name'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : '', 'last_homework_feedback_url' => isset($data['last_homework_feedback_url']) ? json_encode($data['last_homework_feedback_url'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : '', // 'last_homework_feedback_name' => isset($data['last_homework_feedback_name']) ? json_encode($data['last_homework_feedback_name'], JSON_UNESCAPED_UNICODE, JSON_UNESCAPED_SLASHES) : '', 'subject_report_url' => isset($data['subject_report_url']) ? json_encode($data['subject_report_url'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : '', // 'subject_report_name' => isset($data['subject_report_name']) ? $data['subject_report_name'] : '', 'subject_file_url' => isset($data['subject_file_url']) ? json_encode($data['subject_file_url'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : '', // 'subject_file_name' => isset($data['subject_file_name']) ? $data['subject_file_name'] : '', ]); return [ 'code' => ResponseCode::SUCCESS, 'msg' => '操作成功' ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } /** * @desc 获取课程的家庭作业 * @param $request * @return array */ public function getTeacherSubjectHomework($request) { try { $data = $request->get(); $subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id']]) ->with(['teacher', 'subject']) ->findOrEmpty(); if($subject_homework->homework_file_url){ $subject_homework->homework_file_url = json_decode($subject_homework->homework_file_url, true); } if($subject_homework->homework_version_file_url){ $subject_homework->homework_version_file_url = json_decode($subject_homework->homework_version_file_url, true); } if($subject_homework->last_homework_feedback_url){ $subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true); } if($subject_homework->subject_report_url){ $subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true); } if($subject_homework->subject_file_url){ $subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true); } return [ 'code' => ResponseCode::SUCCESS, 'data' => $subject_homework, 'msg' => 'success' ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } /** * @desc 获取课程的家庭作业 * @param $request * @return array */ public function getSubjectHomework($request) { try { $data = $request->get(); $subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id'], 'is_publish' => 1]) ->with(['teacher', 'subject']) ->findOrEmpty(); return [ 'code' => ResponseCode::SUCCESS, 'data' => $subject_homework, 'msg' => 'success' ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } /** * @desc 更新课程作业 * @param $request * @return array */ public function updateSubjectHomework($request) { try { $data = $request->post(); $subject_homework = SubjectHomework::where(['id' => $data['subject_homework_id']])->findOrEmpty(); if ($subject_homework->isEmpty()) { throw new Exception('未找到课程作业'); } $subject_homework->update([ 'homework_web_url' => isset($data['homework_web_url']) ? $data['homework_web_url'] : '', 'homework_file_url' => isset($data['homework_file_url']) ? $data['homework_file_url'] : '', 'homework_file_name' => isset($data['homework_file_name']) ? $data['homework_file_name'] : '', 'last_homework_feedback_url' => isset($data['last_homework_feedback_url']) ? $data['last_homework_feedback_url'] : '', 'last_homework_feedback_name' => isset($data['last_homework_feedback_name']) ? $data['last_homework_feedback_name'] : '', 'subject_report_url' => isset($data['subject_report_url']) ? $data['subject_report_url'] : '', 'subject_report_name' => isset($data['subject_report_name']) ? $data['subject_report_name'] : '', 'subject_file_url' => isset($data['subject_file_url']) ? $data['subject_file_url'] : '', 'subject_file_name' => isset($data['subject_file_name']) ? $data['subject_file_name'] : '', ]); return [ 'code' => ResponseCode::SUCCESS, 'msg' => 'success', ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } }