企培版學(xué)習(xí)時長排行榜業(yè)務(wù)分析與時長為0錯誤

企培版學(xué)習(xí)時長排行榜業(yè)務(wù)分析

數(shù)據(jù)庫查詢條件

user_daily_learn_record.learnTime

src/CorporateTrainingBundle/Biz/DataStatistics/Dao/Impl/UserDailyLearnRecordJoinUserDaoImpl.php

public function statisticsPersonLearnTimeRankingList(array $conditions, $start = 0, $limit = 5)
{
    $builder = $this->db()->createQueryBuilder()
        ->select('udlr.userId as userId, MAX(udlr.postId) as postId, SUM(udlr.learnTime)/COUNT(DISTINCT(uo.orgId)) as totalLearnTime')
        ->from('user_daily_learn_record', 'udlr')
        ->innerJoin('udlr', 'user', 'u', 'u.id=udlr.userId')
        ->innerJoin('udlr', 'user_org', 'uo', 'udlr.userId=uo.userId')
        ->where('u.locked = 0')
        ->andWhere('u.type != "system"')
        ->groupBy('userId')
        ->orderBy('totalLearnTime', 'DESC')
        ->setFirstResult($start)
        ->setMaxResults($limit);

    $builder = $this->addWhereToQueryBuilder($builder, $conditions);

    return $builder->execute()->fetchAll() ?: [];
}
course_task_trigger:
    path:  /course/{courseId}/task/{id}/trigger
    defaults: { _controller: AppBundle:Task:trigger }

啟用方案

錯誤原因

因?yàn)橐曨l類型的課時不提供更新的問題,怎么實(shí)現(xiàn)更新需要前端支持,替換后該方案無效

src/CorporateTrainingBundle/Biz/UserDailyLearnRecord/Event/UserDailyLearnRecordEventSubscriber.php

public function onWaveLearnTime(Event $event)
{
    $taskResultId = $event->getSubject();
    $learnTime = $event->getArgument('learnTime');

    $taskResult = $this->getTaskResultService()->getTaskResultById($taskResultId);

    $user = $this->getUserService()->getUser($taskResult['userId']);

    $courseId = $taskResult['courseId'];
    $course = $this->getCourseService()->getCourse($courseId);

    if (!$this->validateData($user, $course, $taskResult)) {
        return;
    }

    $data = $this->buildData($user, $course);
    $data['learnTime'] = $learnTime;

    $this->processDailyRecord('wave.learn.time', $data);
}
    
    protected function validateData($user, $course, $taskResult = [])
{
    if (empty($user) || empty($course) || !empty($user['locked'])) {
        return false;
    }

    if (in_array($user['id'], $course['teacherIds'])) {
        return false;
    }

    if (!empty($taskResult)) {
        $task = $this->getTaskService()->getTask($taskResult['courseTaskId']);
        if (in_array($task['type'], ['video', 'audio'])) {
            return false;
        }

        if ('live' === $task['type']) {
            $activity = $this->getActivityService()->getActivity($taskResult['taskId']);
            $liveActivity = $this->getLiveActivityService()->getLiveActivity($activity['mediaId']);
            if ('videoGenerated' === $liveActivity['replayStatus']) {
                return false;
            }
        }
    }

    return true;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,196評論 1 180
  • ?著作權(quán)歸作者所有:來自51CTO博客作者優(yōu)秀android的原創(chuàng)作品,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任 ...
    傳奇內(nèi)服號閱讀 1,204評論 0 9
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,870評論 28 54
  • 信任包括信任自己和信任他人 很多時候,很多事情,失敗、遺憾、錯過,源于不自信,不信任他人 覺得自己做不成,別人做不...
    吳氵晃閱讀 6,381評論 4 8
  • 怎么對待生活,它也會怎么對你 人都是哭著來到這個美麗的人間。每個人從來到塵寰到升入天堂,整個生命的歷程都是一本書,...
    靜靜在等你閱讀 5,319評論 1 6

友情鏈接更多精彩內(nèi)容