<?php /** * 获活动列表 * ListController.class.php * User: daijun * Date: 2017年09月05日 */ namespace Rpc\Controller\TaskCenter; use Common\Model\ActivityModel; use Common\Service\ActivityService; class ListController extends AbstractController { public function Index() { // 获取参数 $params = $this->_params; // 默认值 $page = !empty($params['page']) ? intval($params['page']) : 1; $limit = !empty($params['limit']) ? intval($params['limit']) : 10; list($start, $limit) = page_limit($page, $limit); // 分页参数 $page_option = array($start, $limit); // 排序参数 $order_option = array('ac_id' => 'DESC'); // 考试类型为任务类 $conds['activity_type'] = ActivityService::TASK_TYPE; // 试卷状态为已发布 $conds['activity_status'] = ActivityModel::ACTIVITY_PUBLISH; if (!empty($params['keyword'])) { // 如果试卷名称关键字不为空,则模糊查询试卷名称 $conds['subject like ?'] = '%' . trim($params['keyword']) . '%'; } // 实例化service $service = new ActivityService(); $field = 'ac_id,subject'; $list = []; // 获取总记录数 $total = $service->count_by_conds($conds); if ($total > 0) { // 查询列表 $list = $service->list_by_conds($conds, $page_option, $order_option, $field); } $result = [ 'page' => $page, 'limit' => $limit, 'total' => intval($total), 'list' => $this->format_list($list) ]; return $result; } /** * 格式化列表数据 * @param array $list * @return array */ private function format_list($list = []) { $res_list = []; if (empty($list)) { return $res_list; } // 循环格式化数据 foreach ($list as $v) { $arr = array( 'app_data_id' => intval($v['ac_id']), 'title' => $v['subject'], 'class_name' => '', 'author' => '', 'status' => '进行中' ); $res_list[] = $arr; } return $res_list; } }