168 lines
6.3 KiB
PHP
168 lines
6.3 KiB
PHP
<?php
|
|
|
|
namespace app\common\service;
|
|
|
|
use app\common\model\SubjectHomework;
|
|
use app\common\model\Teacher;
|
|
use app\common\model\TeacherScheduleTime;
|
|
use app\constant\ResponseCode;
|
|
use think\Exception;
|
|
|
|
class SubjectHomeworkService
|
|
{
|
|
|
|
/**
|
|
* @desc 发布课程作业
|
|
* @param $request
|
|
* @return array|void
|
|
*/
|
|
public function publish($request)
|
|
{
|
|
try {
|
|
if (empty($request->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('未找到教师课程安排');
|
|
}
|
|
|
|
$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()) {
|
|
throw new Exception('家庭作业已存在,请勿重复提交');
|
|
}
|
|
|
|
$res = SubjectHomework::create([
|
|
'teacher_id' => $teacher->id,
|
|
'teacher_schedule_time_id' => $data['teacher_schedule_time_id'],
|
|
'date' => $teacher_schedule_time->date,
|
|
'time' => $teacher_schedule_time->time,
|
|
'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,
|
|
'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' => '操作成功'
|
|
];
|
|
} 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();
|
|
|
|
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_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()
|
|
];
|
|
}
|
|
}
|
|
|
|
} |