From 4fdc74ac6f9c0e446980a18d1b05db6d9d51de4c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 27 Aug 2019 08:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/subjects_helper.rb | 5 +++++ app/models/subject.rb | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/helpers/subjects_helper.rb b/app/helpers/subjects_helper.rb index 75ae9f041..f110ef04c 100644 --- a/app/helpers/subjects_helper.rb +++ b/app/helpers/subjects_helper.rb @@ -13,8 +13,13 @@ module SubjectsHelper # 实训路径的所有用户获得的标签 def user_shixun_tags challenge_ids, user_id + logger.info("#####################") ChallengeTag.joins("join games on challenge_tags.challenge_id = games.challenge_id"). where(challenge_id: challenge_ids, games: {status: 2, user_id: user_id}).pluck("challenge_tags.name").uniq + logger.info("#####################") + pass_challenge_ids = Game.where(status: 2, user_id: user_id, challenge_ids: challenge_ids).pluck(:challenge_id) + ChallengeTag.where(challenge_id: pass_challenge_ids).pluck(:name).uniq + logger.info("#####################") end # 金课的课堂状态 0:未开课,1:进行中,2:已结束 diff --git a/app/models/subject.rb b/app/models/subject.rb index 7b671cfb1..65e685209 100644 --- a/app/models/subject.rb +++ b/app/models/subject.rb @@ -82,9 +82,16 @@ class Subject < ApplicationRecord end def my_subject_progress + logger.info("#-----------") my_challenge_count = Game.joins(:challenge).where(user_id: User.current.id, status: 2, challenges: {shixun_id: shixuns.published_closed}). pluck(:challenge_id).uniq.size - count = self.subject_challenge_count == 0 ? 0 : ((my_challenge_count.to_f / self.subject_challenge_count).round(2) * 100).to_i + logger.info("#-----------") + new_challenge_count = Challenge.left_joins(:games) + .where(games: {user_id: current_user.id, status: 2}, shixun_id: shixuns.published_closed) + .uniq.count + logger.info("#-----------") + subject_challenge_count = shixuns.challenges_count + subject_challenge_count == 0 ? 0 : ((my_challenge_count.to_f / subject_challenge_count).round(2) * 100).to_i end def my_consume_time