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'], 'is_publish' => 1])->findOrEmpty(); if ($teacher_schedule_time->isEmpty()) { throw new Exception('未找到教师课程安排'); } if (empty($teacher_schedule_time->subject_id)) { 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 = 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()) { $subject_homework = new SubjectHomework(); } } $homework_file_url = ''; if (isset($data['homework_file_url'])) { if (!empty(json_decode($data['homework_file_url'], true))) { $homework_file_url = $data['homework_file_url']; } } $last_homework_feedback_url = ''; if (isset($data['last_homework_feedback_url'])) { if (!empty(json_decode($data['last_homework_feedback_url'], true))) { $last_homework_feedback_url = $data['last_homework_feedback_url']; } } $subject_report_url = ''; if (isset($data['subject_report_url'])) { if (!empty(json_decode($data['subject_report_url'], true))) { $subject_report_url = $data['subject_report_url']; } } $subject_file_url = ''; if (isset($data['subject_file_url'])) { if (!empty(json_decode($data['subject_file_url'], true))) { $subject_file_url = $data['subject_file_url']; } } $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, 'en_time' => $teacher_schedule_time->en_time, 'hour' => $teacher_schedule_time->hour, 'start_time' => $teacher_schedule_time->start_time, 'end_time' => $teacher_schedule_time->end_time, 'en_start_time' => $teacher_schedule_time->en_start_time, 'en_end_time' => $teacher_schedule_time->en_end_time, 'month' => $teacher_schedule_time->month, 'subject_id' => $teacher_schedule_time->subject_id, 'content' => isset($data['content']) ? $data['content'] : '', 'homework_web_url' => isset($data['homework_web_url']) ? $data['homework_web_url'] : '', 'homework_file_url' => $homework_file_url, 'last_homework_feedback_url' => $last_homework_feedback_url, 'subject_report_url' => $subject_report_url, 'subject_file_url' => $subject_file_url, ]); 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); } else { $subject_homework->homework_file_url = []; } if ($subject_homework->homework_version_file_url) { $subject_homework->homework_version_file_url = json_decode($subject_homework->homework_version_file_url, true); } else { $subject_homework->homework_version_file_url = []; } if ($subject_homework->last_homework_feedback_url) { $subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true); } else { $subject_homework->last_homework_feedback_url = []; } if ($subject_homework->subject_report_url) { $subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true); } else { $subject_homework->subject_report_url = []; } if ($subject_homework->subject_file_url) { $subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true); } else { $subject_homework->subject_file_url = []; } 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(); if ($subject_homework->homework_file_url) { $subject_homework->homework_file_url = json_decode($subject_homework->homework_file_url, true); } else { $subject_homework->homework_file_url = []; } if ($subject_homework->homework_version_file_url) { $subject_homework->homework_version_file_url = json_decode($subject_homework->homework_version_file_url, true); } else { $subject_homework->homework_version_file_url = []; } if ($subject_homework->last_homework_feedback_url) { $subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true); } else { $subject_homework->last_homework_feedback_url = []; } if ($subject_homework->last_homework_feedback_version_url) { $subject_homework->last_homework_feedback_version_url = json_decode($subject_homework->last_homework_feedback_version_url, true); } else { $subject_homework->last_homework_feedback_version_url = []; } if ($subject_homework->subject_report_url) { $subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true); } else { $subject_homework->subject_report_url = []; } if ($subject_homework->subject_report_version_url) { $subject_homework->subject_report_version_url = json_decode($subject_homework->subject_report_version_url, true); } else { $subject_homework->subject_report_version_url = []; } if ($subject_homework->subject_file_url) { $subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true); } else { $subject_homework->subject_file_url = []; } if ($subject_homework->subject_file_version_url) { $subject_homework->subject_file_version_url = json_decode($subject_homework->subject_file_version_url, true); } else { $subject_homework->subject_file_version_url = []; } 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() ]; } } }