CompleteListController.class.php
3.15 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
/**
* Created by PhpStorm.
* User: liyifei2012it
* Date: 17/7/27
* Time: 15:54
*/
namespace Apicp\Controller\Customtask;
use Com\PackageValidate;
use Common\Common\Constant;
use Common\Common\TaskHelper;
use Common\Service\CustomtaskService;
class CompleteListController extends \Apicp\Controller\AbstractController
{
/**
* CompleteList
* @author liyifei
* @desc 任务完成列表接口
* @param Int customtask_id:true 常规任务ID
* @param Int page:1 当前页
* @param Int limit:20 当前页条数
* @param String dp_ids 组织ID
* @param String job_ids 岗位ID
* @param String role_ids 角色ID
* @param String username 姓名
* @param Int status:true 完成情况(1=未参与;2=执行中;3=已完成)
* @return array
array(
'page' => 1, // 当前页
'limit' => 20, // 当前页条数
'total' => 100, // 总条数
'list' => array( // 列表数据
array(
'username' => '李四', // 姓名
'dp_names' => array('开发组', '测试组'), // 组织
'job' => '苹果系统工程师', // 岗位
'role' => 'leader', // 角色
'progress' => 80, // 任务进度
'task_status' => 1, // 任务状态(1=未参与;2=执行中;3=已完成;4=已终止)
'update_time' => 1491897290001, // 最后更新时间
),
),
)
*/
public function Index_post()
{
// 验证规则
$rules = [
'customtask_id' => 'require|integer|gt:0',
'page' => 'integer',
'limit' => 'integer',
'dp_ids' => 'array',
'job_ids' => 'array',
'role_ids' => 'array',
'username' => 'max:64',
'status' => 'require|integer|in:1,2,3',
];
// 验证请求数据
$postData = I('post.');
$validate = new PackageValidate();
$validate->postData = $postData;
$validate->validateParams($rules);
$taskServ = new CustomtaskService();
$customtask = $taskServ->get($postData['customtask_id']);
if (empty($customtask)) {
E('_ERR_CUSTOMTASK_NOT_FOUND');
}
// 分页
$page = isset($postData['page']) ? $postData['page'] : Constant::PAGING_DEFAULT_PAGE;
$limit = isset($postData['limit']) ? $postData['limit'] : Constant::PAGING_DEFAULT_LIMIT;
// 数据搜索
$taskHelper = &TaskHelper::instance();
$data = $taskHelper->listCustomtaskUser($postData, $page, $limit);
// 任务完成后,最后更新时间修改为complete_time(完成时间)
if (!empty($data['list']) && $postData['status'] == Constant::USER_TASK_COMPLETE_STATUS_COMPLETE) {
foreach ($data['list'] as $k => $v) {
$data['list'][$k]['update_time'] = $v['complete_time'];
}
}
$this->_result = $data;
}
}