fix 学生课程作业发布,同步发送给家长和教师
This commit is contained in:
parent
1f50016717
commit
2af0578094
@ -5,6 +5,7 @@ namespace app\common\service;
|
||||
use app\common\model\CronJob;
|
||||
use app\common\model\Student;
|
||||
use app\common\model\StudentHomework;
|
||||
use app\common\model\StudentParent;
|
||||
use app\common\model\StudentSchedule;
|
||||
use app\common\model\SubjectHomework;
|
||||
use app\common\model\Teacher;
|
||||
@ -17,6 +18,9 @@ class SendMsgCronJobService
|
||||
const TEACHER_SCHEDULE_TIME_PUBLISH_TEACHER = 'teacher_schedule_time_publish_to_teacher';
|
||||
const TEACHER_SCHEDULE_TIME_PUBLISH_STUDENT = 'teacher_schedule_time_publish_to_student';
|
||||
|
||||
const TEACHER_SCHEDULE_TIME_PUBLISH_PARENTS = 'teacher_schedule_time_publish_to_parent';
|
||||
// const TEACHER_SCHEDULE_TIME_PUBLISH_TEACHER = 'teacher_schedule_time_publish_to_teacher';
|
||||
|
||||
|
||||
/**
|
||||
* 通知类型
|
||||
@ -208,6 +212,112 @@ class SendMsgCronJobService
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
|
||||
|
||||
//查找学生家长,同步发送消息给家长
|
||||
$parents = StudentParent::where(['id' => $student['parent_id']])->findOrEmpty();
|
||||
if (!$parents->isEmpty()) {
|
||||
|
||||
$send_teacher_data = [
|
||||
'touser' => $parents['openid'],
|
||||
'template_id' => 'gTtXWz35mjbtbOZdq6uNBIqy2_W-gu7F4H6s5N-vNAI',
|
||||
'data' => [
|
||||
'time2' => [//上课时间
|
||||
'value' => $teacher_schedule_time->start_time,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing1' => [//课程名称
|
||||
'value' => $teacher_schedule_time->subject_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//上课老师
|
||||
'value' => $teacher_schedule_time->teacherAttr->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing4' => [//学员姓名
|
||||
'value' => $student_name,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
CronJob::create([
|
||||
'msg_type' => SendMsgCronJobService::TEACHER_SCHEDULE_TIME_PUBLISH_PARENTS,
|
||||
'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' => 'parent',
|
||||
'send_data' => json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'msg_info' => json_encode($teacher_schedule_time->toArray(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0,
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
}
|
||||
|
||||
if (isset($teacher_schedule_time['teacherAttr']) && !empty($teacher_schedule_time['teacherAttr']['openid'])) {
|
||||
//发送给教师
|
||||
$send_teacher_data = [
|
||||
'touser' => $teacher_schedule_time['teacherAttr']['openid'],
|
||||
'template_id' => 'gTtXWz35mjbtbOZdq6uNBIqy2_W-gu7F4H6s5N-vNAI',
|
||||
'data' => [
|
||||
'time2' => [//上课时间
|
||||
'value' => $teacher_schedule_time->start_time,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing1' => [//课程名称
|
||||
'value' => $teacher_schedule_time->subject_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//上课老师
|
||||
'value' => $teacher_schedule_time->teacherAttr->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing4' => [//学员姓名
|
||||
'value' => $student_name,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
CronJob::create([
|
||||
'msg_type' => SendMsgCronJobService::TEACHER_SCHEDULE_TIME_PUBLISH_TEACHER,
|
||||
'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),
|
||||
'msg_info' => json_encode($teacher_schedule_time->toArray(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0,
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
@ -157,6 +157,7 @@ class StudentScheduleController extends Crud
|
||||
|
||||
$data = $request->post();
|
||||
if (isset($data['is_publish']) && $data['is_publish']) {
|
||||
//发送消息给学生
|
||||
$student_schedule = \app\common\model\StudentSchedule::where(['id' => $data['id']])->find();
|
||||
(new SendMsgCronJobService())->teacherScheduleTimePublishMsgToStudent($student_schedule->teacher_schedule_time_id);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ namespace plugin\admin\app\controller;
|
||||
|
||||
use app\common\model\CronJob;
|
||||
use app\common\model\Student;
|
||||
use app\common\model\StudentParent;
|
||||
use app\common\model\TeacherScheduleTime;
|
||||
use app\common\service\SendMsgCronJobService;
|
||||
use app\common\service\WechatSubscriptService;
|
||||
@ -35,6 +36,7 @@ class sendMsgNotifyController extends Crud
|
||||
throw new Exception('未找到课程分配的学生');
|
||||
}
|
||||
|
||||
|
||||
$student_info = [];
|
||||
foreach ($studentSchedule as $student) {
|
||||
if (!$student['is_publish']) {
|
||||
@ -42,7 +44,7 @@ class sendMsgNotifyController extends Crud
|
||||
}
|
||||
|
||||
$student = Student::where(['id' => $student['student_id']])->findOrEmpty();
|
||||
array_push($student_info, ['id' => $student['id'], 'student_name' => $student['student_name'], 'openid' => $student['openid']]);
|
||||
array_push($student_info, ['id' => $student['id'], 'student_name' => $student['student_name'], 'openid' => $student['openid'], 'parent_id' => $student['parent_id']]);
|
||||
}
|
||||
|
||||
$student_name = implode(',', array_column($student_info, 'student_name'));
|
||||
@ -97,6 +99,110 @@ class sendMsgNotifyController extends Crud
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
|
||||
//查找学生家长,同步发送消息给家长
|
||||
$parents = StudentParent::where(['id' => $student['parent_id']])->findOrEmpty();
|
||||
if (!$parents->isEmpty()) {
|
||||
|
||||
$send_teacher_data = [
|
||||
'touser' => $parents['openid'],
|
||||
'template_id' => 'gTtXWz35mjbtbOZdq6uNBIqy2_W-gu7F4H6s5N-vNAI',
|
||||
'data' => [
|
||||
'time2' => [//上课时间
|
||||
'value' => $teacher_schedule_time->start_time,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing1' => [//课程名称
|
||||
'value' => $teacher_schedule_time->subject_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//上课老师
|
||||
'value' => $teacher_schedule_time->teacherAttr->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing4' => [//学员姓名
|
||||
'value' => $student_name,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
CronJob::create([
|
||||
'msg_type' => SendMsgCronJobService::TEACHER_SCHEDULE_TIME_PUBLISH_PARENTS,
|
||||
'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' => 'parent',
|
||||
'send_data' => json_encode($send_teacher_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'msg_info' => json_encode($teacher_schedule_time->toArray(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0,
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
}
|
||||
|
||||
if (isset($teacher_schedule_time['teacherAttr']) && !empty($teacher_schedule_time['teacherAttr']['openid'])) {
|
||||
//发送给教师
|
||||
$send_teacher_data = [
|
||||
'touser' => $student['openid'],
|
||||
'template_id' => 'gTtXWz35mjbtbOZdq6uNBIqy2_W-gu7F4H6s5N-vNAI',
|
||||
'data' => [
|
||||
'time2' => [//上课时间
|
||||
'value' => $teacher_schedule_time->start_time,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing1' => [//课程名称
|
||||
'value' => $teacher_schedule_time->subject_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//上课老师
|
||||
'value' => $teacher_schedule_time->teacherAttr->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing4' => [//学员姓名
|
||||
'value' => $student_name,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
CronJob::create([
|
||||
'msg_type' => SendMsgCronJobService::TEACHER_SCHEDULE_TIME_PUBLISH_STUDENT,
|
||||
'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),
|
||||
'msg_info' => json_encode($teacher_schedule_time->toArray(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
|
||||
'send_result' => $result['code'] == ResponseCode::SUCCESS ? 1 : 0,
|
||||
'send_result_msg' => $result['msg'],
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return json([
|
||||
|
@ -112,6 +112,8 @@
|
||||
<span class="layui-badge layui-bg-green">排课结果通知教师</span>
|
||||
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_student'){ }}
|
||||
<span class="layui-badge layui-bg-blue">排课结果通知学生</span>
|
||||
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_parent'){ }}
|
||||
<span class="layui-badge layui-bg-blue">排课结果通知家长</span>
|
||||
{{# }else if(d.msg_type == 'class_begin_notify_teacher'){ }}
|
||||
<span class="layui-badge layui-bg-green">课程开始提醒教师</span>
|
||||
{{# }else if(d.msg_type == 'subject_upload_notify_admin'){ }}
|
||||
@ -137,6 +139,8 @@
|
||||
<span class="layui-badge layui-bg-blue">学生</span>
|
||||
{{# }else if(d.send_role == 'admin'){ }}
|
||||
<span class="layui-badge layui-bg-red">管理员</span>
|
||||
{{# }else if(d.send_role == 'parent'){ }}
|
||||
<span class="layui-badge layui-bg-red">家长</span>
|
||||
{{# }else{ }}
|
||||
<span class="layui-badge layui-bg-red">未知</span>
|
||||
{{# } }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user