ClassListController.class.php 1.7 KB
<?php
/**
 * Created by PhpStorm.
 * User: zhonglei
 * Date: 18/4/24
 * Time: 11:57
 */
namespace Rpc\Controller\OtherClass;

use Common\Common\Constant;
use Common\Service\CategoryService;

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

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

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

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