src/Biz/Course/Job/UpdateCourseSetHotSeqJob.php

(开头部分) 1KB

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

<?php

namespace Biz\Course\Job;

use Biz\Course\Service\CourseSetService;
use Codeages\Biz\Framework\Scheduler\AbstractJob;
use Codeages\Biz\Framework\Dao\BatchUpdateHelper;

class UpdateCourseSetHotSeqJob extends AbstractJob
{
    public function execute()
    {
        $this->updateCourseHotSeq();
        $this->updateClassroomHotSeq();
    }

    protected function updateCourseHotSeq()
    {
        $conditions = array('startTimeGreaterThan' => strtotime('-30 days'), 'classroomId' => 0, 'role' => 'student');
        $memberCount = $this->getCourseMemberService()->searchMemberCountGroupByFields($conditions, 'courseSetId', 0, PHP_INT_MAX);

        //把所有课程的hotSeq都更新为0
        $this->getCourseSetService()->refreshHotSeq();

        if (!empty($memberCount)) {
            $batchHelper = new BatchUpdateHelper($this->getCourseSetDao());

            foreach ($memberCount as $count) {
                $fields = array('hotSeq' => $count['count']);
                $batchHelper->add('id', $count['courseSetId'], $fields);
            }

            $batchHelper->flush();
        }
    }

    protected function updateClassroomHotSeq()
    {
        $conditions = array('createdTime_GE' => strtotime('-30 days'), 'roles' => array('student', 'assistant'));
        $memberCount = $this->getClassroomService()->searchMemberCountGroupByFields($conditions, 'classroomId', 0, PHP_INT_MAX);

        $this->getClassroomService()->refreshClassroomHotSeq();

        if (!empty($memberCount)) {
            $batchHelper = new BatchUpdateHelper($this->getClassroomDao());

            foreach ($memberCount as $count) {
                $fields = array('hotSeq' => $count['count']);
                $batchHelper->add('id', $count['classroomId'], $fields);
            }

            $batchHelper->flush();
        }
    }

    /**
     * @return CourseSetService
     */
    protected function getCourseSetService()
    {

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

AI 解读 AI

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

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