学生端查看课程作业,登录,用户信息

This commit is contained in:
Dai 2024-07-21 19:19:00 +08:00
parent 4fc8a53f06
commit 29da55de56
7 changed files with 179 additions and 7 deletions

View File

@ -22,4 +22,16 @@ class StudentController extends BaseController
return $this->json($res); 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);
}
} }

View File

@ -9,15 +9,28 @@ use support\Request;
class StudentHomeworkController extends BaseController 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 获取课程的家庭作业 * @desc 获取课程的家庭作业
* @param Request $request * @param Request $request
* @return \support\Response * @return \support\Response
*/ */
public function getSubjectHomework(Request $request) public function getStudentSubjectHomework(Request $request)
{ {
$service = new StudentHomeworkService(); $service = new StudentHomeworkService();
$result = $service->getSubjectHomework($request); $result = $service->getStudentSubjectHomework($request);
return $this->json($result); return $this->json($result);
} }

View File

@ -10,10 +10,27 @@ use think\Exception;
class SubjectHomeworkController extends BaseController class SubjectHomeworkController extends BaseController
{ {
/**
* @desc 发布课程作业
* @param Request $request
* @return \support\Response
*/
public function publish(Request $request) public function publish(Request $request)
{ {
$service = new SubjectHomeworkService(); $service = new SubjectHomeworkService();
$result = $service->publish($request); $result = $service->publish($request);
return $this->json($result); 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);
}
} }

View File

@ -23,5 +23,20 @@ use support\Model;
class SubjectHomework extends BaseModel 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'
]);
}
} }

View File

@ -2,18 +2,72 @@
namespace app\common\service; namespace app\common\service;
use app\common\model\Student;
use app\common\model\StudentHomework; use app\common\model\StudentHomework;
use app\common\model\SubjectHomework;
use app\common\model\TeacherScheduleTime;
use app\constant\ResponseCode;
use think\Exception; use think\Exception;
class StudentHomeworkService 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 获取学生的课程作业 * @desc 获取学生的课程作业
* @param $request * @param $request
* @return array|void * @return array|void
*/ */
public function getSubjectHomework($request) public function getStudentSubjectHomework($request)
{ {
try { try {
$data = $request->get(); $data = $request->get();

View File

@ -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()
];
}
}
} }

View File

@ -28,15 +28,19 @@ class SubjectHomeworkService
throw new Exception('未找到教师信息,设置失败'); throw new Exception('未找到教师信息,设置失败');
} }
$data = $request->post(); $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('未找到教师课程安排'); 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('家庭作业已存在,请勿重复提交'); 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()
];
}
}
} }