src/Biz/Activity/Type/Live.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\Activity\Type;
use AppBundle\Common\ArrayToolkit;
use Biz\Activity\ActivityException;
use Biz\Activity\Config\Activity;
use Biz\Activity\Dao\ActivityDao;
use Biz\Activity\Service\LiveActivityService;
use Biz\Common\CommonException;
class Live extends Activity
{
protected function registerListeners()
{
return array(
'watching' => 'Biz\Activity\Listener\LiveActivityWatchListener',
);
}
public function preCreateCheck($fields)
{
if (!ArrayToolkit::requireds($fields, array('fromCourseId', 'startTime', 'length'), true)) {
throw CommonException::ERROR_PARAMETER_MISSING();
}
$overlapTimeActivities = $this->getActivityDao()->findOverlapTimeActivitiesByCourseId(
$fields['fromCourseId'],
$fields['startTime'],
$fields['startTime'] + $fields['length'] * 60
);
if ($overlapTimeActivities) {
throw ActivityException::LIVE_OVERLAP_TIME();
}
}
public function preUpdateCheck($activity, $newFields)
{
if (empty($newFields['startTime']) || empty($newFields['length'])) {
return;
}
if (!ArrayToolkit::requireds($newFields, array('fromCourseId', 'startTime', 'length'), true)) {
throw CommonException::ERROR_PARAMETER_MISSING();
}
$overlapTimeActivities = $this->getActivityDao()->findOverlapTimeActivitiesByCourseId(
$newFields['fromCourseId'],
$newFields['startTime'],
$newFields['startTime'] + $newFields['length'] * 60,
$activity['id']
);
if ($overlapTimeActivities) {
throw ActivityException::LIVE_OVERLAP_TIME();
}
}
public function create($fields)
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。