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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。