This commit is contained in:
Dai 2024-08-06 17:15:31 +08:00
parent d9ccbf8ced
commit 3625842e97
7 changed files with 98 additions and 54 deletions

View File

@ -72,4 +72,12 @@ class SendMsgCronJobController extends BaseController
public function uploadVersionSubjectHomeworkNotifyStudent(Request $request)
{
$res = (new SendMsgCronJobService())->uploadVersionSubjectHomeworkNotifyStudent(10);
return $this->json($res);
}
}

View File

@ -24,4 +24,13 @@ class SubjectHomework extends BaseModel
]);
}
/**
* @desc 安排学生
* @return \think\model\relation\HasMany
*/
public function studentHomework()
{
return $this->hasMany(StudentHomework::class, 'subject_homework_id', 'id');
}
}

View File

@ -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 '<pre>';
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()

View File

@ -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 = [];
}

View File

@ -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);

View File

@ -62,6 +62,13 @@
</div>
<div class="layui-form-item">
<label class="layui-form-label">课程作业</label>
<div class="layui-input-block">
<input type="text" name="content" value="{$subject_homework['content']}"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">课程作业网址</label>
<div class="layui-input-block">
@ -130,8 +137,8 @@
<div class="layui-form-item">
<label class="layui-form-label">上次作业</label>
<div class="layui-input-block" id="last_homework_feedback_url">
{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}
<div style="margin-top: 10px;display: inline-block;">
<div style="width: 250px;">
<span><a href="{$item['url']}">{$item['name']}</a></span>