ClassListController.class.php 1.74 KB
<?php
/**
 * Created by PhpStorm.
 * User: tangxingguo
 * Date: 2017/7/25
 * Time: 14:33
 */
namespace Rpc\Controller\TaskCenter;

use Common\Common\Constant;
use Common\Service\ClassService;

class ClassListController extends \Rpc\Controller\AbstractController
{
    /**
     * ClassList
     * @author tangxingguo
     * @desc 课程分类列表接口
     * @return array(
     *  array(
     *      'class_id' => '分类 ID', // 分类 ID
     *      'class_name' => '分类名称', // 分类名称
     *      'parent_id' => '上级分类 ID,为 0 则表示顶级' // 上级分类 ID,为 0 则表示顶级
     *  )
     * )
     */
    public function Index()
    {
        // 排序规则
        $order_option = ['`order`' => 'asc', 'created' => 'desc'];

        // 分类列表数据
        $classServ = new ClassService();
        $classList = $classServ->list_by_conds([], [], $order_option);
        $classList = array_combine_by_key($classList, 'class_id');

        // 格式化数据
        $res = [];
        if (!empty($classList)) {
            foreach ($classList as $k => $v) {
                // 分类状态为未开启
                if ($v['is_open'] == Constant::CLASS_IS_OPEN_FALSE) {
                    continue;
                }
                // 父级分类状态为未开启
                if (isset($classList[$v['parent_id']]) && $classList[$v['parent_id']]['is_open'] == Constant::CLASS_IS_OPEN_FALSE) {
                    continue;
                }
                $res[] = [
                    'class_id' => $v['class_id'],
                    'class_name' => $v['class_name'],
                    'parent_id' => $v['parent_id'],
                ];
            }
        }

        $list['list'] = $res;
        return $list;
    }
}