course/app/common/service/StudentHomeworkService.php
2024-07-26 23:37:31 +08:00

105 lines
3.4 KiB
PHP

<?php
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();
$teacher_schedule_time = TeacherScheduleTime::where(['id' => $data['subject_homework_id']])->findOrEmpty();
print '<pre>';
print_r($teacher_schedule_time->isEmpty());
die;
$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 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()
];
}
}
}