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('未找到教师课程安排'); } 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, 'hour' => $teacher_schedule_time->hour, '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, '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(); 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() ]; } } }