diff --git a/app/api/controller/SendMsgCronJobController.php b/app/api/controller/SendMsgCronJobController.php index 0cfe5c4..95d9dfb 100644 --- a/app/api/controller/SendMsgCronJobController.php +++ b/app/api/controller/SendMsgCronJobController.php @@ -72,4 +72,12 @@ class SendMsgCronJobController extends BaseController + public function uploadVersionSubjectHomeworkNotifyStudent(Request $request) + { + $res = (new SendMsgCronJobService())->uploadVersionSubjectHomeworkNotifyStudent(10); + + return $this->json($res); + } + + } \ No newline at end of file diff --git a/app/common/model/SubjectHomework.php b/app/common/model/SubjectHomework.php index b7c5a81..5e64e7d 100644 --- a/app/common/model/SubjectHomework.php +++ b/app/common/model/SubjectHomework.php @@ -23,5 +23,14 @@ class SubjectHomework extends BaseModel 'english_name' ]); } + + /** + * @desc 安排学生 + * @return \think\model\relation\HasMany + */ + public function studentHomework() + { + return $this->hasMany(StudentHomework::class, 'subject_homework_id', 'id'); + } } diff --git a/app/common/service/SendMsgCronJobService.php b/app/common/service/SendMsgCronJobService.php index 680c6c6..7c767e2 100644 --- a/app/common/service/SendMsgCronJobService.php +++ b/app/common/service/SendMsgCronJobService.php @@ -48,7 +48,7 @@ class SendMsgCronJobService //给教师发送消息 $msgInfo = $teacher_schedule_time->toArray(); - $student_name = implode(',',array_column($student_info, 'student_name')); + $student_name = implode(',', array_column($student_info, 'student_name')); $send_teacher_data = [ 'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo', 'template_id' => 'gTtXWz35mjbtbOZdq6uNBIqy2_W-gu7F4H6s5N-vNAI', @@ -82,19 +82,19 @@ class SendMsgCronJobService 'teacher_id' => $teacher_schedule_time->teacher_id, 'subject_id' => $teacher_schedule_time->subject_id, 'student_id' => '', - 'teacher_schedule_time_id'=>$teacher_schedule_time->id, - 'time'=>$teacher_schedule_time->time, - 'en_time'=>$teacher_schedule_time->en_time, - 'start_time'=>$teacher_schedule_time->start_time, - 'end_time'=>$teacher_schedule_time->end_time, - 'en_start_time'=>$teacher_schedule_time->en_start_time, - 'en_end_time'=>$teacher_schedule_time->en_end_time, - 'send_role'=> 'teacher', - 'send_data'=> json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), + 'teacher_schedule_time_id' => $teacher_schedule_time->id, + 'time' => $teacher_schedule_time->time, + 'en_time' => $teacher_schedule_time->en_time, + 'start_time' => $teacher_schedule_time->start_time, + 'end_time' => $teacher_schedule_time->end_time, + 'en_start_time' => $teacher_schedule_time->en_start_time, + 'en_end_time' => $teacher_schedule_time->en_end_time, + 'send_role' => 'teacher', + 'send_data' => json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), 'msg_info' => json_encode($msgInfo, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), - 'send_result'=> $result['code'] == ResponseCode::SUCCESS ? 1 : 0, - 'send_result_msg'=> $result['msg'], - ]); + 'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0, + 'send_result_msg' => $result['msg'], + ]); foreach ($student_info as $student) { @@ -131,18 +131,18 @@ class SendMsgCronJobService 'teacher_id' => $teacher_schedule_time->teacher_id, 'subject_id' => $teacher_schedule_time->subject_id, 'student_id' => '', - 'teacher_schedule_time_id'=>$teacher_schedule_time->id, - 'time'=>$teacher_schedule_time->time, - 'en_time'=>$teacher_schedule_time->en_time, - 'start_time'=>$teacher_schedule_time->start_time, - 'end_time'=>$teacher_schedule_time->end_time, - 'en_start_time'=>$teacher_schedule_time->en_start_time, - 'en_end_time'=>$teacher_schedule_time->en_end_time, - 'send_role'=> 'student', - 'send_data'=> json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), + 'teacher_schedule_time_id' => $teacher_schedule_time->id, + 'time' => $teacher_schedule_time->time, + 'en_time' => $teacher_schedule_time->en_time, + 'start_time' => $teacher_schedule_time->start_time, + 'end_time' => $teacher_schedule_time->end_time, + 'en_start_time' => $teacher_schedule_time->en_start_time, + 'en_end_time' => $teacher_schedule_time->en_end_time, + 'send_role' => 'student', + 'send_data' => json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), 'msg_info' => json_encode($msgInfo, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), - 'send_result'=> $result['code'] == ResponseCode::SUCCESS ? 1 : 0, - 'send_result_msg'=> $result['msg'], + 'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0, + 'send_result_msg' => $result['msg'], ]); } @@ -160,7 +160,7 @@ class SendMsgCronJobService public function classBeginMsgToTeacher() { try { - $teacher_schedule_time = TeacherScheduleTime::where(['is_publish'=>1]) + $teacher_schedule_time = TeacherScheduleTime::where(['is_publish' => 1]) ->whereTime('start_time', '>=', date('Y-m-d 00:00:00', strtotime('+21 day'))) ->whereTime('start_time', '<=', date('Y-m-d 23:59:59', strtotime('+21 day'))) ->with(['teacherAttr', 'subject', 'studentSchedule']) @@ -182,7 +182,7 @@ class SendMsgCronJobService $student = Student::where(['id' => $student['student_id']])->findOrEmpty(); array_push($student_info, ['id' => $student['id'], 'student_name' => $student['student_name'], 'openid' => $student['openid']]); } - $student_name = implode(',',array_column($student_info, 'student_name')); + $student_name = implode(',', array_column($student_info, 'student_name')); $send_teacher_data = [ 'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo',//@todo:发送人 'template_id' => 'yYw0jnlhjnq4AJ_CAlAghgGyV0bvbVHG-eV8TNC3REI', @@ -213,7 +213,7 @@ class SendMsgCronJobService $result = (new WechatSubscriptService())->sendMsg($send_teacher_data); } - }catch (Exception $e) { + } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() @@ -256,7 +256,7 @@ class SendMsgCronJobService $result = (new WechatSubscriptService())->sendMsg($send_teacher_data); - }catch (Exception $e) { + } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() @@ -265,11 +265,27 @@ class SendMsgCronJobService } + /** + * @desc 老师上传作业后台管理员人员翻译过,重新上传通知学生 + * @param $subject_homework_id + * @return array|void + * @throws \GuzzleHttp\Exception\GuzzleException + */ public function uploadVersionSubjectHomeworkNotifyStudent($subject_homework_id) { try { $subject_homework = SubjectHomework::where(['id' => $subject_homework_id])->with(['teacher', 'subject'])->findOrEmpty(); - if(!empty($subject_homework->homework_version_file_url)){ + + + //查找相同老师、相同课程、相同学生的下一节课 + $teacher_schedule_time = TeacherScheduleTime::where(['id' => $subject_homework->teacher_schedule_time_id])->with(['studentSchedule'])->findOrEmpty(); + + print '
'; + print_r($teacher_schedule_time->toArray()); + die; + + + if (!empty($subject_homework->homework_version_file_url)) { $send_teacher_data = [ 'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo',//@todo:发送人 'template_id' => 'OKLtn1L12ZrKsJczk1IRn_8kcQ4aKBmMsYsnjgAkkfE', @@ -302,7 +318,7 @@ class SendMsgCronJobService } - }catch (Exception $e) { + } catch (Exception $e) { return [ 'code' => ResponseCode::FAIL, 'msg' => $e->getMessage() diff --git a/app/common/service/SubjectHomeworkService.php b/app/common/service/SubjectHomeworkService.php index e8c8daf..95a56ec 100644 --- a/app/common/service/SubjectHomeworkService.php +++ b/app/common/service/SubjectHomeworkService.php @@ -28,12 +28,16 @@ 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'], 'is_publish' => 1])->findOrEmpty(); if ($teacher_schedule_time->isEmpty()) { throw new Exception('未找到教师课程安排'); } + if (empty($teacher_schedule_time->subject_id)) { + throw new Exception('未安排课程'); + } + if (isset($data['subject_homework_id']) && !empty($data['subject_homework_id'])) { $subject_homework = SubjectHomework::where(['id' => $data['subject_homework_id']])->findOrEmpty(); @@ -43,33 +47,33 @@ class SubjectHomeworkService '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()) { $subject_homework = new SubjectHomework(); } } $homework_file_url = ''; - if(isset($data['homework_file_url'])){ - if(!empty(json_decode($data['homework_file_url'],true))){ + if (isset($data['homework_file_url'])) { + if (!empty(json_decode($data['homework_file_url'], true))) { $homework_file_url = $data['homework_file_url']; } } $last_homework_feedback_url = ''; - if(isset($data['last_homework_feedback_url'])){ - if(!empty(json_decode($data['last_homework_feedback_url'],true))){ + if (isset($data['last_homework_feedback_url'])) { + if (!empty(json_decode($data['last_homework_feedback_url'], true))) { $last_homework_feedback_url = $data['last_homework_feedback_url']; } } $subject_report_url = ''; - if(isset($data['subject_report_url'])){ - if(!empty(json_decode($data['subject_report_url'],true))){ + if (isset($data['subject_report_url'])) { + if (!empty(json_decode($data['subject_report_url'], true))) { $subject_report_url = $data['subject_report_url']; } } $subject_file_url = ''; - if(isset($data['subject_file_url'])){ - if(!empty(json_decode($data['subject_file_url'],true))){ + if (isset($data['subject_file_url'])) { + if (!empty(json_decode($data['subject_file_url'], true))) { $subject_file_url = $data['subject_file_url']; } } @@ -121,29 +125,29 @@ class SubjectHomeworkService ->with(['teacher', 'subject']) ->findOrEmpty(); - if($subject_homework->homework_file_url){ + if ($subject_homework->homework_file_url) { $subject_homework->homework_file_url = json_decode($subject_homework->homework_file_url, true); - }else{ + } else { $subject_homework->homework_file_url = []; } - if($subject_homework->homework_version_file_url){ + if ($subject_homework->homework_version_file_url) { $subject_homework->homework_version_file_url = json_decode($subject_homework->homework_version_file_url, true); - }else{ + } else { $subject_homework->homework_version_file_url = []; } - if($subject_homework->last_homework_feedback_url){ + if ($subject_homework->last_homework_feedback_url) { $subject_homework->last_homework_feedback_url = json_decode($subject_homework->last_homework_feedback_url, true); - }else{ + } else { $subject_homework->last_homework_feedback_url = []; } - if($subject_homework->subject_report_url){ + if ($subject_homework->subject_report_url) { $subject_homework->subject_report_url = json_decode($subject_homework->subject_report_url, true); - }else{ + } else { $subject_homework->subject_report_url = []; } - if($subject_homework->subject_file_url){ + if ($subject_homework->subject_file_url) { $subject_homework->subject_file_url = json_decode($subject_homework->subject_file_url, true); - }else{ + } else { $subject_homework->subject_file_url = []; } diff --git a/app/utils/WechatUtil.php b/app/utils/WechatUtil.php index 3f23683..d07b04f 100644 --- a/app/utils/WechatUtil.php +++ b/app/utils/WechatUtil.php @@ -21,7 +21,7 @@ class WechatUtil public static function getAccessToken() { try { -// $str = '83_5nmVfFogqz0nUC-sXhNJNRAcD6doq1N3E-g2fb3ty1RqqZq2kXazJDA2-z5TibuSmmUdFh6RlEzojOx1hWMp1dkKKpAQOH7GIuvz0RWTRfYAdeTiDaeRcDXx6TsDOUdABATEK'; +// $str = '83_s2360Qbo3QwQgLRYvmeRjBWkLxkP2gbhfc6D-oT31f2oQ5S47rXfTc52dyxBNZ9ZMuVTnEWBxyuAZ-OVZolz5_PDu7wTmzuPT3n8_g6TyeZv__ZliUG5GX3U9LsGQIcAJAVFX'; // Cache::set(self::GENERAL_ACCESS_TOKEN, $str, 3500); if (Cache::has(self::GENERAL_ACCESS_TOKEN)) { return Cache::get(self::GENERAL_ACCESS_TOKEN); diff --git a/plugin/admin/app/view/subject-homework/insert.html b/plugin/admin/app/view/subject-homework/insert.html index 66fa198..a424381 100644 --- a/plugin/admin/app/view/subject-homework/insert.html +++ b/plugin/admin/app/view/subject-homework/insert.html @@ -69,7 +69,7 @@ - +diff --git a/plugin/admin/app/view/subject-homework/update.html b/plugin/admin/app/view/subject-homework/update.html index 72b3189..488716f 100644 --- a/plugin/admin/app/view/subject-homework/update.html +++ b/plugin/admin/app/view/subject-homework/update.html @@ -62,6 +62,13 @@++ ++ ++@@ -130,8 +137,8 @@- {if !empty($subject_homework['homework_version_file_url'])} - {foreach $subject_homework['homework_version_file_url'] as $index => $item} + {if !empty($subject_homework['last_homework_feedback_url'])} + {foreach $subject_homework['last_homework_feedback_url'] as $index => $item}