src/AppBundle/Component/Export/UserLearnStatistics/UserLearnStatisticsExporter.php

(开头部分) 1KB

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

<?php

namespace AppBundle\Component\Export\UserLearnStatistics;

use AppBundle\Common\MathToolkit;
use AppBundle\Component\Export\Exporter;
use AppBundle\Common\ArrayToolkit;

class UserLearnStatisticsExporter extends Exporter
{
    private $orderBy = array();

    public function canExport()
    {
        $user = $this->getUser();

        return $user->isAdmin();
    }

    public function getCount()
    {
        return $this->getUserService()->countUsers(ArrayToolkit::parts($this->conditions, array('userIds')));
    }

    public function getContent($start, $limit)
    {
        $users = $this->getUserService()->searchUsers(
            ArrayToolkit::parts($this->conditions, array('userIds')),
            array('id' => 'DESC'),
            $start,
            $limit
        );

        $conditions = array_merge($this->conditions, array('userIds' => ArrayToolkit::column($users, 'id')));

        $statistics = $this->getLearnStatisticsService()->statisticsDataSearch(
            $conditions,
            $this->orderBy
        );

        $statisticsContent = $this->handlerStatistics($statistics, $users);

        return $statisticsContent;
    }

    protected function handlerStatistics($statistics, $users)
    {
        $statistics = ArrayToolkit::index($statistics, 'userId');
        $statisticsContent = array();

        foreach ($users as $key => $user) {
            $member = array();
            $statistic = !empty($statistics[$user['id']]) ? $statistics[$user['id']] : false;

            if ($statistic) {
                $member[] = $user['nickname'];
                $member[] = $statistic['joinedClassroomNum'];
                $member[] = $statistic['exitClassroomNum'];
                $member[] = $statistic['joinedCourseNum'];
                $member[] = $statistic['exitCourseNum'];

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

AI 解读 AI

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

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