src/Biz/Xapi/Type/DoQuestionType.php

(开头部分) 2KB

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

<?php

namespace Biz\Xapi\Type;

use AppBundle\Common\ArrayToolkit;

class DoQuestionType extends Type
{
    const TYPE = 'answered_question';

    public function packages($statements)
    {
        if (empty($statements)) {
            return array();
        }
        try {
            $questionMarkerResultIds = ArrayToolkit::column($statements, 'target_id');
            $questionMarkerResults = $this->getQuestionMarkerResultService()->findResultsByIds($questionMarkerResultIds);
            $questionMarkerResults = ArrayToolkit::index($questionMarkerResults, 'id');

            $questionMarkerIds = ArrayToolkit::column($questionMarkerResults, 'questionMarkerId');
            $questionMarkers = $this->getQuestionMarkerService()->findQuestionMarkersByIds($questionMarkerIds);
            $questionMarkers = ArrayToolkit::index($questionMarkers, 'id');

            $tasks = $this->findTasks(
               array($questionMarkerResults, 'taskId')
            );

            $courses = $this->findCourses(
                array($tasks, 'courseId')
            );

            list($activities, $resources) = $this->findActivities(
                array($tasks, 'activityId')
            );

            $sdk = $this->createXAPIService();
            $pushStatements = array();

            foreach ($statements as $statement) {
                try {
                    $questionMarkerResult = $questionMarkerResults[$statement['target_id']];
                    $questionMarker = $questionMarkers[$questionMarkerResult['questionMarkerId']];
                    $task = $tasks[$questionMarkerResult['taskId']];
                    $course = $courses[$task['courseId']];
                    $activity = $activities[$task['activityId']];
                    if (!empty($activity['ext']['mediaId'])) {
                        $resource = empty($resources[$activity['ext']['mediaId']]) ? array() : $resources[$activity['ext']['mediaId']];
                    } else {
                        $resource = array();
                    }

                    $answers = array();
                    if (is_array($questionMarker['answer'])) {
                        foreach ($questionMarker['answer'] as $answer) {
                            $answers[] = $this->num_to_capital($answer);
                        }
                    }

                    $choices = array();

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

AI 解读 AI

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

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