src/Biz/Marker/Service/Impl/ReportServiceImpl.php

(开头部分) 2KB

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

<?php

namespace Biz\Marker\Service\Impl;

use AppBundle\Common\ArrayToolkit;
use Biz\Activity\Service\ActivityService;
use Biz\BaseService;
use Biz\Course\CourseException;
use Biz\Course\Service\CourseService;
use Biz\Marker\Dao\QuestionMarkerResultDao;
use Biz\Marker\Service\MarkerService;
use Biz\Marker\QuestionMarkerException;
use Biz\Marker\Service\QuestionMarkerResultService;
use Biz\Marker\Service\QuestionMarkerService;
use Biz\Marker\Service\ReportService;
use Biz\Task\Service\TaskService;
use Biz\Task\TaskException;

class ReportServiceImpl extends BaseService implements ReportService
{
    public function analysisQuestionMarker($courseId, $taskId, $questionMarkerId)
    {
        $this->preCheck($courseId, $taskId);
        $questionMarker = $this->getQuestionMarkerService()->getQuestionMarker($questionMarkerId);

        if (empty($questionMarker)) {
            $this->createNewException(QuestionMarkerException::NOTFOUND_QUESTION_MARKER());
        }

        $analysis = array();
        $analysis['questionMarker'] = $questionMarker;

        $results = $this->getQuestionMarkerResultService()->findByTaskIdAndQuestionMarkerId($taskId, $questionMarkerId);

        $analysis['count'] = count($results);

        //根据不同的题目类型,调用不同的解析逻辑,
        $method = $this->getMethodName($questionMarker['type']);
        $analysis['metaStats'] = call_user_func_array(array($this, $method), array($questionMarker, $results));

        return $analysis;
    }

    public function statTaskQuestionMarker($courseId, $taskId)
    {
        $this->preCheck($courseId, $taskId);
        $stats = array(
            'courseId' => $courseId,
            'taskId' => $taskId,
            'tasks' => array(),
            'questionMarkers' => array(),
            'totalUserNum' => 0,
            'totalAnswerNum' => 0,
        );
        $this->buildTasks($stats);
        $this->buildQuestionMarkers($stats);
        $this->buildUserNum($stats);
        $this->buildAnswerNum($stats);

        return $stats;

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

AI 解读 AI

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

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