From 29da55de56e0fea93247be6af4567f4e76cc2e39 Mon Sep 17 00:00:00 2001 From: Dai Date: Sun, 21 Jul 2024 19:19:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E7=AB=AF=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E4=BD=9C=E4=B8=9A=EF=BC=8C=E7=99=BB=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/StudentController.php | 12 ++++ .../controller/StudentHomeworkController.php | 17 +++++- .../controller/SubjectHomeworkController.php | 17 ++++++ app/common/model/SubjectHomework.php | 15 +++++ app/common/service/StudentHomeworkService.php | 56 ++++++++++++++++++- app/common/service/StudentService.php | 29 ++++++++++ app/common/service/SubjectHomeworkService.php | 40 +++++++++++-- 7 files changed, 179 insertions(+), 7 deletions(-) diff --git a/app/api/controller/StudentController.php b/app/api/controller/StudentController.php index 706db79..371d4f3 100644 --- a/app/api/controller/StudentController.php +++ b/app/api/controller/StudentController.php @@ -22,4 +22,16 @@ class StudentController extends BaseController return $this->json($res); } + /** + * @desc 学生信息 + * @param Request $request + * @return \support\Response + */ + public function userInfo(Request $request) + { + $service = new StudentService(); + $res = $service->userInfo($request); + return $this->json($res); + } + } \ No newline at end of file diff --git a/app/api/controller/StudentHomeworkController.php b/app/api/controller/StudentHomeworkController.php index 3230d58..2e76300 100644 --- a/app/api/controller/StudentHomeworkController.php +++ b/app/api/controller/StudentHomeworkController.php @@ -9,15 +9,28 @@ use support\Request; class StudentHomeworkController extends BaseController { + /** + * @desc 添加课程作业 + * @param Request $request + * @return \support\Response + */ + public function addStudentHomework(Request $request) + { + $service = new StudentHomeworkService(); + $result = $service->addStudentHomework($request); + return $this->json($result); + } + + /** * @desc 获取课程的家庭作业 * @param Request $request * @return \support\Response */ - public function getSubjectHomework(Request $request) + public function getStudentSubjectHomework(Request $request) { $service = new StudentHomeworkService(); - $result = $service->getSubjectHomework($request); + $result = $service->getStudentSubjectHomework($request); return $this->json($result); } diff --git a/app/api/controller/SubjectHomeworkController.php b/app/api/controller/SubjectHomeworkController.php index 0336abb..33ac8ea 100644 --- a/app/api/controller/SubjectHomeworkController.php +++ b/app/api/controller/SubjectHomeworkController.php @@ -10,10 +10,27 @@ use think\Exception; class SubjectHomeworkController extends BaseController { + /** + * @desc 发布课程作业 + * @param Request $request + * @return \support\Response + */ public function publish(Request $request) { $service = new SubjectHomeworkService(); $result = $service->publish($request); return $this->json($result); } + + /** + * @desc 获取课程家庭作业 + * @param Request $request + * @return \support\Response + */ + public function getSubjectHomework(Request $request) + { + $service = new SubjectHomeworkService(); + $result = $service->getSubjectHomework($request); + return $this->json($result); + } } \ No newline at end of file diff --git a/app/common/model/SubjectHomework.php b/app/common/model/SubjectHomework.php index e77c246..8f49e2d 100644 --- a/app/common/model/SubjectHomework.php +++ b/app/common/model/SubjectHomework.php @@ -23,5 +23,20 @@ use support\Model; class SubjectHomework extends BaseModel { + public function teacher() + { + return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind([ + 'teacher_name', + 'teacher_account' => 'account' + ]); + } + + public function subject() + { + return $this->hasOne(Subject::class, 'id', 'subject_id')->bind([ + 'subject_name', + 'english_name' + ]); + } } diff --git a/app/common/service/StudentHomeworkService.php b/app/common/service/StudentHomeworkService.php index f48c0ea..49f9b62 100644 --- a/app/common/service/StudentHomeworkService.php +++ b/app/common/service/StudentHomeworkService.php @@ -2,18 +2,72 @@ namespace app\common\service; +use app\common\model\Student; use app\common\model\StudentHomework; +use app\common\model\SubjectHomework; +use app\common\model\TeacherScheduleTime; +use app\constant\ResponseCode; use think\Exception; class StudentHomeworkService { + /** + * @desc 添加学生家庭作业 + * @param $request + * @return array + */ + public function addStudentHomework($request) + { + try { + if (empty($request->student)) { + throw new Exception('请登陆后再查看'); + } + $student = Student::where(['id' => $request->student->id])->findOrEmpty(); + if ($student->isEmpty()) { + throw new Exception('未找到用户信息'); + } + + $data = $request->post(); + + $subject_homework = SubjectHomework::where(['id' => $data['subject_homework_id']])->findOrEmpty(); + if($subject_homework->isEmpty()){ + throw new Exception('未找到课程作业'); + } + + StudentHomework::create([ + '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, + 'homework_file_url' => $subject_homework->homework_file_url, + 'homework_file_name' => $subject_homework->homework_file_name, + 'homework_version_file_url' => $subject_homework->homework_version_file_url, + 'homework_version_file_name' => $subject_homework->homework_version_file_name, + 'feedback_file_url' => $data['feedback_file_url'], + 'feedback_file_name' => $data['feedback_file_name'], + ]); + + return [ + 'code' => ResponseCode::SUCCESS, + 'msg' => '操作成功' + ]; + } catch (Exception $e) { + return [ + 'code' => ResponseCode::FAIL, + 'msg' => $e->getMessage() + ]; + } + } + + /** * @desc 获取学生的课程作业 * @param $request * @return array|void */ - public function getSubjectHomework($request) + public function getStudentSubjectHomework($request) { try { $data = $request->get(); diff --git a/app/common/service/StudentService.php b/app/common/service/StudentService.php index 01d8987..74534dc 100644 --- a/app/common/service/StudentService.php +++ b/app/common/service/StudentService.php @@ -49,5 +49,34 @@ class StudentService ]; } } +/** + * @desc 登录 + * @param $request + * @return array + */ + public function userInfo($request) + { + try { + if (empty($request->student)) { + throw new Exception('请学生登陆后再查看'); + } + $student = Student::where(['id' => $request->student->id])->field('id,student_name,account,openid')->findOrEmpty(); + if ($student->isEmpty()) { + throw new Exception('未找到学生信息'); + } + + return [ + 'code' => ResponseCode::SUCCESS, + 'data' => $student, + 'msg' => 'success' + ]; + + } catch (Exception $e) { + return [ + 'code' => ResponseCode::FAIL, + 'msg' => $e->getMessage() + ]; + } + } } \ No newline at end of file diff --git a/app/common/service/SubjectHomeworkService.php b/app/common/service/SubjectHomeworkService.php index 28c06da..b550b68 100644 --- a/app/common/service/SubjectHomeworkService.php +++ b/app/common/service/SubjectHomeworkService.php @@ -28,15 +28,19 @@ class SubjectHomeworkService throw new Exception('未找到教师信息,设置失败'); } $data = $request->post(); - $teacher_schedule_time = TeacherScheduleTime::where(['id'=> $data['teacher_schedule_time_id']])->findOrEmpty(); + $teacher_schedule_time = TeacherScheduleTime::where(['id' => $data['teacher_schedule_time_id']])->findOrEmpty(); - if($teacher_schedule_time->isEmpty()){ + 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' => $data['subject_id']])->findOrEmpty(); + $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()){ + if (!$subject_homework->isEmpty()) { throw new Exception('家庭作业已存在,请勿重复提交'); } @@ -60,4 +64,32 @@ class SubjectHomeworkService } } + + /** + * @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() + ]; + } + } + } \ No newline at end of file