student) && empty((array)$request->parent)) { throw new Exception('请登陆后再查看'); } if (!empty((array)$request->student)) { $student = Student::where(['id' => $request->student->id])->findOrEmpty(); if ($student->isEmpty()) { throw new Exception('未找到用户信息'); } } if (!empty((array)$request->parent)) { $student = Student::where(['parent_id' => $request->parent->id])->findOrEmpty(); if ($student->isEmpty()) { throw new Exception('未找到用户信息'); } } $data = $request->post(); $subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $data['subject_homework_id'], 'is_publish' => 1])->findOrEmpty(); if ($subject_homework->isEmpty()) { throw new Exception('老师还未布置课程作业'); } $feedback_file_url = ''; if(isset($data['feedback_file_url'])){ if(!empty(json_decode($data['feedback_file_url'],true))){ $feedback_file_url = $data['feedback_file_url']; } } $homework = StudentHomework::where(['student_id' => $student->id, 'subject_homework_id'=> $subject_homework->id])->findOrEmpty(); if($homework->isEmpty()){ $homework = new StudentHomework(); } $homework->save([ 'student_id' => $student->id, 'subject_homework_id' => $subject_homework->id, 'teacher_id' => $subject_homework->teacher_id, 'teacher_schedule_time_id' => $subject_homework->teacher_schedule_time_id, 'subject_id' => $subject_homework->subject_id, 'date'=> $subject_homework->date, 'time'=> $subject_homework->time, 'en_time'=> $subject_homework->en_time, 'hour'=> $subject_homework->hour, 'start_time'=> $subject_homework->start_time, 'end_time'=> $subject_homework->end_time, 'en_start_time'=> $subject_homework->start_time, 'en_end_time'=> $subject_homework->end_time, 'month'=> $subject_homework->month, 'feedback_file_url' => $feedback_file_url, ]); return [ 'code' => ResponseCode::SUCCESS, 'msg' => '操作成功' ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } /** * @desc 获取学生的课程作业 * @param $request * @return array|void */ public function getStudentSubjectHomework($request) { try { $data = $request->get(); $homework = StudentHomework::where(['teacher_schedule_time_id' => $data['teacher_schedule_time_id']])->order('id asc'); $page = isset($data['page']) ? $data['page'] : 1; $limit = isset($data['limit']) ? $data['limit'] : 10; $total = $homework->count(); $list = $homework->page($page, $limit)->bind(['student', 'subject'])->select(); return [ 'code' => ResponseCode::SUCCESS, 'data' => [ 'list' => $list, 'total' => $total, 'page' => $page, ], 'msg' => 'success' ]; } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() ]; } } }