diff --git a/app/controllers/competitions/competitions_controller.rb b/app/controllers/competitions/competitions_controller.rb index 72f53d1e2..5719f8f8b 100644 --- a/app/controllers/competitions/competitions_controller.rb +++ b/app/controllers/competitions/competitions_controller.rb @@ -125,7 +125,7 @@ class Competitions::CompetitionsController < Competitions::BaseController end @all_records = @competition.competition_teams.joins(:competition_scores).where(competition_scores: {competition_stage_id: @stage&.id.to_i}) - .select("competition_teams.*, score, cost_time").order("score desc, cost_time desc") + .select("competition_teams.*, score, cost_time").order("score desc, cost_time asc") current_team_ids = @competition.team_members.where(user_id: current_user.id).pluck(:competition_team_id).uniq @user_ranks = @all_records.select{|com_team| current_team_ids.include?(com_team.id)} @@ -213,7 +213,7 @@ class Competitions::CompetitionsController < Competitions::BaseController if personal row_cells_column << record_user.real_name row_cells_column << record_user.school_name - row_cells_column << record_user.student_id.present? ? (record_user.student_id.to_s + "\t") : "--" + row_cells_column << (record_user.student_id.present? ? (record_user.student_id.to_s + "\t") : "--") else row_cells_column << record.name row_cells_column << record.teachers_name diff --git a/app/services/application_service.rb b/app/services/application_service.rb index 1be6896eb..81c48de95 100644 --- a/app/services/application_service.rb +++ b/app/services/application_service.rb @@ -3,6 +3,12 @@ class ApplicationService Error = Class.new(StandardError) + def regix_emoji content + " " if content.blank? + regex = /[^a-zA-Z0-9\u4E00-\u9FFF]/ + content.gsub(regex, '') + end + private def strip(str) diff --git a/app/services/oauth/create_or_find_qq_account_service.rb b/app/services/oauth/create_or_find_qq_account_service.rb index 007de595e..dafcc3f88 100644 --- a/app/services/oauth/create_or_find_qq_account_service.rb +++ b/app/services/oauth/create_or_find_qq_account_service.rb @@ -17,7 +17,8 @@ class Oauth::CreateOrFindQqAccountService < ApplicationService new_user = true # 新用户 login = User.generate_login('Q') - @user = User.new(login: login, nickname: params.dig('info', 'nickname').force_encoding('UTF-8'), type: 'User', status: User::STATUS_ACTIVE) + #nickname = regix_emoji params.dig('info', 'nickname') + @user = User.new(login: login, type: 'User', status: User::STATUS_ACTIVE) end ActiveRecord::Base.transaction do @@ -31,7 +32,7 @@ class Oauth::CreateOrFindQqAccountService < ApplicationService Util.download_file(params.dig('info', 'image'), avatar_path) end - new_open_user = OpenUsers::QQ.create!(user: user, uid: params['uid'], extra: params.dig('extra', 'raw_info')) + new_open_user = OpenUsers::QQ.create!(user: user, uid: params['uid']) Rails.cache.write(new_open_user.can_bind_cache_key, 1, expires_in: 1.hours) if new_user # 方便后面进行账号绑定 end diff --git a/app/services/oauth/create_or_find_wechat_account_service.rb b/app/services/oauth/create_or_find_wechat_account_service.rb index a5f23b4c8..75091a5c3 100644 --- a/app/services/oauth/create_or_find_wechat_account_service.rb +++ b/app/services/oauth/create_or_find_wechat_account_service.rb @@ -24,15 +24,10 @@ class Oauth::CreateOrFindWechatAccountService < ApplicationService new_user = true # 新用户 login = User.generate_login('w') - cd = CharDet.detect(result['nickname']) - Rails.logger.info "encoding: #{cd['encoding']} confidence: #{cd['confidence']}" - decode_content = - if cd["encoding"] == 'GB18030' && cd['confidence'] > 0.8 - result['nickname'].encode('UTF-8', 'GBK', {:invalid => :replace, :undef => :replace, :replace => ' '}) - else - result['nickname'].force_encoding('UTF-8') - end - @user = User.new(login: login, nickname: decode_content, type: 'User', status: User::STATUS_ACTIVE) + # result['nickname'] = regix_emoji(result['nickname']) + @user = User.new(login: login, type: 'User', status: User::STATUS_ACTIVE) + #@user = User.new(login: login, nickname: result['nickname'], type: 'User', status: User::STATUS_ACTIVE) + end ActiveRecord::Base.transaction do @@ -47,7 +42,7 @@ class Oauth::CreateOrFindWechatAccountService < ApplicationService Util.download_file(result['headimgurl'], avatar_path) end - new_open_user= OpenUsers::Wechat.create!(user: user, uid: result['unionid'], extra: result) + new_open_user= OpenUsers::Wechat.create!(user: user, uid: result['unionid']) Rails.cache.write(new_open_user.can_bind_cache_key, 1, expires_in: 1.hours) if new_user # 方便后面进行账号绑定 end