function getUserPaperDuration($uid, $courseId) { $tblUserSection = new DB_Haodu_UserSection(); $list = $tblUserSection->fetchAll("section_id", "where uid={$uid} and course_id={$courseId}"); if (!$list) { return 0; } $sectionIds = $tblUserSection->columnRow($list, "section_id"); $tblPractiseAnswerHistory = new DB_Haodu_PractiseAnswerHistory(); $practiseList = $tblPractiseAnswerHistory->fetchAll("practise_id", "where uid={$uid} and section_id in (" . implode(",", $sectionIds) . ")"); if (!$practiseList) { return 0; } $practiseIds = $tblPractiseAnswerHistory->columnRow($practiseList, "practise_id"); $tblCoursePractise = new DB_Haodu_CoursePractise(); $videoList = $tblCoursePractise->fetchAll("video_id", "where practise_id in (" . implode(",", $practiseIds) . ")"); if (!$videoList) { return 0; } $videoIds = $tblCoursePractise->columnRow($videoList, "video_id"); $tblUserVideo = new DB_Haodu_UserVideo(); $videoList = $tblUserVideo->fetchAll("video_id", "where uid={$uid} and video_id in (" . implode(",", $videoIds) . ")"); if (!$videoList) { return 0; } $videoIds = $tblCoursePractise->columnRow($videoList, "video_id"); $tblVideo = new DB_Haodu_CourseVideo(); $video = $tblVideo->scalar("sum(duration) as total_duration", "where id in (" . implode(',', $videoIds) . ")"); return (int) $video['total_duration']; }
/** * 课程下用户答题数量 */ public function getUserCoursePractiseNum($uid, $courseId) { $sectionIds = $this->getUserCourseSection($uid, $courseId); if (!$sectionIds) { return 0; } $sectionIds = array_keys($sectionIds); $tblUserPractise = new DB_Haodu_PractiseAnswerHistory(); return $tblUserPractise->queryCount("where uid={$uid} and section_id in (" . implode(",", $sectionIds) . ")"); }
/** * 回答历史 */ public function insertAnswer($sectionId, $uid, $practiseId, $optionId, $answerId) { $time = time(); $data = array("section_id" => $sectionId, "uid" => $uid, "practise_id" => $practiseId, "option_id" => $optionId, "answer_id" => $answerId, "create_time" => $time); $this->deleteAnswer($sectionId, $uid, $practiseId); $tbl = new DB_Haodu_PractiseAnswerHistory(); return $tbl->insert($data); }