src/Biz/Course/Copy/CourseSetCoursesCopy.php

(开头部分) 2KB

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

<?php

namespace Biz\Course\Copy;

use Biz\AbstractCopy;
use Biz\Course\Dao\CourseDao;
use Biz\Course\Dao\CourseSetDao;
use Biz\Course\Service\CourseSetService;
use Biz\Question\Dao\QuestionDao;
use Biz\Task\Dao\TaskDao;
use Biz\Testpaper\Dao\TestpaperDao;
use Codeages\Biz\Framework\Util\ArrayToolkit;

class CourseSetCoursesCopy extends AbstractCopy
{
    public function preCopy($source, $options)
    {
        // TODO: Implement preCopy() method.
    }

    public function doCopy($source, $options)
    {
        $user = $this->biz['user'];
        $courseSet = $source;
        $newCourseSet = $options['newCourseSet'];

        $courses = $this->getCourseDao()->findCoursesByCourseSetIdAndStatus($courseSet['id'], null);

        $defaultCourseId = 0;
        $newCourses = array();

        foreach ($courses as $originCourse) {
            $newCourse = $this->partsFields($originCourse);
            $newCourse['courseSetId'] = $newCourseSet['id'];
            $newCourse['courseSetTitle'] = $newCourseSet['title'];
            $newCourse['creator'] = $user['id'];
            $newCourse['parentId'] = $originCourse['id'];
            $newCourse['price'] = $originCourse['originPrice'];
            $newCourse = $this->getCourseDao()->create($newCourse);

            $newCourses[] = $newCourse;

            if ($originCourse['id'] == $courseSet['defaultCourseId']) {
                $defaultCourseId = $newCourse['id'];
            }

            $options['newCourse'] = $newCourse;
            $options['originCourse'] = $originCourse;
            $this->doChildrenProcess($source, $options);
        }

        // 原课程defaultCourse被删除时,复制后defaultCourseId为课程下第一个计划的ID
        $defaultCourseId = empty($defaultCourseId) ? $newCourses[0]['id'] : $defaultCourseId;
        $this->getCourseSetDao()->update($newCourseSet['id'], array('defaultCourseId' => $defaultCourseId));

        $this->getCourseSetService()->updateCourseSetMinAndMaxPublishedCoursePrice($newCourseSet['id']);

        $this->updateQuestionsCourseId($newCourseSet['id']);
        $this->updateQuestionsLessonId($newCourseSet['id']);
        $this->updateExerciseRange($newCourseSet['id']);

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

AI 解读 AI

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

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