DeleteController.class.php 1.27 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 18/3/27
 * Time: 18:12
 */
namespace Apicp\Controller\Task;

use Com\PackageValidate;
use Common\Common\Course;
use Common\Service\TaskService;

class DeleteController extends \Apicp\Controller\AbstractController
{
    /**
     * Delete
     * @author liyifei
     * @desc 删除授课任务
     * @param Int task_id:true 授课任务ID
     */
    public function Index_post()
    {
        $rules = [
            'task_id' => 'require',
        ];
        $validate = new PackageValidate($rules, [], array_keys($rules));
        $postData = $validate->postData;

        // 授课任务详情
        $taskServ = new TaskService();
        $task = $taskServ->get($postData['task_id']);
        if (empty($task)) {
            E('_ERR_TASK_NOT_FOUND');
        }

        // 授课任务是否已被课程使用
        $courseServ = &Course::instance();
        $courseList = $courseServ->getArticleList(['teacher_task_id' => $postData['task_id']]);
        if (!empty($courseList)) {
            $articleIds = array_column($courseList, 'article_id');
            $courseServ->updateCourse(['article_id' => $articleIds], ['teacher_task_id' => 0]);
        }

        // 删除
        $taskServ->delete($postData['task_id']);
    }
}