竞赛用户关联优化
This commit is contained in:
parent
6b68de130c
commit
09e674f0c1
|
@ -13,6 +13,7 @@ class AccountsController < ApplicationController
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
result = auto_update(current_user, simple_update_params)
|
result = auto_update(current_user, simple_update_params)
|
||||||
if result[:message].blank?
|
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
|
render_ok
|
||||||
else
|
else
|
||||||
render_error(result[:message])
|
render_error(result[:message])
|
||||||
|
|
|
@ -388,10 +388,11 @@ class UsersController < ApplicationController
|
||||||
password = "12345678"
|
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?
|
if user.present?
|
||||||
# 手机号先记录,后续用
|
# 手机号先记录,后续用
|
||||||
user.update_column(:phone, "#{phone}") if phone.present?
|
user.update_column(:phone, "#{phone}") if phone.present? && user.phone.blank?
|
||||||
else
|
else
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
email = "#{login}@gitlink.org.cn" if email.blank?
|
email = "#{login}@gitlink.org.cn" if email.blank?
|
||||||
|
|
|
@ -26,6 +26,6 @@ json.super_description @user.super_description
|
||||||
json.(@user, :show_email, :show_department, :show_location, :show_super_description)
|
json.(@user, :show_email, :show_department, :show_location, :show_super_description)
|
||||||
json.message_unread_total @message_unread_total
|
json.message_unread_total @message_unread_total
|
||||||
json.has_trace_user @user.trace_user.present?
|
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.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
|
json.sign_cla @user.sign_cla
|
|
@ -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
|
Loading…
Reference in New Issue