<?php /** * Created by PhpStorm. * User: liyifei2012it * Date: 17/7/26 * Time: 14:08 */ namespace Api\Controller\Customtask; use Com\PackageValidate; use Common\Common\Constant; use Common\Common\TaskHelper; use Common\Service\CustomtaskContentService; use Common\Service\UserContentService; class ContentListController extends \Api\Controller\AbstractController { /** * ContentList * @author tangxingguo * @desc 常规任务内容列表 * @param Int customtask_id 常规任务ID * @return array array( 'customtask_id' => 1, // 任务ID 'list' => array( array( 'app' => 'news', // 应用(news=新闻;course=课程;exam=考试;activity=活动;questionnaire=调研) 'title' => '完不成别吃饭', // 标题 'content_status' => 1, // 内容完成状态(1=未完成;2=已完成;) 'link' => 'http://dsc.vchangyi.com', // 任务链接 ), ), ); */ public function Index_post() { // 验证规则 $rules = [ 'customtask_id' => 'require|integer', ]; // 验证数据 $validate = new PackageValidate($rules, [], array_keys($rules)); $customtask_id = $validate->postData['customtask_id']; // 检查任务内容状态 $contentServ = new CustomtaskContentService(); $contents = $contentServ->list_by_conds(['customtask_id' => $customtask_id]); if (empty($contents)) { E('_ERR_CUSTOMTASK_NOT_FOUND'); } // 任务内容详情 $userContentServ = new UserContentService(); $contentList = $userContentServ->list_by_conds(['customtask_id' => $customtask_id, 'uid' => $this->uid]); if (!empty($contentList)) { $contentList = array_combine_by_key($contentList, 'customtask_content_id'); } $list = []; foreach ($contents as $k => $v) { $status = isset($contentList[$v['customtask_content_id']]) ? $contentList[$v['customtask_content_id']]['content_status'] : Constant::USER_CONTENT_STATUS_INCOMPLETE; $params = [ 'app_data_id' => $v['app_data_id'], 'customtask_id' => $customtask_id, ]; $list[] = [ 'app' => $v['app'], 'title' => $v['title'], 'content_status' => $status, 'link' => oaUrl('Frontend/Index/TaskCenter/Index', $params, '', ucwords($v['app'])), ]; } $this->_result = [ 'customtask_id' => $customtask_id, 'list' => $list, ]; } }