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}