InfoController.class.php 1.83 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 17/9/12
 * Time: 15:37
 */
namespace Rpc\Controller\Train;

use Think\Log;
use Com\PackageValidate;
use Common\Common\Constant;
use Common\Service\ArticleService;

class InfoController extends \Rpc\Controller\AbstractController
{
    /**
     * Info
     * @author tangxingguo
     * @desc 课程详情接口
     * @param Array app_data_ids:true 课程ID
     * @return array
                array(
                    array(
                        'app_data_id' => 8, // 课程ID
                        'title' => '哈哈', // 课程标题
                    )
                )
     */
    public function Index()
    {
        Log::record('Train Info params: ' . var_export($this->_params, true), Log::INFO);
        $postData = $this->_params;

        // 验证规则
        $rules = [
            'app_data_ids' => 'require|array',
        ];

        // 验证请求数据
        $validate = new PackageValidate();
        $validate->postData = $postData;
        $validate->validateParams($rules);

        // 检查课程是否被删除
        $articleServ = new ArticleService();
        $articleList = $articleServ->list_by_conds([
            'article_id' => $postData['app_data_ids'],
            'course_type' => Constant::COURSE_TYPE_TRAIN,
        ]);

        if (empty($articleList)) {
            return [];
        }
        // 没有被删除的课程
        $articleIds = array_column($articleList, 'article_id');

        // 组合数据
        $list = [];
        $articleList = array_combine_by_key($articleList, 'article_id');
        foreach ($articleIds as $v) {
            $res = [
                'app_data_id' => $v,
                'title' => $articleList[$v]['article_title'],
            ];
            $list[] = $res;
        }

        return $list;
    }
}