src/Biz/Course/Copy/Chain/ActivityCopy.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\Course\Copy\Chain;
use Biz\Activity\Config\Activity;
use Biz\Activity\Dao\ActivityDao;
use Biz\Course\Copy\AbstractEntityCopy;
class ActivityCopy extends AbstractEntityCopy
{
protected function copyEntity($source, $config = array())
{
$courseId = $source['id'];
$newCourseId = $config['newCourse']['id'];
if (empty($config['newCourseSetId'])) {
$courseSetId = $config['newCourse']['courseSetId'];
} else {
$courseSetId = $config['newCourseSetId'];
}
$isCopy = $config['isCopy'];
// 查询出course下所有activity,新增并保留新旧activity id,用于填充newTask的activityId
$activities = $this->getActivityDao()->findByCourseId($courseId);
if (empty($activities)) {
return array();
}
$activityMap = array();
foreach ($activities as $activity) {
$newActivity = $this->filterFields($activity);
$newActivity['fromUserId'] = $this->biz['user']['id'];
$newActivity['fromCourseId'] = $newCourseId;
$newActivity['fromCourseSetId'] = $courseSetId;
$newActivity['copyId'] = $isCopy ? $activity['id'] : 0;
//create testpaper
$testId = 0;
if (in_array($activity['mediaType'], array('testpaper'))) {
$activityTestpaperCopy = new ActivityTestpaperCopy($this->biz);
$testpaper = $activityTestpaperCopy->copy($activity, array(
'newCourseId' => $newCourseId,
'newCourseSetId' => $courseSetId,
'isCopy' => $isCopy,
));
$testId = empty($testpaper['id']) ? 0 : $testpaper['id'];
}
//create activity config
$config = $this->getActivityConfig($activity['mediaType']);
$ext = $config->copy($activity, array(
'refLiveroom' => $activity['fromCourseSetId'] != $courseSetId,
'testId' => $testId,
'newActivity' => $newActivity,
'isCopy' => $isCopy,
));
//对于testpaper,mediaId指向testpaper_activity.id
if (!empty($ext)) {
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。