src/Biz/Course/Copy/Chain/ChapterCopy.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Biz\Course\Copy\Chain;

use Biz\Course\Copy\AbstractEntityCopy;
use Biz\Course\Dao\CourseChapterDao;

class ChapterCopy extends AbstractEntityCopy
{
    protected function copyEntity($source, $config = array())
    {
        $courseId = $source['id'];
        $newCourseId = $config['newCourse']['id'];
        $isCopy = $config['isCopy'];
        //查询出course下所有chapter,新增并保留新旧chapter id,用于填充newTask的categoryId
        $chapters = $this->getChapterDao()->findChaptersByCourseId($courseId);
        if (empty($chapters)) {
            return array();
        }

        $chapterMap = array(); // key=oldChapterId,value=newChapter

        foreach ($chapters as $chapter) {
            $newChapter = $this->filterFields($chapter);
            $newChapter['courseId'] = $newCourseId;
            $newChapter['copyId'] = $isCopy ? $chapter['id'] : 0;
            $newChapter = $this->getChapterDao()->create($newChapter);
            $chapterMap[$chapter['id']] = $newChapter;
        }

        return $chapterMap;
    }

    protected function getFields()
    {
        return array(
            'type',
            'number',
            'seq',
            'title',
            'status',
            'isOptional',
            'published_number',
        );
    }

    /**
     * @return CourseChapterDao
     */
    protected function getChapterDao()
    {
        return $this->biz->dao('Course:CourseChapterDao');
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。