src/AppBundle/Extensions/DataTag/ClassroomMissionsDataTag.php

(开头部分) 1KB

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

<?php

namespace AppBundle\Extensions\DataTag;

use Biz\Common\CommonException;
use Biz\Task\Service\TaskResultService;
use Biz\Task\Service\TaskService;
use AppBundle\Common\ArrayToolkit;

/**
 * @deprecated
 * @see StudyCenterMissionsDataTag
 */
class ClassroomMissionsDataTag extends BaseDataTag implements DataTag
{
    /**
     * 获取我的班级中未学的任务
     * 可传入的参数:
     *   userId         用户
     *   count          班级数量
     *   missionCount   任务数量.
     *
     * @param array $arguments 参数
     *
     * @return array 按班级分组的任务列表
     */
    public function getData(array $arguments)
    {
        if (!ArrayToolkit::requireds($arguments, array('userId', 'count', 'missionCount'))) {
            throw CommonException::ERROR_PARAMETER_MISSING();
        }

        return $this->getClassroomStudyMissions($arguments);
    }

    private function getClassroomStudyMissions($arguments)
    {
        $userId = $arguments['userId'];

        $members = $this->getClassroomService()->searchMembers(
            array(
                'userId' => $userId,
                'locked' => 0,
                'role' => 'student',
            ),
            array('createdTime' => 'DESC'),
            0,
            $arguments['count']
        );

        $classroomIds = ArrayToolkit::column($members, 'classroomId');

        if (empty($classroomIds)) {
            return array();
        }

        $sortedClassrooms = array();

        $sortedClassrooms = $this->getSortedClassrooms($classroomIds, $members, $sortedClassrooms);

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

AI 解读 AI

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

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