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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。