SaveController.class.php
2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
/**
* Created by PhpStorm.
* User: liyifei2012it
* Date: 18/3/27
* Time: 14:18
*/
namespace Apicp\Controller\Task;
use Com\PackageValidate;
use Common\Common\Constant;
use Common\Service\TaskService;
use Common\Service\TeacherService;
class SaveController extends \Apicp\Controller\AbstractController
{
/**
* Save
* @author liyifei
* @desc 批量设置授课任务
* @param Array teacher_ids:true 讲师ID数组
* @param String task_name:true 任务名称
* @param Int task_type_id 任务类型ID
* @param Int start_time:true 任务开始时间
* @param Int end_time:true 任务结束时间
* @param Float target:true 授课指标(课时)
*/
public function Index_post()
{
$rules = [
'teacher_ids' => 'require|array',
'task_name' => 'require|max:64',
'task_type_id' => 'integer',
'start_time' => 'require|integer',
'end_time' => 'require|integer',
'target' => 'require|egt:1',
];
// 参数校验
$validate = new PackageValidate($rules, [], array_keys($rules));
$postData = $validate->postData;
// 获取内部讲师UID,推送消息
$teacherServ = new TeacherService();
$conds = [
'teacher_id' => $postData['teacher_ids'],
'teacher_type' => Constant::TEACHER_TYPE_INSIDE,
];
$teacherList = $teacherServ->list_by_conds($conds);
if (!empty($teacherList)) {
$teacherList = array_combine_by_key($teacherList, 'teacher_id');
}
// 保存授课任务
$taskServ = new TaskService();
foreach ($postData['teacher_ids'] as $id) {
$data = [
'teacher_id' => $id,
'task_name' => $postData['task_name'],
'task_type_id' => isset($postData['task_type_id']) ? $postData['task_type_id'] : 0,
'start_time' => $postData['start_time'],
'end_time' => $postData['end_time'],
'target' => $postData['target'],
];
$data['task_id'] = $taskServ->insert($data);
// 发送通知
$uid = !empty($teacherList) ? $teacherList[$id]['uid'] : '';
if (!empty($uid)) {
$taskServ->sendTaskNotice($uid, $data);
}
}
}
}