公众号消息通知
This commit is contained in:
parent
c6ad05e4ff
commit
2de9173d6d
@ -71,7 +71,12 @@ class SendMsgCronJobController extends BaseController
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @desc 老师布置作业通知 教师上传课程作业,后台翻译件上传之后发送
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
* @throws \GuzzleHttp\Exception\GuzzleException
|
||||
*/
|
||||
public function uploadVersionSubjectHomeworkNotifyStudent(Request $request)
|
||||
{
|
||||
$res = (new SendMsgCronJobService())->uploadVersionSubjectHomeworkNotifyStudent(10);
|
||||
@ -80,4 +85,42 @@ class SendMsgCronJobController extends BaseController
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc 后台翻译后台 通知外教老师
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function studentUploadSubjectHomeworkNotifyTeacher(Request $request)
|
||||
{
|
||||
$res = (new SendMsgCronJobService())->studentUploadSubjectHomeworkNotifyTeacher(6);
|
||||
|
||||
return $this->json($res);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc 学生上课时间确定成功提醒
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function studentScheduleConfirmNotifyTeacher(Request $request)
|
||||
{
|
||||
$res = (new SendMsgCronJobService())->studentScheduleConfirmNotifyTeacher(84);
|
||||
|
||||
return $this->json($res);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function alertTeacherSubmitFreeTime(Request $request)
|
||||
{
|
||||
$res = (new SendMsgCronJobService())->studentScheduleConfirmNotifyTeacher(84);
|
||||
|
||||
return $this->json($res);
|
||||
}
|
||||
|
||||
}
|
@ -41,7 +41,8 @@ class StudentHomework extends BaseModel
|
||||
{
|
||||
return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind([
|
||||
'teacher_name',
|
||||
'teacher_account' => 'account'
|
||||
'teacher_account' => 'account',
|
||||
'teacher_openid'=> 'openid'
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,11 @@ class StudentSchedule extends BaseModel
|
||||
|
||||
public function teacher()
|
||||
{
|
||||
return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind(['teacher_account' => 'account', 'teacher_name']);
|
||||
return $this->hasOne(Teacher::class, 'id', 'teacher_id')->bind([
|
||||
'teacher_account' => 'account',
|
||||
'teacher_openid' => 'openid',
|
||||
'teacher_name'
|
||||
]);
|
||||
}
|
||||
|
||||
public function subject()
|
||||
|
@ -4,6 +4,8 @@ namespace app\common\service;
|
||||
|
||||
use app\common\model\CronJob;
|
||||
use app\common\model\Student;
|
||||
use app\common\model\StudentHomework;
|
||||
use app\common\model\StudentSchedule;
|
||||
use app\common\model\SubjectHomework;
|
||||
use app\common\model\TeacherScheduleTime;
|
||||
use app\constant\ResponseCode;
|
||||
@ -266,7 +268,7 @@ class SendMsgCronJobService
|
||||
|
||||
|
||||
/**
|
||||
* @desc 老师上传作业后台管理员人员翻译过,重新上传通知学生
|
||||
* @desc 老师上传作业后台管理员人员翻译过,重新上传通知学生,课程作业通知
|
||||
* @param $subject_homework_id
|
||||
* @return array|void
|
||||
* @throws \GuzzleHttp\Exception\GuzzleException
|
||||
@ -280,22 +282,34 @@ class SendMsgCronJobService
|
||||
//查找相同老师、相同课程、相同学生的下一节课
|
||||
$teacher_schedule_time = TeacherScheduleTime::where(['id' => $subject_homework->teacher_schedule_time_id])->with(['studentSchedule'])->findOrEmpty();
|
||||
|
||||
print '<pre>';
|
||||
print_r($teacher_schedule_time->toArray());
|
||||
die;
|
||||
|
||||
//查找下次课程开始时间
|
||||
$next_teacher_schedule_time = TeacherScheduleTime::where([
|
||||
'teacher_id' => $teacher_schedule_time->teacher_id,
|
||||
'subject_id' => $teacher_schedule_time->subject_id,
|
||||
'is_publish' => 1
|
||||
])
|
||||
->whereTime('start_time', '>', $teacher_schedule_time->start_time)
|
||||
->order('id asc')
|
||||
->limit(1)
|
||||
->findOrEmpty();
|
||||
|
||||
if (!$next_teacher_schedule_time->isEmpty()) {
|
||||
$next_time = $next_teacher_schedule_time->start_time;
|
||||
} else {
|
||||
$next_time = '';//不能没有值
|
||||
}
|
||||
if (!empty($subject_homework->homework_version_file_url)) {
|
||||
|
||||
$send_teacher_data = [
|
||||
'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo',//@todo:发送人
|
||||
'template_id' => 'OKLtn1L12ZrKsJczk1IRn_8kcQ4aKBmMsYsnjgAkkfE',
|
||||
'template_id' => 'ng-vuuY_hHM3N2fR3VCGdjGldOrwmzVVQzebRgkW4uY',
|
||||
'data' => [
|
||||
'thing6' => [//课程名称
|
||||
'value' => $subject_homework->english_name . '/' . date('m-d H:i', strtotime($subject_homework->start_time)),
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing2' => [//作业名称
|
||||
'value' => $subject_homework->teacher_name,
|
||||
'value' => $subject_homework->english_name . '/' . date('m-d H:i', strtotime($subject_homework->start_time)),
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//批改老师
|
||||
@ -303,7 +317,7 @@ class SendMsgCronJobService
|
||||
'color' => '#000000'
|
||||
],
|
||||
'time3' => [//作业截止时间
|
||||
'value' => $subject_homework->teacher_name,
|
||||
'value' => $next_time,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
@ -315,6 +329,8 @@ class SendMsgCronJobService
|
||||
|
||||
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
//@todo:写入日志中
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -328,4 +344,124 @@ class SendMsgCronJobService
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc 学生完成上传作业,通知老师
|
||||
* @param $request
|
||||
* @return array
|
||||
*/
|
||||
public function studentUploadSubjectHomeworkNotifyTeacher($student_homework_id)
|
||||
{
|
||||
try {
|
||||
$student_homework = StudentHomework::where(['id' => $student_homework_id])->with(['teacher', 'subject', 'student'])->findOrEmpty();
|
||||
|
||||
//获取教师openid
|
||||
|
||||
$send_teacher_data = [
|
||||
'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo',//@todo:发送人
|
||||
'template_id' => 'IYIMurENbyxkQ_axIsrkjOnfoURe4jOVpHU6zcGyksU',
|
||||
'data' => [
|
||||
'thing1' => [//课程名称
|
||||
'value' => substr($student_homework->english_name . '/' . date('m-d H:i', strtotime($student_homework->en_start_time)), 0, 18) . '..',
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing2' => [//作业名称
|
||||
'value' => substr($student_homework->english_name . '/' . date('m-d H:i', strtotime($student_homework->en_start_time)), 0, 18) . '..',
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing3' => [//批改老师
|
||||
'value' => $student_homework->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing5' => [//学生
|
||||
'value' => $student_homework->student_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'time4' => [//提交时间
|
||||
'value' => $student_homework->created_at,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
|
||||
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
|
||||
return [
|
||||
'code' => ResponseCode::SUCCESS,
|
||||
'data' => [],
|
||||
'msg' => 'success'
|
||||
];
|
||||
} catch (Exception $e) {
|
||||
return [
|
||||
'code' => ResponseCode::FAIL,
|
||||
'msg' => $e->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function studentScheduleConfirmNotifyTeacher($student_schedule_id)
|
||||
{
|
||||
try {
|
||||
$student_schedule = StudentSchedule::where(['id'=>$student_schedule_id, 'is_publish'=>1])->with(['teacher', 'student', 'subject'])->findOrEmpty();
|
||||
|
||||
if($student_schedule->isEmpty()){
|
||||
throw new Exception('未找到');
|
||||
}
|
||||
|
||||
|
||||
//@todo:日志
|
||||
|
||||
$send_teacher_data = [
|
||||
'touser' => 'olfLh6o4CG9xb6_tA3y29shOj_Bo',//@todo:发送人
|
||||
'template_id' => '9zKhl4mYHNcz2jW8MGEtfZXU2M3slaIers9-NCpY4Xc',
|
||||
'data' => [
|
||||
'time3' => [//上课时间
|
||||
'value' => $student_schedule->en_start_time,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing2' => [//课程名称
|
||||
'value' => $student_schedule->english_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing4' => [//上课老师
|
||||
'value' => $student_schedule->teacher_name,
|
||||
'color' => '#000000'
|
||||
],
|
||||
'thing1' => [//学生名称
|
||||
'value' => $student_schedule->student_name,
|
||||
'color' => '#000000'
|
||||
]
|
||||
],
|
||||
'miniprogram' => [
|
||||
|
||||
],
|
||||
"lang" => "zh_CN",
|
||||
];
|
||||
|
||||
|
||||
$result = (new WechatSubscriptService())->sendMsg($send_teacher_data);
|
||||
|
||||
//@todo:添加日志
|
||||
|
||||
return [
|
||||
'code' => ResponseCode::SUCCESS,
|
||||
'data' => [],
|
||||
'msg' => 'success'
|
||||
];
|
||||
}catch (Exception $e){
|
||||
return [
|
||||
'code' => ResponseCode::FAIL,
|
||||
'msg' => $e->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user