diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 8eefe5ff5..075777891 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1349,6 +1349,7 @@ class CoursesController < ApplicationController def search_slim courses = current_user.manage_courses.not_deleted.processing + courses = courses.where(id: current_laboratory.all_courses) keyword = params[:keyword].to_s.strip if keyword.present? diff --git a/app/controllers/exercise_answers_controller.rb b/app/controllers/exercise_answers_controller.rb index 158628475..31df2291e 100644 --- a/app/controllers/exercise_answers_controller.rb +++ b/app/controllers/exercise_answers_controller.rb @@ -26,6 +26,7 @@ class ExerciseAnswersController < ApplicationController end elsif q_type == Exercise::MULTIPLE #多选题的 choice_ids = params[:exercise_choice_id].present? ? params[:exercise_choice_id] : [] + question_choice_ids = @exercise_question.exercise_choices.pluck(:id) ea_ids = ea.pluck(:exercise_choice_id) common_answer_ids = choice_ids & ea_ids #已经存在的试卷选项id @@ -37,7 +38,8 @@ class ExerciseAnswersController < ApplicationController :user_id => current_user.id, :exercise_question_id => @exercise_question.id, :exercise_choice_id => e, - :answer_text => "" + :answer_text => "", + :choice_index => question_choice_ids.index(e).to_i + 1 # choice的序号 } ex_a = ExerciseAnswer.new(answer_option) ex_a.save! @@ -52,7 +54,8 @@ class ExerciseAnswersController < ApplicationController :user_id => current_user.id, :exercise_question_id => @exercise_question.id, :exercise_choice_id => choice_id, - :answer_text => answer_text + :answer_text => answer_text, + :choice_index => choice_id } ea_answer = ea.search_answer_users("exercise_choice_id",choice_id) if ea.present? && ea_answer.present? diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 44bfcf03f..193ef857b 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -316,7 +316,8 @@ class ExercisesController < ApplicationController :question_number => q.question_number, :question_score => q.question_score, :shixun_id => q.shixun_id, - :shixun_name => q.shixun_name + :shixun_name => q.shixun_name, + :is_ordered => q.is_ordered } exercise_bank_question = current_ex_bank.exercise_bank_questions.new option exercise_bank_question.save! diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index db8c688ad..d68304bfe 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -787,7 +787,8 @@ class HomeworkCommonsController < ApplicationController def create_shixun_homework tip_exception("请至少选择一个实训") if params[:shixun_ids].blank? - shixuns = Shixun.where(id: params[:shixun_ids]).reorder("id desc") + order_ids = params[:shixun_ids].size > 0 ? params[:shixun_ids].reverse.join(',') : -1 + shixuns = Shixun.where(id: params[:shixun_ids]).order("field(id, #{order_ids})") @homework_ids = [] unless params[:category_id].blank? @category = @course.course_second_categories.find_by(id: params[:category_id], category_type: "shixun_homework") diff --git a/app/controllers/item_baskets_controller.rb b/app/controllers/item_baskets_controller.rb index dc5367378..03355189d 100644 --- a/app/controllers/item_baskets_controller.rb +++ b/app/controllers/item_baskets_controller.rb @@ -12,13 +12,7 @@ class ItemBasketsController < ApplicationController end def basket_list - @single_questions_count = current_user.item_baskets.where(item_type: "SINGLE").count - @multiple_questions_count = current_user.item_baskets.where(item_type: "MULTIPLE").count - @judgement_questions_count = current_user.item_baskets.where(item_type: "JUDGMENT").count - @completion_questions_count = current_user.item_baskets.where(item_type: "COMPLETION").count - @subjective_questions_count = current_user.item_baskets.where(item_type: "SUBJECTIVE").count - @practical_questions_count = current_user.item_baskets.where(item_type: "PRACTICAL").count - @program_questions_count = current_user.item_baskets.where(item_type: "PROGRAM").count + @basket_count = current_user.item_baskets.group(:item_type).count end def create diff --git a/app/controllers/question_banks_controller.rb b/app/controllers/question_banks_controller.rb index 5183c7a96..bcb88ad85 100644 --- a/app/controllers/question_banks_controller.rb +++ b/app/controllers/question_banks_controller.rb @@ -259,7 +259,8 @@ class QuestionBanksController < ApplicationController :question_number => q.question_number, :question_score => q.question_score, :shixun_name => q.shixun_name, - :shixun_id => q.shixun_id + :shixun_id => q.shixun_id, + :is_ordered => q.is_ordered } exercise_question = new_exercise.exercise_questions.new option # question_type:5实训题;其他是非实训题 diff --git a/app/controllers/shixun_lists_controller.rb b/app/controllers/shixun_lists_controller.rb index c77da46e0..52682089c 100644 --- a/app/controllers/shixun_lists_controller.rb +++ b/app/controllers/shixun_lists_controller.rb @@ -1,5 +1,9 @@ class ShixunListsController < ApplicationController def index + # 去除开头标点符号 + @reg = /^[,。?:;‘’!“”—……、]/ + # 附件的替换 + @atta_reg = /!\[.*]\(\/api\/attachments\/\d+\)/ @results = ShixunSearchService.call(search_params, current_laboratory) end diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 30de10b73..d197b6f9d 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -291,13 +291,13 @@ class ShixunsController < ApplicationController new_challenge.attributes = challenge.attributes.dup.except("id","shixun_id","user_id", "challenge_tags_count") new_challenge.user_id = User.current.id new_challenge.shixun_id = @new_shixun.id - new_challenge.save! + new_challenge.save!(validate: false) # 同步参考答案 challenge.challenge_answers.each do |answer| new_answer = ChallengeAnswer.new new_answer.attributes = answer.attributes.dup.except("id","challenge_id") new_answer.challenge_id = new_challenge.id - new_answer.save! + new_answer.save!(validate: false) end if challenge.st == 0 # 评测题 # 同步测试集 @@ -306,7 +306,7 @@ class ShixunsController < ApplicationController new_test_set = TestSet.new new_test_set.attributes = test_set.attributes.dup.except("id","challenge_id") new_test_set.challenge_id = new_challenge.id - new_test_set.save! + new_test_set.save!(validate: false) end end # 同步关卡标签 @@ -1187,7 +1187,10 @@ private end def validate_wachat_support - tip_exception(-2, "..") if (params[:wechat].present? && !@shixun.is_wechat_support?) + + if (params[:wechat].present? && !@shixun.is_wechat_support?) + tip_exception(-5, "..") + end end end diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index ce7fc575c..e820c383d 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -200,7 +200,8 @@ class SubjectsController < ApplicationController end def append_to_stage - @shixuns = Shixun.where(id: params[:shixun_id]).order("id desc") + order_ids = params[:shixun_id].size > 0 ? params[:shixun_id].join(',') : -1 + @shixuns = Shixun.where(id: params[:shixun_id]).order("field(id, #{order_ids})") end # 添加实训项目 diff --git a/app/controllers/weapps/code_sessions_controller.rb b/app/controllers/weapps/code_sessions_controller.rb index 350fa4978..984e008a5 100644 --- a/app/controllers/weapps/code_sessions_controller.rb +++ b/app/controllers/weapps/code_sessions_controller.rb @@ -21,6 +21,8 @@ class Weapps::CodeSessionsController < Weapps::BaseController Rails.logger.info("[Weapp] code: #{params[:code]}") user_info = Wechat::Weapp.decrypt(result['session_key'], params[:encrypted_data], params[:iv]) + # user_info.delete(:nickName) + # 老用户,已绑定 open_user = OpenUsers::Wechat.find_by(uid: user_info['unionId']) if open_user.present? && open_user.user @@ -29,7 +31,7 @@ class Weapps::CodeSessionsController < Weapps::BaseController end set_session_unionid(user_info['unionId']) - user_info['nickname'] = user_info['nickName'] + # user_info['nickname'] = user_info['nickName'] session[:wechat_user_extra] = user_info end diff --git a/app/controllers/weapps/courses_controller.rb b/app/controllers/weapps/courses_controller.rb index d732416ba..35a122e2c 100644 --- a/app/controllers/weapps/courses_controller.rb +++ b/app/controllers/weapps/courses_controller.rb @@ -108,7 +108,7 @@ class Weapps::CoursesController < Weapps::BaseController def change_member_roles @course = current_course tip_exception("请至少选择一个角色") if params[:roles].reject(&:blank?).blank? - tip_exception("不能具有老师、助教两种角色") if params[:roles].include?("PROFESSOR") && params[:roles].include?("ASSISTANT_PROFESSOR") + tip_exception("教师、助教角色只能二选一") if params[:roles].include?("PROFESSOR") && params[:roles].include?("ASSISTANT_PROFESSOR") params[:user_ids].each do |user_id| course_members = @course.course_members.where(user_id: user_id) diff --git a/app/controllers/weapps/homes_controller.rb b/app/controllers/weapps/homes_controller.rb index 00b955f1b..e53923fa8 100644 --- a/app/controllers/weapps/homes_controller.rb +++ b/app/controllers/weapps/homes_controller.rb @@ -16,6 +16,7 @@ class Weapps::HomesController < Weapps::BaseController current_user.manage_courses end @courses = @courses.not_deleted.not_excellent + @courses = @courses.where(id: current_laboratory.all_courses) @course_count = @courses.count order_str = "course_members.sticky=1 desc, course_members.sticky_time desc, courses.created_at desc" @courses = paginate(@courses.order(order_str).includes(:teacher, :school)) diff --git a/app/controllers/weapps/sessions_controller.rb b/app/controllers/weapps/sessions_controller.rb index 8c7c57a7f..732d0a686 100644 --- a/app/controllers/weapps/sessions_controller.rb +++ b/app/controllers/weapps/sessions_controller.rb @@ -15,8 +15,9 @@ class Weapps::SessionsController < Weapps::BaseController return end + # session[:wechat_user_extra].delete(:nickName) # 绑定微信号 - OpenUsers::Wechat.create!(user: user, uid: session_unionid, extra: session[:wechat_user_extra]) if user.wechat_open_user.blank? + OpenUsers::Wechat.create!(user: user, uid: session_unionid) if user.wechat_open_user.blank? successful_authentication(user) end diff --git a/app/helpers/exercise_questions_helper.rb b/app/helpers/exercise_questions_helper.rb index 69dee034f..1cc613bc6 100644 --- a/app/helpers/exercise_questions_helper.rb +++ b/app/helpers/exercise_questions_helper.rb @@ -2,9 +2,11 @@ module ExerciseQuestionsHelper def get_exercise_question_info(question,exercise,ex_user,ex_answerer_id) answered_content = [] exercise_answers = question.exercise_answers.search_exercise_answer("user_id",ex_answerer_id) #试卷用户的回答 - if question.question_type <= 2 + if question.question_type == Exercise::SINGLE || question.question_type == Exercise::JUDGMENT + answered_content << exercise_answers.last&.exercise_choice_id if exercise_answers.present? + elsif question.question_type == Exercise::MULTIPLE answered_content = exercise_answers.pluck(:exercise_choice_id) - elsif question.question_type == 3 + elsif question.question_type == Exercise::COMPLETION exercise_answers.each do |a| u_answer = { "choice_id": a.exercise_choice_id, @@ -12,10 +14,10 @@ module ExerciseQuestionsHelper } answered_content.push(u_answer) end - elsif question.question_type == 4 + elsif question.question_type == Exercise::SUBJECTIVE answered_content = exercise_answers.pluck(:answer_text) end - if question.question_type == 5 && ex_user.present? && ex_user.commit_status == 1 #存在实训题,且用户已提交了的,如果实训题只做了一半就关闭,则相当于不要了 + if question.question_type == Exercise::PRACTICAL && ex_user.present? && ex_user.commit_status == 1 #存在实训题,且用户已提交了的,如果实训题只做了一半就关闭,则相当于不要了 if exercise.exercise_status == 3 #如果试卷已截止,则可以看到分数,否则不能查看分数 shixun_type = 2 else diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index 513f980d8..0ec1f6cb3 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -16,8 +16,8 @@ module ExercisesHelper end if q_type <= Exercise::JUDGMENT - if answers_content.present? #学生有回答时,分数已经全部存到exercise_answer 表,所以可以直接取第一个值 - ques_score = answers_content.first.score + if answers_content.present? #学生有回答时,分数已经全部存到exercise_answer 表,多选题直接取第一个值,单选题和判断题选最后一个值(考虑并发) + ques_score = q_type == Exercise::MULTIPLE ? answers_content.first.score : answers_content.last.score ques_score = ques_score < 0 ? 0.0 : ques_score # answer_choice_array = [] # answers_content.each do |a| @@ -441,30 +441,42 @@ module ExercisesHelper end if q.question_type <= 2 #为选择题或判断题时 if answers_content.present? #学生有回答时 - answer_choice_array = [] - answers_content.each do |a| - answer_choice_array.push(a.exercise_choice.choice_position) #学生答案的位置 - end - user_answer_content = answer_choice_array.sort - standard_answer = q.exercise_standard_answers.pluck(:exercise_choice_id).sort #该问题的标准答案,可能有多个 - - #TODO: 旧版多选题的标准答案是放在一个里面的,新版又做成了一个题有多个标准答案(exercise_choice_id存放的是标准答案的位置..) - if q.question_type == 1 && standard_answer.size == 1 - standard_answer = standard_answer.first.to_s.split("").map(&:to_i).sort - end - - if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 - if standard_answer.size > 0 + if q.question_type == 0 || q.question_type == 2 ## 单选、判断题的算分与多选题分开计算 + user_answer = answers_content.last.exercise_choice.choice_position + standard_answer = q.exercise_standard_answers.first&.exercise_choice_id + if standard_answer.present? && user_answer == standard_answer q_score_1 = q.question_score - # q_score_1 = (q.question_score.to_f / standard_answer.count) #当多选答案正确时,每个answer的分数均摊。 + score1 = score1 + q.question_score else - q_score_1 = 0.0 + q_score_1 = -1.0 end - answers_content.update_all(:score => q_score_1) - score1 = score1 + q.question_score + answers_content.last.update!(score: q_score_1) else - answers_content.update_all(:score => -1.0) - score1 += 0.0 + answer_choice_array = [] + answers_content.each do |a| + answer_choice_array.push(a.exercise_choice.choice_position) #学生答案的位置 + end + user_answer_content = answer_choice_array.sort + standard_answer = q.exercise_standard_answers.pluck(:exercise_choice_id).sort #该问题的标准答案,可能有多个 + + #TODO: 旧版多选题的标准答案是放在一个里面的,新版又做成了一个题有多个标准答案(exercise_choice_id存放的是标准答案的位置..) + if q.question_type == 1 && standard_answer.size == 1 + standard_answer = standard_answer.first.to_s.split("").map(&:to_i).sort + end + + if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 + if standard_answer.size > 0 + q_score_1 = q.question_score + # q_score_1 = (q.question_score.to_f / standard_answer.count) #当多选答案正确时,每个answer的分数均摊。 + else + q_score_1 = 0.0 + end + answers_content.update_all(:score => q_score_1) + score1 = score1 + q.question_score + else + answers_content.update_all(:score => -1.0) + score1 += 0.0 + end end else score1 += 0.0 diff --git a/app/helpers/shixuns_helper.rb b/app/helpers/shixuns_helper.rb index 655a7ed04..451d4a9a4 100644 --- a/app/helpers/shixuns_helper.rb +++ b/app/helpers/shixuns_helper.rb @@ -1,12 +1,12 @@ module ShixunsHelper def level_to_s(level) - %W(初级 中级 高级 顶级)[level-1] + %W(初级 中级 中高级 高级)[level-1] end #难度 def diff_to_s(trainee) - %W(初级学员 中级学员 高级学员 顶级学员)[trainee-1] + %W(初级学员 中级学员 中高级学员 高级学员)[trainee-1] end #1. 未发布 @@ -24,6 +24,8 @@ module ShixunsHelper "已发布" when 3 "已关闭" + when -1 + "已删除" end end diff --git a/app/models/item_bank.rb b/app/models/item_bank.rb index 840f488d8..242b7de92 100644 --- a/app/models/item_bank.rb +++ b/app/models/item_bank.rb @@ -19,38 +19,26 @@ class ItemBank < ApplicationRecord end def apply? - !public && ApplyAction.where(container_type: "ItemBank", container_id: id, status: 0).exists? + !public && ApplyAction.exists?(container_type: "ItemBank", container_id: id, status: 0) end def type_string - result = case item_type - when "SINGLE" - "单选题" - when "MULTIPLE" - "多选题" - when "JUDGMENT" - "判断题" - when "COMPLETION" - "填空题" - when "SUBJECTIVE" - "简答题" - when "PRACTICAL" - "实训题" - when "PROGRAM" - "编程题" - end - result + case item_type + when "SINGLE" then "单选题" + when "MULTIPLE" then "多选题" + when "JUDGMENT" then "判断题" + when "COMPLETION" then "填空题" + when "SUBJECTIVE" then "简答题" + when "PRACTICAL" then "实训题" + when "PROGRAM" then "编程题" + end end def difficulty_string - result = case difficulty - when 1 - "简单" - when 2 - "适中" - when 3 - "困难" - end - result + case difficulty + when 1 then "简单" + when 2 then "适中" + when 3 then "困难" + end end end diff --git a/app/models/shixun.rb b/app/models/shixun.rb index c16c4df4e..30c27ba94 100644 --- a/app/models/shixun.rb +++ b/app/models/shixun.rb @@ -276,8 +276,8 @@ class Shixun < ApplicationRecord case trainee when 1 then '初级学员' when 2 then '中级学员' - when 3 then '高级学员' - when 4 then '顶级学员' + when 3 then '中高级学员' + when 4 then '高级学员' else '' end end @@ -286,8 +286,8 @@ class Shixun < ApplicationRecord case trainee when 1 then '初级' when 2 then '中级' - when 3 then '高级' - when 4 then '顶级' + when 3 then '中高级' + when 4 then '高级' else '' end end diff --git a/app/models/student_work.rb b/app/models/student_work.rb index 3aee0611b..f8f3bee99 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -223,7 +223,7 @@ class StudentWork < ApplicationRecord game_score = adjust_score.score elsif game.present? setting = homework_common.homework_group_setting game.user_id - if game.status == 2 && ((game.end_time && game.end_time < setting.end_time) || (homework_common.allow_late && game.end_time && game.end_time < homework_common.late_time)) + if game.status == 2 && ((game.end_time && setting.end_time && game.end_time < setting.end_time) || (homework_common.allow_late && homework_common.late_time && game.end_time && game.end_time < homework_common.late_time)) answer_open_evaluation = homework_common.homework_detail_manual.answer_open_evaluation game_score = answer_open_evaluation ? score : (game.final_score > 0 ? game.real_score(score) : 0) end diff --git a/app/queries/admins/shixun_settings_query.rb b/app/queries/admins/shixun_settings_query.rb index 1e45952bf..30a402d1c 100644 --- a/app/queries/admins/shixun_settings_query.rb +++ b/app/queries/admins/shixun_settings_query.rb @@ -51,6 +51,7 @@ class Admins::ShixunSettingsQuery < ApplicationQuery all_shixuns = all_shixuns.where(task_pass: params[:task_pass]) if params[:task_pass] all_shixuns = all_shixuns.where(code_hidden: params[:code_hidden]) if params[:code_hidden] all_shixuns = all_shixuns.where(vip: params[:vip]) if params[:vip] + all_shixuns = all_shixuns.where(is_wechat_support: params[:is_wechat_support]) if params[:is_wechat_support] custom_sort(all_shixuns, params[:sort_by], params[:sort_direction]) end diff --git a/app/services/git_service.rb b/app/services/git_service.rb index 2bfc7423c..3f7a42c97 100644 --- a/app/services/git_service.rb +++ b/app/services/git_service.rb @@ -68,8 +68,8 @@ class GitService content = JSON.parse(body) if content["code"] != 0 - raise("版本库异常") logger.error("repository error: #{content['msg']}") + raise("版本库异常") end #raise content["msg"] if content["code"] != 0 diff --git a/app/services/shixun_search_service.rb b/app/services/shixun_search_service.rb index 071b9f478..2dcf265dc 100644 --- a/app/services/shixun_search_service.rb +++ b/app/services/shixun_search_service.rb @@ -26,7 +26,7 @@ class ShixunSearchService < ApplicationService shixun_ids = ShixunSchool.where(school_id: User.current.school_id).pluck(:shixun_id) shixun_ids = shixun_ids.reject(&:blank?).length == 0 ? -1 : shixun_ids.join(",") - @shixuns = @shixuns.where("use_scope = 0 or id in (#{shixun_ids})").unhidden.published.or(@shixuns.where(id: User.current.shixuns)) + @shixuns = @shixuns.where("use_scope = 0 or id in (#{shixun_ids})").unhidden.publiced.or(@shixuns.where(id: User.current.shixuns)) end end @@ -43,7 +43,6 @@ class ShixunSearchService < ApplicationService @shixuns = @shixuns.where(trainee: params[:diff]) end - Rails.logger.info("search_shixun_ids: #{@shixuns.pluck(:id)}") Shixun.search(keyword, search_options) end @@ -53,7 +52,7 @@ class ShixunSearchService < ApplicationService order = if sort_str == "wechat_myshixuns_count" - {"is_wechat_support" => "desc", sort_str => order_str} + {"is_wechat_support" => "desc", "myshixuns_count" => order_str} else {sort_str => order_str} end diff --git a/app/services/subjects/shixun_used_info_service.rb b/app/services/subjects/shixun_used_info_service.rb index dfd8485e0..5fa99a120 100644 --- a/app/services/subjects/shixun_used_info_service.rb +++ b/app/services/subjects/shixun_used_info_service.rb @@ -10,20 +10,23 @@ class Subjects::ShixunUsedInfoService < ApplicationService stages.each do |stage| position = stage.position shixuns = stage.shixuns.includes(myshixuns: :games, homework_commons: :course) - shixuns.each_with_index do |shixun, index| - stage = "#{position}-#{index+1}" - name = shixun.name - myshixuns = shixun.myshixuns - challenge_count = shixun.challenges_count - course_count = shixun.homework_commons.map{|hc| hc.course_id}.uniq.size - school_count = shixun.homework_commons.map{|hc| hc.course&.school_id}.uniq.size - used_count = shixun.myshixuns_count - passed_count = myshixuns.select{|m| m.status == 1}.size - evaluate_count = myshixuns.map{|m| m.output_times }.sum - passed_ave_time = passed_count > 0 ? myshixuns.map{|m| m.total_cost_time}.sum : 0 - shixun_infos << {stage: stage, name: name, challenge_count: challenge_count, course_count: course_count, - school_count: school_count, used_count: used_count, passed_count: passed_count, - evaluate_count: evaluate_count, passed_ave_time: passed_ave_time, shixun_id: shixun.id} + shixuns.find_in_batches(batch_size: 1000) do |s| + Parallel.each_with_index(s, in_processes: 2) do |shixun, index| + stage = "#{position}-#{index+1}" + name = shixun.name + myshixuns = shixun.myshixuns + challenge_count = shixun.challenges_count + course_count = shixun.homework_commons.map{|hc| hc.course_id}.uniq.size + school_count = shixun.homework_commons.map{|hc| hc.course&.school_id}.uniq.size + used_count = shixun.myshixuns_count + passed_count = myshixuns.select{|m| m.status == 1}.size + evaluate_count = myshixuns.map{|m| m.output_times }.sum + passed_ave_time = passed_count > 0 ? myshixuns.map{|m| m.total_cost_time}.sum : 0 + shixun_infos << {stage: stage, name: name, challenge_count: challenge_count, course_count: course_count, + school_count: school_count, used_count: used_count, passed_count: passed_count, + evaluate_count: evaluate_count, passed_ave_time: passed_ave_time, shixun_id: shixun.id} + + end end end shixun_infos diff --git a/app/services/subjects/user_used_info_service.rb b/app/services/subjects/user_used_info_service.rb index 12c7f6ab7..78dbfe8e9 100644 --- a/app/services/subjects/user_used_info_service.rb +++ b/app/services/subjects/user_used_info_service.rb @@ -13,7 +13,7 @@ class Subjects::UserUsedInfoService < ApplicationService users_info = [] users = User.includes(myshixuns: :games).where(myshixuns: {shixun_id: shixun_ids}, games: {status: 2}, users: {is_test: false}) users.find_in_batches(batch_size: 500) do |u| - Parallel.each(u, in_processes: 5) do |user| + Parallel.each(u, in_processes: 2) do |user| myshixuns = user.myshixuns.select{|m| shixun_ids.include?(m.shixun_id)} name = "#{user.lastname}#{user.firstname}" passed_myshixun_count = myshixuns.select{|m| m.status == 1}.size diff --git a/app/views/admins/shixun_feedback_messages/shared/_list.html.erb b/app/views/admins/shixun_feedback_messages/shared/_list.html.erb index dfe140428..be1f54716 100644 --- a/app/views/admins/shixun_feedback_messages/shared/_list.html.erb +++ b/app/views/admins/shixun_feedback_messages/shared/_list.html.erb @@ -16,7 +16,7 @@ <% identifier = Game.find_by(challenge_id: discuss.challenge_id, user_id: discuss.user_id)&.identifier %> <%= link_to discuss.dis.name, "/tasks/#{identifier}", target: '_blank'%> <%= content_safe discuss.content %> - <%= discuss.user.show_real_name %> + <%= link_to discuss.user.show_real_name, "/users/#{discuss.user.login}", target: '_blank' %> <%= format_time discuss.created_at %> <% end %> diff --git a/app/views/admins/shixun_settings/index.html.erb b/app/views/admins/shixun_settings/index.html.erb index 16a02ab96..82d7fa3a1 100644 --- a/app/views/admins/shixun_settings/index.html.erb +++ b/app/views/admins/shixun_settings/index.html.erb @@ -71,6 +71,13 @@ 只看vip +
+ +
+ <% end %> diff --git a/app/views/edu_datas/game.json.jbuilder b/app/views/edu_datas/game.json.jbuilder index 3f4a0335e..963583d2f 100644 --- a/app/views/edu_datas/game.json.jbuilder +++ b/app/views/edu_datas/game.json.jbuilder @@ -3,4 +3,5 @@ json.game @game json.shixun @shixun json.shixun_env @env +json.shixun_image @shixun.main_mirror_name json.shixun_tags @shixun_tags \ No newline at end of file diff --git a/app/views/item_baskets/basket_list.json.jbuilder b/app/views/item_baskets/basket_list.json.jbuilder index 11db844ab..4cb0d5592 100644 --- a/app/views/item_baskets/basket_list.json.jbuilder +++ b/app/views/item_baskets/basket_list.json.jbuilder @@ -1,7 +1,7 @@ -json.single_questions_count @single_questions_count -json.multiple_questions_count @multiple_questions_count -json.judgement_questions_count @judgement_questions_count -json.completion_questions_count @completion_questions_count -json.subjective_questions_count @subjective_questions_count -json.practical_questions_count @practical_questions_count -json.program_questions_count @program_questions_count +json.single_questions_count @basket_count&.fetch("SINGLE", 0) +json.multiple_questions_count @basket_count&.fetch("MULTIPLE", 0) +json.judgement_questions_count @basket_count&.fetch("JUDGMENT", 0) +json.completion_questions_count @basket_count&.fetch("COMPLETION", 0) +json.subjective_questions_count @basket_count&.fetch("SUBJECTIVE", 0) +json.practical_questions_count @basket_count&.fetch("PRACTICAL", 0) +json.program_questions_count @basket_count&.fetch("PROGRAM", 0) \ No newline at end of file diff --git a/app/views/shixun_lists/index.json.jbuilder b/app/views/shixun_lists/index.json.jbuilder index 9526b0173..98e3025e5 100644 --- a/app/views/shixun_lists/index.json.jbuilder +++ b/app/views/shixun_lists/index.json.jbuilder @@ -4,25 +4,21 @@ json.shixun_list do json.array! @results.with_highlights(multiple: true) do |obj, highlights| json.merge! obj.to_searchable_json json.challenge_names obj.challenges.pluck(:subject) - - # 去除开头标点符号 - reg = /^[,。?:;‘’!“”—……、]/ - # 附件的替换 - atta_reg = /!\[.*]\(\/api\/attachments\/\d+\)/ - - highlights[:description]&.first&.sub!(reg, '') - highlights[:description]&.map{|des| des.gsub(atta_reg, '')} - highlights[:content]&.first&.sub!(reg, '') - highlights[:content]&.map{|des| des.gsub(atta_reg, '')} + highlights[:description]&.first&.sub!(@reg, '') + highlights[:description]&.map{|des| des.gsub(@atta_reg, '')} + highlights[:content]&.first&.sub!(@reg, '') + highlights[:content]&.map{|des| des.gsub(@atta_reg, '')} json.title highlights.delete(:name)&.join('...') || obj.searchable_title - json.description highlights[:description]&.join('...') || Util.extract_content(obj.description)[0..300]&.gsub(atta_reg, '') + json.description highlights[:description]&.join('...') || Util.extract_content(obj.description)[0..300]&.gsub(@atta_reg, '') json.pic url_to_avatar(obj) json.content highlights json.level level_to_s(obj.trainee) - json.subjects obj.subjects.visible.unhidden.uniq do |subject| - json.(subject, :id, :name) - end + #if params[:sort] != "wechat_myshixuns_count" + json.subjects obj.subjects.select{ |s| s.status == 2 && s.hidden == 0} do |subject| + json.(subject, :id, :name) + end + #end end end \ No newline at end of file diff --git a/db/migrate/20200115020230_add_choice_index_to_exercise_answers.rb b/db/migrate/20200115020230_add_choice_index_to_exercise_answers.rb new file mode 100644 index 000000000..cb518bb42 --- /dev/null +++ b/db/migrate/20200115020230_add_choice_index_to_exercise_answers.rb @@ -0,0 +1,17 @@ +class AddChoiceIndexToExerciseAnswers < ActiveRecord::Migration[5.2] + def change + add_column :exercise_answers, :choice_index, :integer, default: 1 + + multi_questions = ExerciseQuestion.where(question_type: 1) + multi_questions.includes(:exercise_choices, :exercise_answers).find_each do |question| + exercise_answers = question.exercise_answers + exercise_answers.find_each do |answer| + choice_index = question.exercise_choices.pluck(:id).index(answer.exercise_choice_id).to_i + 1 + answer.update_column('choice_index', choice_index) + end + puts "multi_questions: #{question.id}" + end + + ExerciseAnswer.joins(:exercise_question).where(exercise_questions: {question_type: 3}).update_all("choice_index = exercise_choice_id") + end +end diff --git a/db/migrate/20200115030135_add_choice_index_uniq_index_to_exercise_answers.rb b/db/migrate/20200115030135_add_choice_index_uniq_index_to_exercise_answers.rb new file mode 100644 index 000000000..d870fba7f --- /dev/null +++ b/db/migrate/20200115030135_add_choice_index_uniq_index_to_exercise_answers.rb @@ -0,0 +1,13 @@ +class AddChoiceIndexUniqIndexToExerciseAnswers < ActiveRecord::Migration[5.2] + def change + sql = %Q(delete from exercise_answers where (exercise_question_id, user_id, choice_index) in + (select * from (select exercise_question_id, user_id, choice_index from exercise_answers group by exercise_question_id, user_id, choice_index having count(*) > 1) a) + and id not in (select * from (select max(id) from exercise_answers group by exercise_question_id, user_id, choice_index having count(*) > 1 order by id) b)) + ActiveRecord::Base.connection.execute sql + + add_index :exercise_answers, [:exercise_question_id, :user_id, :choice_index], name: 'exercise_user_choice_index', unique: true + + remove_index :exercise_answers, name: :exercise_choice_index + + end +end diff --git a/db/migrate/20200117095750_modify_1_wechat_support_for_shixuns.rb b/db/migrate/20200117095750_modify_1_wechat_support_for_shixuns.rb new file mode 100644 index 000000000..1e973b014 --- /dev/null +++ b/db/migrate/20200117095750_modify_1_wechat_support_for_shixuns.rb @@ -0,0 +1,13 @@ +class Modify1WechatSupportForShixuns < ActiveRecord::Migration[5.2] + def change + shixuns = Shixun.joins(:challenges).where(is_wechat_support: true, status: 2) + .select("shixuns.*, challenges.path path") + shixuns.each do |shixun| + if shixun.path && shixun.path.split(";").count > 1 + shixun.update_attribute(:is_wechat_support, false) + end + end + Shixun.joins(:challenges).where(challenges: {st: 1}).update_all(is_wechat_support: false) + + end +end diff --git a/lib/tasks/statistic_subject_info.rake b/lib/tasks/statistic_subject_info.rake index c9f0361fc..c510c60fb 100644 --- a/lib/tasks/statistic_subject_info.rake +++ b/lib/tasks/statistic_subject_info.rake @@ -9,25 +9,27 @@ namespace :subjects do buffer_size = 0 column_value = "subject_id, study_count, course_study_count, initiative_study, passed_count, course_used_count, " + "school_used_count, created_at, updated_at" - subjects.find_each do |subject| - puts("---------------------data_statistic: #{subject.id}") - Rails.logger.info("---------------------data_statistic: #{subject.id}") - data = Subjects::DataStatisticService.new(subject) - study_count = data.study_count - next if study_count == 0 - course_study_count = data.course_study_count - initiative_study = study_count - course_study_count - str += ", " unless str.empty? - str += ("(#{subject.id}, #{study_count}, #{course_study_count}, #{initiative_study}, " + - "#{data.passed_count}, #{data.course_used_count}, #{data.school_used_count}, " + - "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") - buffer_size += 1 - if buffer_size == 1000 - sql = "REPLACE INTO subject_records(#{column_value}) VALUES #{str}" - puts sql - ActiveRecord::Base.connection.execute sql - str = "" - buffer_size = 0 + subjects.find_in_batches(batch_size: 50) do |s, index| + Parallel.each_with_index(s, in_processes: 4) do |subject| + puts("---------------------data_statistic: #{subject.id}") + Rails.logger.info("---------------------data_statistic: #{subject.id}") + data = Subjects::DataStatisticService.new(subject) + study_count = data.study_count + next if study_count == 0 + course_study_count = data.course_study_count + initiative_study = study_count - course_study_count + str += ", " unless str.empty? + str += ("(#{subject.id}, #{study_count}, #{course_study_count}, #{initiative_study}, " + + "#{data.passed_count}, #{data.course_used_count}, #{data.school_used_count}, " + + "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") + buffer_size += 1 + if buffer_size == 1000 || subjects.count == (index+1) + sql = "REPLACE INTO subject_records(#{column_value}) VALUES #{str}" + puts sql + ActiveRecord::Base.connection.execute sql + str = "" + buffer_size = 0 + end end end if buffer_size > 0 @@ -47,23 +49,26 @@ namespace :subjects do buffer_size = 0 column_value = "subject_id, school_id, school_name, course_count, student_count, choice_shixun_num, " + "choice_shixun_frequency, created_at, updated_at" - subjects.find_each do |subject| - puts("---------------------course_info_statistic: #{subject.id}") - Rails.logger.info("---------------------course_info_statistic: #{subject.id}") - data = Subjects::CourseUsedInfoService.call(subject) - Parallel.map(data) do |key| - next if key[:school_id].nil? - str += ", " unless str.empty? - str += ("(#{subject.id}, #{key[:school_id]}, '#{key[:school_name]}', #{key[:course_count]}, " + - "#{key[:student_count]}, #{key[:choice_shixun_num]}, #{key[:choice_shixun_frequency]}, " + - "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") - buffer_size += 1 - if buffer_size == 1000 - sql = "REPLACE INTO subject_course_records(#{column_value}) VALUES #{str}" - puts sql - ActiveRecord::Base.connection.execute sql - str = "" - buffer_size = 0 + + subjects.find_in_batches(batch_size: 50) do |s| + Parallel.each(s, in_processes: 4) do |subject| + puts("---------------------course_info_statistic: #{subject.id}") + Rails.logger.info("---------------------course_info_statistic: #{subject.id}") + data = Subjects::CourseUsedInfoService.call(subject) + Parallel.map_with_index(data) do |key, index| + next if key[:school_id].nil? + str += ", " unless str.empty? + str += ("(#{subject.id}, #{key[:school_id]}, '#{key[:school_name]}', #{key[:course_count]}, " + + "#{key[:student_count]}, #{key[:choice_shixun_num]}, #{key[:choice_shixun_frequency]}, " + + "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") + buffer_size += 1 + if buffer_size == 1000 || (index + 1) == data.size + sql = "REPLACE INTO subject_course_records(#{column_value}) VALUES #{str}" + puts sql + ActiveRecord::Base.connection.execute sql + str = "" + buffer_size = 0 + end end end end @@ -84,24 +89,26 @@ namespace :subjects do buffer_size = 0 column_value = "subject_id, shixun_id, stage, shixun_name, challenge_count, course_count, " + "school_count, used_count, passed_count, evaluate_count, passed_ave_time, created_at, updated_at" - subjects.find_each(batch_size: 100) do |subject| - puts("---------------------shixun_info_statistic: #{subject.id}") - Rails.logger.info("---------------------shixun_info_statistic: #{subject.id}") - data = Subjects::ShixunUsedInfoService.call(subject) - data.each do |key| - next if key[:shixun_id].nil? - str += ", " unless str.empty? - str += ("(#{subject.id}, #{key[:shixun_id]}, '#{key[:stage]}', '#{key[:name]}', #{key[:challenge_count]}, " + - "#{key[:course_count]}, #{key[:school_count]}, #{key[:used_count]}, #{key[:passed_count]}, " + - "#{key[:evaluate_count]}, #{key[:passed_ave_time]}, " + - "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") - buffer_size += 1 - if buffer_size == 1000 - sql = "REPLACE INTO subject_shixun_infos(#{column_value}) VALUES #{str}" - puts sql - ActiveRecord::Base.connection.execute sql - str = "" - buffer_size = 0 + subjects.find_in_batches(batch_size: 50) do |s| + Parallel.each_with_index(s, in_processes: 4) do |subject| + puts("---------------------shixun_info_statistic: #{subject.id}") + Rails.logger.info("---------------------shixun_info_statistic: #{subject.id}") + data = Subjects::ShixunUsedInfoService.call(subject) + data.each_with_index do |key, index| + next if key[:shixun_id].nil? + str += ", " unless str.empty? + str += ("(#{subject.id}, #{key[:shixun_id]}, '#{key[:stage]}', '#{key[:name]}', #{key[:challenge_count]}, " + + "#{key[:course_count]}, #{key[:school_count]}, #{key[:used_count]}, #{key[:passed_count]}, " + + "#{key[:evaluate_count]}, #{key[:passed_ave_time]}, " + + "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") + buffer_size += 1 + if buffer_size == 1000 || (index+1) == data.size + sql = "REPLACE INTO subject_shixun_infos(#{column_value}) VALUES #{str}" + puts sql + ActiveRecord::Base.connection.execute sql + str = "" + buffer_size = 0 + end end end end @@ -124,7 +131,7 @@ namespace :subjects do "code_line_count, evaluate_count, cost_time, created_at, updated_at" subjects.find_in_batches(batch_size: 50) do |s| - Parallel.each(s, in_processes: 5) do |subject| + Parallel.each_with_index(s, in_processes: 4) do |subject, index| puts("---------------------user_info_statistic: #{subject.id}") data = Subjects::UserUsedInfoService.call(subject) data.each do |key| @@ -134,7 +141,7 @@ namespace :subjects do "#{key[:passed_games_count]}, #{key[:code_line_count]}, #{key[:evaluate_count]}, #{key[:cost_time]}, " + "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") buffer_size += 1 - if buffer_size == 1000 + if buffer_size == 1000 || (index+1 == data.size) sql = "REPLACE INTO subject_user_infos(#{column_value}) VALUES #{str}" ActiveRecord::Base.connection.execute sql str = "" diff --git a/lib/tasks/zip_pack.rake b/lib/tasks/zip_pack.rake index 393f7ab3c..9cfb36a8e 100644 --- a/lib/tasks/zip_pack.rake +++ b/lib/tasks/zip_pack.rake @@ -1,51 +1,85 @@ -# 执行示例 bundle exec rake zip_pack:shixun_pack args=123,2323 +# 执行示例 bundle exec rake zip_pack:shixun_pack class=Course ids=123,2323 parallel_size=4 +# 执行示例 bundle exec rake zip_pack:shixun_pack class=HomeworkCommon ids=123,2323 namespace :zip_pack do desc "手工打包作品" OUTPUT_FOLDER = "#{Rails.root}/files/archiveZip" task :shixun_pack => :environment do - if ENV['args'] - homework_ids = ENV['args'].split(",").map(&:to_i) - homeworks = HomeworkCommon.where(id: homework_ids) - homeworks.includes(:score_student_works).each do |homework| - out_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S").to_s}-#{homework.course_id}-#{homework.name}.zip" - out_file_name.gsub!(" ", "-") - out_file_name.gsub!("/", "_") + if ENV['class'] && ENV['ids'] + parallel_size = ENV['parallel_size'] || 2 + parallel_size = parallel_size.to_i + env_ids = ENV['ids'].split(",").map(&:to_i) + folders = [] + if ENV['class'] == "Course" + courses = Course.where(id: env_ids) + courses.each do |course| + homeworks = course.practice_homeworks.homework_published + new_dir_name = "#{course.name.to_s.strip}_#{Time.now.strftime("%Y%m%d%H%M%S").to_s}" + new_dir_name.gsub!(" ", "-") + new_dir_name.gsub!("/", "_") + new_folder = "#{OUTPUT_FOLDER}/#{new_dir_name}" + zip_homework_pdf homeworks, new_folder, parallel_size + folders << new_folder + end + else + homeworks = HomeworkCommon.where(id: env_ids) + new_dir_name = "#{homeworks.first&.course&.name.to_s.strip}_#{Time.now.strftime("%Y%m%d%H%M%S").to_s}" + new_dir_name.gsub!(" ", "-") + new_dir_name.gsub!("/", "_") + new_folder = "#{OUTPUT_FOLDER}/#{new_dir_name}" + zip_homework_pdf homeworks, new_folder, parallel_size + folders << new_folder + end - zipfile_name = "#{OUTPUT_FOLDER}/#{out_file_name}" - Dir.mkdir(File.dirname(zipfile_name)) unless File.exist?(File.dirname(zipfile_name)) + puts "下载路径: #{folders.join(",")}" + end + end - student_works = homework.score_student_works + def zip_homework_pdf homeworks, folder, parallel_size + Dir.mkdir(folder) unless File.directory?(folder) - if student_works.size > 0 - pdfs = [] - Zip::File.open(zipfile_name, Zip::File::CREATE) do |zip| - student_works.find_each.map do |student_work| - export = ExportShixunReportService.new(homework, student_work) - pdf = export.to_pdf - pdfs << pdf - begin - zip.add(export.filename, pdf.path) - puts "out: #{export.filename}_#{pdf.path}" - rescue => ex - Rails.logger.error(ex.message) + homeworks.includes(:score_student_works).each do |homework| + out_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S").to_s}-#{homework.course_id}-#{homework.name}.zip" + out_file_name.gsub!(" ", "-") + out_file_name.gsub!("/", "_") - zip.get_output_stream('FILE_NOTICE.txt'){|os| os.write("文件重复:#{export.filename}") } - next - end - end + zipfile_name = "#{folder}/#{out_file_name}" + + student_works = homework.score_student_works + + if student_works.size > 0 + pdfs = [] + file_paths = [] + student_works.find_in_batches(batch_size: 500) do |sw| + Parallel.each(sw, in_threads: parallel_size) do |student_work| + export = ExportShixunReportService.new(homework, student_work) + pdf = export.to_pdf + pdfs << pdf + file_paths << {filename: export.filename, path: pdf.path} + puts "out: #{export.filename}_#{pdf.path}" end - zipfile = zipfile_name - else - zipfile = {:message => "no file"} end - puts "out: #{zipfile}" + Zip::File.open(zipfile_name, Zip::File::CREATE) do |zip| + file_paths.each do |pdf| + begin + zip.add(pdf[:filename], pdf[:path]) + rescue => ex + Rails.logger.error(ex.message) + + zip.get_output_stream('FILE_NOTICE.txt'){|os| os.write("文件重复:#{export.filename}") } + next + end + end + end + else + zipfile = {:message => "no file"} end end end + # 执行示例 bundle exec rake zip_pack:homework_attach_pack args=123 task :homework_attach_pack => :environment do include ExportHelper if ENV['args'] @@ -61,7 +95,4 @@ namespace :zip_pack do end end - def filename_for_content_disposition(name) - request.env['HTTP_USER_AGENT'] =~ %r{MSIE|Trident|Edge} ? ERB::Util.url_encode(name) : name - end end \ No newline at end of file diff --git a/public/images/educoder/xcx/wxshare.png b/public/images/educoder/xcx/wxshare.png index 84e106395..eab40228d 100644 Binary files a/public/images/educoder/xcx/wxshare.png and b/public/images/educoder/xcx/wxshare.png differ diff --git a/public/react/package.json b/public/react/package.json index 25aa1d87f..a30780480 100644 --- a/public/react/package.json +++ b/public/react/package.json @@ -75,6 +75,7 @@ "react-codemirror": "^1.0.0", "react-codemirror2": "^6.0.0", "react-content-loader": "^3.1.1", + "react-cookies": "^0.1.1", "react-dev-utils": "^5.0.0", "react-dom": "^16.9.0", "react-hot-loader": "^4.0.0", diff --git a/public/react/public/css/demo_index.html b/public/react/public/css/demo_index.html index e0b7e8b5c..844ae5f0d 100644 --- a/public/react/public/css/demo_index.html +++ b/public/react/public/css/demo_index.html @@ -1134,6 +1134,12 @@
&#xe7f9;
+
  • + +
    过滤器
    +
    &#xe71b;
    +
  • +
  • 20从属连接
    @@ -1866,6 +1872,18 @@
    &#xe719;
  • +
  • + +
    初始化
    +
    &#xe71c;
    +
  • + +
  • + +
    测试集
    +
    &#xe71e;
    +
  • +

    Unicode 引用

    @@ -3572,6 +3590,15 @@
    +
  • + +
    + 过滤器 +
    +
    .icon-guolvqi +
    +
  • +
  • @@ -4670,6 +4697,24 @@
  • +
  • + +
    + 初始化 +
    +
    .icon-chushihua +
    +
  • + +
  • + +
    + 测试集 +
    +
    .icon-ceshiji +
    +
  • +

    font-class 引用

    @@ -6171,6 +6216,14 @@
    #icon-gengduo1
    +
  • + +
    过滤器
    +
    #icon-guolvqi
    +
  • +
  • #icon-jiashang1
  • +
  • + +
    初始化
    +
    #icon-chushihua
    +
  • + +
  • + +
    测试集
    +
    #icon-ceshiji
    +
  • +

    Symbol 引用

    diff --git a/public/react/public/css/iconfont.css b/public/react/public/css/iconfont.css index 2a7150b6d..4bed87534 100644 --- a/public/react/public/css/iconfont.css +++ b/public/react/public/css/iconfont.css @@ -1,10 +1,10 @@ @font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1577931466886'); /* IE9 */ - src: url('iconfont.eot?t=1577931466886#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), - url('iconfont.woff?t=1577931466886') format('woff'), - url('iconfont.ttf?t=1577931466886') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('iconfont.svg?t=1577931466886#iconfont') format('svg'); /* iOS 4.1- */ + src: url('iconfont.eot?t=1579311348268'); /* IE9 */ + src: url('iconfont.eot?t=1579311348268#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1579311348268') format('woff'), + url('iconfont.ttf?t=1579311348268') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1579311348268#iconfont') format('svg'); /* iOS 4.1- */ } .iconfont { @@ -751,6 +751,10 @@ content: "\e7f9"; } +.icon-guolvqi:before { + content: "\e71b"; +} + .icon-congshulianjie:before { content: "\e6ee"; } @@ -1239,3 +1243,11 @@ content: "\e719"; } +.icon-chushihua:before { + content: "\e71c"; +} + +.icon-ceshiji:before { + content: "\e71e"; +} + diff --git a/public/react/public/css/iconfont.eot b/public/react/public/css/iconfont.eot index d8382b209..167a1ee74 100644 Binary files a/public/react/public/css/iconfont.eot and b/public/react/public/css/iconfont.eot differ diff --git a/public/react/public/css/iconfont.js b/public/react/public/css/iconfont.js index daf1ee909..62f2da062 100644 --- a/public/react/public/css/iconfont.js +++ b/public/react/public/css/iconfont.js @@ -1 +1 @@ -!function(z){var c,o='',l=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(l&&!z.__iconfont__svg__cssinject__){z.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()};document.addEventListener("DOMContentLoaded",l,!1)}else document.attachEvent&&(h=c,i=z.document,t=!1,(o=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(o,50)}a()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,a())});function a(){t||(t=!0,h())}var h,i,t,o}(function(){var c,l,a,h,i,t;(c=document.createElement("div")).innerHTML=o,o=null,(l=c.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",a=l,(h=document.body).firstChild?(i=a,(t=h.firstChild).parentNode.insertBefore(i,t)):h.appendChild(a))})}(window); \ No newline at end of file +!function(z){var c,o='',l=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(l&&!z.__iconfont__svg__cssinject__){z.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()};document.addEventListener("DOMContentLoaded",l,!1)}else document.attachEvent&&(h=c,i=z.document,t=!1,(o=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(o,50)}a()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,a())});function a(){t||(t=!0,h())}var h,i,t,o}(function(){var c,l,a,h,i,t;(c=document.createElement("div")).innerHTML=o,o=null,(l=c.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",a=l,(h=document.body).firstChild?(i=a,(t=h.firstChild).parentNode.insertBefore(i,t)):h.appendChild(a))})}(window); \ No newline at end of file diff --git a/public/react/public/css/iconfont.json b/public/react/public/css/iconfont.json index a8df3cdb0..cafd6ca1b 100644 --- a/public/react/public/css/iconfont.json +++ b/public/react/public/css/iconfont.json @@ -1293,6 +1293,13 @@ "unicode": "e7f9", "unicode_decimal": 59385 }, + { + "icon_id": "5327531", + "name": "过滤器", + "font_class": "guolvqi", + "unicode": "e71b", + "unicode_decimal": 59163 + }, { "icon_id": "5379378", "name": "20从属连接", @@ -2146,6 +2153,20 @@ "font_class": "jiashang1", "unicode": "e719", "unicode_decimal": 59161 + }, + { + "icon_id": "12826208", + "name": "初始化", + "font_class": "chushihua", + "unicode": "e71c", + "unicode_decimal": 59164 + }, + { + "icon_id": "12826211", + "name": "测试集", + "font_class": "ceshiji", + "unicode": "e71e", + "unicode_decimal": 59166 } ] } diff --git a/public/react/public/css/iconfont.svg b/public/react/public/css/iconfont.svg index d65417bd2..111251d57 100644 --- a/public/react/public/css/iconfont.svg +++ b/public/react/public/css/iconfont.svg @@ -572,6 +572,9 @@ Created by iconfont + + + @@ -938,6 +941,12 @@ Created by iconfont + + + + + + diff --git a/public/react/public/css/iconfont.ttf b/public/react/public/css/iconfont.ttf index 83fe5d9eb..c1aa29ab1 100644 Binary files a/public/react/public/css/iconfont.ttf and b/public/react/public/css/iconfont.ttf differ diff --git a/public/react/public/css/iconfont.woff b/public/react/public/css/iconfont.woff index e87caeff8..7f83c9a2d 100644 Binary files a/public/react/public/css/iconfont.woff and b/public/react/public/css/iconfont.woff differ diff --git a/public/react/public/css/iconfont.woff2 b/public/react/public/css/iconfont.woff2 index 640fe51b5..ca55fdda2 100644 Binary files a/public/react/public/css/iconfont.woff2 and b/public/react/public/css/iconfont.woff2 differ diff --git a/public/react/public/index.html b/public/react/public/index.html index 4aa03bc6b..de176398c 100755 --- a/public/react/public/index.html +++ b/public/react/public/index.html @@ -17,6 +17,7 @@ + diff --git a/public/react/src/App.js b/public/react/src/App.js index 247e7939b..96a4f91b0 100644 --- a/public/react/src/App.js +++ b/public/react/src/App.js @@ -366,6 +366,11 @@ const JupyterTPI = Loadable({ loader: () => import('./modules/tpm/jupyter'), loading: Loading }); +// 微信代码编辑器 +const WXCode = Loadable({ + loader: () => import('./modules/wxcode'), + loading: Loading +}); // //个人竞赛报名 // const PersonalCompetit = Loadable({ // loader: () => import('./modules/competition/personal/PersonalCompetit.js'), @@ -823,6 +828,11 @@ class App extends Component { render={ (props) => () }/> + () + } + /> { + console.log(item); + const _arr = item.split('='); + cookie.save('_educoder_session',_arr[0]); + cookie.save('autologin_trustie',_arr[1]); + }); + } +} // TODO 开发期多个身份切换 let debugType ="" @@ -87,6 +100,31 @@ export function initAxiosInterceptors(props) { // proxy="https://test-newweb.educoder.net" // proxy="https://test-jupyterweb.educoder.net" //proxy="http://192.168.2.63:3001" + try { + const str =window.location.pathname; + if(str.indexOf("/wxcode") !== -1){ + // console.log("开始重写cookis"); + const _params = window.location.search; + // console.log("1111"); + if (_params) { + // console.log("22222"); + let _search = _params.split('?')[1]; + _search.split('&').forEach(item => { + const _arr = item.split('='); + if(_arr[0]==='_educoder_session'){ + cookie.save('_educoder_session',_arr[1],{ path: '/' }); + cookie.save('_educoder_session',_arr[1], { domain: '.educoder.net', path: '/'}); + + }else{ + cookie.save('autologin_trustie',_arr[1],{ path: '/' }); + cookie.save('autologin_trustie',_arr[1], { domain: '.educoder.net', path: '/'}); + } + }); + } + } + }catch (e) { + + } // 在这里使用requestMap控制,避免用户通过双击等操作发出重复的请求; // 如果需要支持重复的请求,考虑config里面自定义一个allowRepeat参考来控制 @@ -96,7 +134,7 @@ export function initAxiosInterceptors(props) { requestMap[keyName] = false; } - + //响应前的设置 axios.interceptors.request.use( config => { // config.headers['Content-Type']= 'no-cache' @@ -111,6 +149,56 @@ export function initAxiosInterceptors(props) { // proxy = 'http://localhost:3000' // } // --------------------------------------------- + // console.log("开始请求了"); + // console.log(config.url); + // console.log(window.location.pathname); + // + + // try { + // const str =window.location.pathname; + // if(str.indexOf("/wxcode") !== -1){ + // // console.log("开始重写cookis"); + // const _params = window.location.search; + // // console.log("1111"); + // if (_params) { + // // console.log("22222"); + // let _search = _params.split('?')[1]; + // var _educoder_sessionmys=""; + // var autologin_trusties=""; + // _search.split('&').forEach(item => { + // const _arr = item.split('='); + // if(_arr[0]==='_educoder_session'){ + // cookie.save('_educoder_session',_arr[1], { domain: '.educoder.net', path: '/'}); + // _educoder_sessionmys=_arr[1]; + // }else{ + // cookie.save('autologin_trustie',_arr[1], { domain: '.educoder.net', path: '/'}); + // autologin_trusties=_arr[1]; + // } + // }); + // try { + // const autlogins= `_educoder_session=${_educoder_sessionmys}; autologin_trustie=${autologin_trusties} `; + // config.params = {'Cookie': autlogins} + // config.headers['Cookie'] =autlogins; + // // console.log("设置了cookis"); + // } catch (e) { + // + // } + // try { + // const autloginysls= `_educoder_session=${_educoder_sessionmys}; autologin_trustie=${autologin_trusties} `; + // config.params = {'autloginysls': autloginysls} + // config.headers['Cookie'] =autloginysls; + // // console.log("设置了cookis"); + // }catch (e) { + // + // } + // } + // } + // }catch (e) { + // + // } + + + if (config.url.indexOf(proxy) != -1 || config.url.indexOf(':') != -1) { return config } diff --git a/public/react/src/images/wx-head.png b/public/react/src/images/wx-head.png new file mode 100644 index 000000000..6e5edb72c Binary files /dev/null and b/public/react/src/images/wx-head.png differ diff --git a/public/react/src/modules/wxcode/index.js b/public/react/src/modules/wxcode/index.js new file mode 100644 index 000000000..75aa1beeb --- /dev/null +++ b/public/react/src/modules/wxcode/index.js @@ -0,0 +1,381 @@ +/* + * @Description: 微信端代码编辑器 + * @Author: tangjiang + * @Github: + * @Date: 2020-01-15 09:56:34 + * @LastEditors : tangjiang + * @LastEditTime : 2020-01-18 15:07:09 + */ +import './index.scss'; +import React, {useState, useEffect, useRef} from 'react'; +import MonacoEditor from '@monaco-editor/react'; +import { Input, Icon } from 'antd'; +import { connect } from 'react-redux'; +import actions from '../../redux/actions'; + import cookie from 'react-cookies'; + +const { TextArea } = Input; +const App = (props) => { + + const { + isShow, + wxCode, + path, + showLoading, + showDialog, + gold, + experience, + next_game, + // userCode, + testCase = [], + getWXCode, + last_compile_output, + test_sets_count, + sets_error_count, + getWXCodeTestCase, + restoreWXCode, + updateWXCodeForEditor, + updateWXCodeForInterval, + evaluateWxCode, + showWXCodeTextCase, + changeWXCodeEvaluateLoading, + changeWXCodeEvaluateDialog + } = props; + + const {identifier} = props.match.params; + // 获取路径参数 + const setCookier = () => { + const _params = window.location.search; + if (_params) { + let _search = _params.split('?')[1]; + _search.split('&').forEach(item => { + // console.log(item); + const _arr = item.split('='); + cookie.remove(_arr[0], { + path: '/', + domain: '.educoder.net' + }); + cookie.save(_arr[0], _arr[1], { + path: '/', + domain: '.educoder.net' + }); + }); + } + } + setCookier(); + const [isActive, setIsActive] = useState(-1); + const [tip, setTip] = useState(''); + const [codes, setCodes] = useState(wxCode); + // const [showInfo, setShowInfo] = useState(false); + // const [isVisible, setIsVisible] = useState(false); + + useEffect(() => { + if (codes !== props.wxCode) { + setCodes(props.wxCode); + } + }, [props]); + const editorRef = useRef(null); + let timer = null; + + const loadResult = (identifier) => { + // 加载代码块内容 + getWXCode(identifier); + // 加载测试集 + const params = { + path, + status: 0, + retry: 1 + }; + getWXCodeTestCase(identifier, params); + } + useEffect(() => { + setTimeout(() => { + setCookier(); + loadResult(identifier); + }, 0); + }, []); + // 关闭 + const handleCloseTestCase = () => { + // setIsVisible(false); + showWXCodeTextCase(false) + } + // 测试集 + const handleClickTestCase = () => { + // setIsVisible(true); + showWXCodeTextCase(true) + } + // 编辑器代码 + const handleEditorChange = (origin, monaco) => { + editorRef.current = monaco; // 获取当前monaco实例 + // setEditCode(origin); // 保存编辑器初始值 + editorRef.current.onDidChangeModelContent(e => { // 监听编辑器内容的变化 + // TODO 需要优化 节流 + const val = editorRef.current.getValue(); + // console.log('编辑器代码====>>>>', val); + // updateWXCodeForEditor(val); + codeChange(val); + }); + }; + + const codeChange = (code) => { + // console.log(code); + updateWXCodeForEditor(code); + if (!timer) { + timer = setInterval(function () { + clearInterval(timer); + timer = null; + // 调用更新代码 + updateWXCodeForInterval(identifier, path); + }, 5000); + } + } + + // 关闭单个测试集 + const handleCloseItem = (i, flag) => { + if (!flag) return; + setIsActive(isActive === i ? -1 : i); + } + // 初始化 + const handleResetCode = () => { + clearInterval(timer); + timer = null; + const result = window.confirm('你在本文件中修改的内容将丢失, 是否确定重新加载初始代码?'); + if (result) { + setTip('初始化中...'); + changeWXCodeEvaluateLoading(true); + identifier && restoreWXCode(identifier, { path }); + } + } + // 评测 + const handleEvalateCode = () => { + changeWXCodeEvaluateLoading(true); + evaluateWxCode(identifier, path); + setTip('评测中...'); + } + + // 关闭弹框 + const handleCloseDialog = () => { + changeWXCodeEvaluateDialog(false); + } + + // 查看测试集 + const handleClickShowResult = () => { + showWXCodeTextCase(true); + changeWXCodeEvaluateDialog(false); + } + + // 下一关 + const handleClickNext = () => { + changeWXCodeEvaluateDialog(false); + loadResult(next_game); + } + + const tcclasses = isShow ? `wx-code-test-case active` : 'wx-code-test-case'; + const loading = showLoading ? 'code-evaluate-loading active' : 'code-evaluate-loading'; + const dialog = showDialog ? 'pass-dialog active' : 'pass-dialog'; + const _val = +sets_error_count === 0; + let resultTxt = (_val) ? '全部通过' : `${sets_error_count}组测试结果不匹配`; + const iclasses = _val ? 'iconfont icon-wancheng icon success' : 'iconfont icon-tishi1 icon fail'; + const tclasses = _val ? 'result-txt success' : 'result-txt fail'; + const ulClasses = !!last_compile_output ? 'case-list hasResult' : 'case-list'; + const resultFlag = !!last_compile_output ? 'wxcode-test-result active' : 'wxcode-test-result'; + // console.log('==========>>>>>>>> 评测结果样式', last_compile_output, resultFlag); + return ( +
    +
    +
    + +
    +
    +
    + + + 初始化 + + + + 测试集 + +
    + {/* */} + +
    +
    + {/* 测试集 */} +
    +
    +
    + 共{testCase.length}个测试用例 + 关闭 +
    +
    + + {test_sets_count - sets_error_count}/{test_sets_count} + {resultTxt} +
    +
      + { + testCase.map((item, i) => { + const {input, output, actual_output, is_public, result, compile_success} = item; + const _classes = isActive === i ? 'case-item-desc active' : 'case-item-desc'; + const iconclasses = isActive === i ? 'iconfont icon-sanjiaoxing-down icon active' : 'iconfont icon-triangle icon'; + const headerClasses = is_public ? 'item-header-desc active' : 'item-header-desc'; + // console.log(_classes); + return ( +
    • +
      handleCloseItem(i, is_public)}> +

      + + 测试集{i + 1} +

      + { + is_public + ? compile_success > 0 + ? result ? + : + : '' + : + 隐藏测试集,暂不支持解锁和查看 + // is_public + // ? result ? + // : ) + // : ( + // 隐藏测试集,暂不支持解锁和查看 + // {/* {result + // ? + // : + // } */} + // ) + } +
      + +
      + 测试输入 + {input || '-'} + 预期输出 + {/* */} + */} + 实际输出 +