竞赛用户关联优化

This commit is contained in:
xxqfamous 2023-05-30 11:12:21 +08:00
parent 6b68de130c
commit 09e674f0c1
4 changed files with 12 additions and 3 deletions

View File

@ -13,6 +13,7 @@ class AccountsController < ApplicationController
ActiveRecord::Base.transaction do
result = auto_update(current_user, simple_update_params)
if result[:message].blank?
UserAction.create(:action_id => current_user.id, :action_type => "sync_educoder_user", :user_id => current_user.id, :ip => request.remote_ip) if params[:platform] == "educoder"
render_ok
else
render_error(result[:message])

View File

@ -388,10 +388,11 @@ class UsersController < ApplicationController
password = "12345678"
# 没有用户时,新建用户并登录
user = User.where("login = ? or phone = ? or mail = ? ", "#{login}", phone, email).first
user = phone.present? ? User.find_by(phone: phone) : nil
user = User.where("login = ? or phone = ? or mail = ? ", "#{login}", phone, email).first if user.nil?
if user.present?
# 手机号先记录,后续用
user.update_column(:phone, "#{phone}") if phone.present?
user.update_column(:phone, "#{phone}") if phone.present? && user.phone.blank?
else
ActiveRecord::Base.transaction do
email = "#{login}@gitlink.org.cn" if email.blank?

View File

@ -26,6 +26,6 @@ json.super_description @user.super_description
json.(@user, :show_email, :show_department, :show_location, :show_super_description)
json.message_unread_total @message_unread_total
json.has_trace_user @user.trace_user.present?
json.is_new @user.login.present? && params[:login].to_s.include?("#{@user.login}")
json.is_new params[:login].present? && (UserAction.where(action_type: "sync_educoder_user", user_id: @user.id).blank? || @user.mail.include?("@gitlink.org.cn") || @user.mail.include?("@forge.com"))
json.nps EduSetting.get("nps-on-off-switch").to_s == 'true' && UserNp.where(user_id: current_user.id).where("created_at >= ?", (Time.now - 30.days).beginning_of_day ).blank?
json.sign_cla @user.sign_cla

View File

@ -0,0 +1,7 @@
class AddUserActionIndex < ActiveRecord::Migration[5.2]
def change
add_index :user_actions, :user_id
add_index :user_actions, :action_type
add_index :user_actions, :action_id
end
end