DelController.class.php 1.76 KB
<?php
/**
 * 【调研中心-后台】04_删除调研分类
 * AddController.class.php
 * CreateBy:dj
 * Date:2017-03-03
 */

namespace Apicp\Controller\Classify;

use Common\Common\Cache;
use Common\Service\BaseinfoService;
use Common\Service\ClassifyService;

class DelController extends \Apicp\Controller\AbstractController
{

    public function Index_post()
    {

        // 调研分类id
        $qc_id = I('post.qc_id', 0, 'intval');
        // 调研分类id参数为空
        if (empty($qc_id)) {

            E('_EMPTY_CATEGORY_ID');
        }

        // 实例化调研分类
        $class_s = new ClassifyService();
        // 获取分类列表数据
        $class_list = $class_s->get_classify_list();
        $class_list = array_combine_by_key($class_list, 'qc_id');
        $class_info = $class_list[$qc_id];

        // 删除的分类为系统默认分类:系统默认分类不能删除
        if (!empty($class_info) && ClassifyService::CLASSIFY_SYSTEM_DEFAULT == $class_info['is_system']) {

            E('_ERR_CATE_DEFAULT');
        }

        // 实例化调研基础信息Service
        $base_info_s = new BaseinfoService();
        // 检查分类下是否存在调研信息
        $base_info_num = $base_info_s->count_by_conds(['qc_id' => $qc_id]);

        // 删除分类下存在调研信息:调研分类下有调研信息,不能删除
        if ($base_info_num) {

            E('_ERR_QUESTION_NOT_EMPTY');
        }

        // 删除分类
        $cate_num = $class_s->delete($qc_id);
        if (!$cate_num) {

            return false;
        }

        $cache = &Cache::instance();
        $cache->set('Common.Questionnaire_Classify_List', null);

        return true;
    }
}