DeleteController.class.php 1.33 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 18/4/24
 * Time: 11:25
 */
namespace Apicp\Controller\Path;

use Com\PackageValidate;
use Common\Service\PathService;
use Common\Service\PathContentService;
use Common\Service\MapPathService;

class DeleteController extends \Apicp\Controller\AbstractController
{
    /**
     * Delete
     * @author liyifei
     * @desc 批量删除路径接口
     * @param Array path_ids:true 学习路径ID数组
     */
    public function Index_post()
    {
        // 验证规则
        $rules = [
            'path_ids' => 'require|array',
        ];

        // 验证数据
        $validate = new PackageValidate($rules, [], array_keys($rules));
        $postData = $validate->postData;

        // 路径关联地图列表
        $mapPathServ = new MapPathService();
        $mapPathList = $mapPathServ->list_by_conds(['path_id' => $postData['path_ids']]);

        // 学习路径已被学习地图关联,不能进行删除
        if (!empty($mapPathList)) {
            E('_ERR_MAP_CONNECT_PATH');
        }

        // 删除路径
        $pathServ = new PathService();
        $pathServ->delete($postData['path_ids']);

        // 删除路径内容
        $contentServ = new PathContentService();
        $contentServ->delete_by_conds(['path_id' => $postData['path_ids']]);
    }
}