src/Biz/Live/Job/UpdateLiveStatusJob.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\Live\Job;
use Codeages\Biz\Framework\Scheduler\AbstractJob;
use AppBundle\Common\ArrayToolkit;
use Biz\Util\EdusohoLiveClient;
use Biz\Activity\Service\LiveActivityService;
class UpdateLiveStatusJob extends AbstractJob
{
private $liveApi;
public function execute()
{
$courseLives = $this->findLivesByActivity();
$openCourseLives = $this->findLivesByOpenCourseLesson();
$lives = array_merge($courseLives, $openCourseLives);
$results = $this->checkLiveStatusFromCloud($lives);
$this->updateLivesStatus($lives, $results);
}
private function findLivesByActivity()
{
$activities = $this->getActivityService()->findFinishedLivesWithinTwoHours();
if (empty($activities)) {
return array();
}
$mediaIds = ArrayToolkit::column($activities, 'mediaId');
$conditions = array(
'ids' => $mediaIds,
'replayStatus' => 'ungenerated',
'progressStatusNotEqual' => EdusohoLiveClient::LIVE_STATUS_CLOSED,
);
$liveActivities = $this->getLiveActivityService()->search($conditions, null, 0, PHP_INT_MAX);
if (empty($liveActivities)) {
return array();
}
$lives = array();
foreach ($liveActivities as $live) {
$lives[] = array('id' => $live['id'], 'type' => 'course', 'liveId' => $live['liveId'], 'liveProvider' => $live['liveProvider']);
}
return $lives;
}
private function findLivesByOpenCourseLesson()
{
$lessons = $this->getOpenCourseService()->findFinishedLivesWithinTwoHours();
if (empty($lessons)) {
return array();
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。