<?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; } }