From d417ca0cf375eb89d305fed7256ffbb652bc4c2c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 31 Aug 2017 15:17:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E7=9A=84=E8=AF=95=E7=94=A8=E6=8E=88=E6=9D=83=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E6=8E=88=E6=9D=83=E4=B8=8D=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E5=9C=A8=E5=AE=A1=E6=89=B9=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 50 +++++++++++++------ app/helpers/application_helper.rb | 15 +++--- .../_users_authorization_list.html.erb | 3 +- app/views/managements/users_trial.html.erb | 11 ---- ...0170831015104_add_certification_to_user.rb | 5 ++ ...70831015613_update_apply_action_to_user.rb | 11 ++++ ...831022201_modify_certification_for_user.rb | 8 +++ ...2550_update_reject_certication_for_user.rb | 13 +++++ 8 files changed, 83 insertions(+), 33 deletions(-) create mode 100644 db/migrate/20170831015104_add_certification_to_user.rb create mode 100644 db/migrate/20170831015613_update_apply_action_to_user.rb create mode 100644 db/migrate/20170831022201_modify_certification_for_user.rb create mode 100644 db/migrate/20170831022550_update_reject_certication_for_user.rb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index d3f7d0b43..4bdf16e72 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -902,35 +902,56 @@ end =end if params[:member_ids] && params[:trial_whether] == "trial_agree" - params[:member_ids].each do |member| - aUser = ApplyAction.where(:user_id => member, :container_type => "TrialAuthorization") - if aUser.blank? - ApplyAction.create(:user_id => member, :container_type => "TrialAuthorization", :status => 1) - else - aUser.update_all(:status => 1) - end - end + aUser = User.where(:id => params[:member_ids]) + aUser.update_all(:certification => 1) + apply_user = ApplyAction.where(:user_id => params[:member_ids]) + apply_user.update_all(:status => 1) unless apply_user.blank? elsif params[:member_ids] && params[:trial_whether] == "trial_cancel" - ApplyAction.where(:user_id => params[:member_ids], :container_type => "TrialAuthorization").update_all(:status => 2) + User.where(:id => params[:member_ids]).update_all(:certification => 0) + apply_user = ApplyAction.where(:user_id => params[:member_ids]) + apply_user.update_all(:status => 2) unless apply_user.blank? end - if params[:member_ids] && (params[:occupation] == "occupation_agree" || params[:realname] == "realname_agree") + if params[:member_ids] && params[:occupation] == "occupation_agree" + User.where(:id => params[:member_ids]).update_all(:professional_certification => true) + apply_user = ApplyUserAuthentication.where(:user_id => params[:member_ids], :auth_type => 2) + unless apply_user.blank? + apply_user.update_all(:status => 1) + end + elsif params[:member_ids] && params[:realname] == "realname_agree" User.where(:id => params[:member_ids]).update_all(:authentication => true) - elsif params[:member_ids] && (params[:occupation] == "occupation_agree" || params[:realname] == "realname_cancel") + apply_user = ApplyUserAuthentication.where(:user_id => params[:member_ids], :auth_type => 1) + unless apply_user.blank? + apply_user.update_all(:status => 1) + end + elsif params[:member_ids] && params[:occupation] == "occupation_cancel" + User.where(:id => params[:member_ids]).update_all(:professional_certification => false) + apply_user = ApplyUserAuthentication.where(:user_id => params[:member_ids], :auth_type => 2) + unless apply_user.blank? + apply_user.update_all(:status => 2) + end + elsif params[:member_ids] && params[:realname] == "realname_cancel" User.where(:id => params[:member_ids]).update_all(:authentication => false) + apply_user = ApplyUserAuthentication.where(:user_id => params[:member_ids], :auth_type => 1) + unless apply_user.blank? + apply_user.update_all(:status => 2) + end end if params[:trial] == "-1" apply = ApplyAction.where(:container_type => "TrialAuthorization") apply_id = apply.blank? ? -1 : "(" + apply.map{|a| a.user_id}.join(",") + ")" - apply_user_id = User.where("id not in #{apply_id} and status = 1").all + apply_user_id = User.where("id not in #{apply_id} and status = 1 and certification = 0").all apply_user_id = apply_user_id.blank? ? [-1] : apply_user_id.map{|a| a.id}.split(",")[0] elsif params[:trial] == "-2" apply_user_id = User.where(:status => 1).all apply_user_id = apply_user_id.blank? ? [-1] : apply_user_id.map{|a| a.id}.split(",")[0] - else - apply = ApplyAction.where(:status => params[:trial]) + elsif params[:trial] == "0" + apply = ApplyAction.where(:status => 0) apply_user_id = apply.blank? ? [-1] : apply.map{|a| a.user_id}.split(",")[0] + else + apply_user_id = User.where(:status => 1, :certification => params[:trial]).all + apply_user_id = apply_user_id.blank? ? [-1] : apply_user_id.map{|a| a.id}.split(",")[0] end if params[:school] == "" @@ -1035,6 +1056,7 @@ end end end apply_action.update_attributes(:status => (params[:type] == "1" ? 2 : 1), :reason => params[:reject_reason], :dealer_id => User.current.id) + User.where(:id => apply_action.user_id).first.update_attributes(:certification => (params[:type] == "1" ? 2 : 1)) user_id = User.find_by_sql("select id from users where concat(lastname,firstname) like '%#{search}%'") @authorizations = ApplyAction.where(:container_type => "TrialAuthorization", :status => 0, :user_id => user_id).includes(:user) @autu_count = @authorizations.count diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e0b2604cb..5cd13e5d8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -142,7 +142,7 @@ module ApplicationHelper # if params[:action] == "on_search" || params[:action] == "apply_trail" # 之所以这样处理是为了避开account页面ajax加载 # return true # end - authentication = ApplyAction.where(:user_id => User.current.id, :status => 1).first + authentication = User.where(:id => User.current.id, :certification => 1).first user_identity = User.current.try(:user_extensions).try(:identity) if user_identity.blank? || authentication.blank? redirect_to my_account_path @@ -3026,12 +3026,15 @@ module ApplicationHelper end end - def identity_authentication_status status - case status - when nil - "未授权" + def identity_authentication_status user + authorization = ApplyAction.where(:user_id => user, :container_type => "TrialAuthorization").last + case user.try(:certification) when 0 - "处理中" + if authorization.try(:status) == 0 + "处理中" + else + "未授权" + end when 1 "已授权" when 2 diff --git a/app/views/managements/_users_authorization_list.html.erb b/app/views/managements/_users_authorization_list.html.erb index 7a4c4223c..4f62413f7 100644 --- a/app/views/managements/_users_authorization_list.html.erb +++ b/app/views/managements/_users_authorization_list.html.erb @@ -15,7 +15,6 @@
<% @users.each_with_index do |user,index| %> - <% authorization = ApplyAction.where(:user_id => user, :container_type => "TrialAuthorization").last %>试用授权情况
diff --git a/db/migrate/20170831015104_add_certification_to_user.rb b/db/migrate/20170831015104_add_certification_to_user.rb new file mode 100644 index 000000000..780f5a667 --- /dev/null +++ b/db/migrate/20170831015104_add_certification_to_user.rb @@ -0,0 +1,5 @@ +class AddCertificationToUser < ActiveRecord::Migration + def change + add_column :users, :certification, :boolean, :default => 0 + end +end diff --git a/db/migrate/20170831015613_update_apply_action_to_user.rb b/db/migrate/20170831015613_update_apply_action_to_user.rb new file mode 100644 index 000000000..a395d505a --- /dev/null +++ b/db/migrate/20170831015613_update_apply_action_to_user.rb @@ -0,0 +1,11 @@ +class UpdateApplyActionToUser < ActiveRecord::Migration + def up + apply_users = ApplyAction.where(:status => 1, :container_type => "TrialAuthorization") + apply_users.each do |apply| + User.where(:id => apply.user_id).first.update_column(:certification, 1) + end + end + + def down + end +end diff --git a/db/migrate/20170831022201_modify_certification_for_user.rb b/db/migrate/20170831022201_modify_certification_for_user.rb new file mode 100644 index 000000000..bb89c5eb8 --- /dev/null +++ b/db/migrate/20170831022201_modify_certification_for_user.rb @@ -0,0 +1,8 @@ +class ModifyCertificationForUser < ActiveRecord::Migration + def up + change_column :users, :certification, :integer, :default => 0 + end + + def down + end +end diff --git a/db/migrate/20170831022550_update_reject_certication_for_user.rb b/db/migrate/20170831022550_update_reject_certication_for_user.rb new file mode 100644 index 000000000..92706cdf2 --- /dev/null +++ b/db/migrate/20170831022550_update_reject_certication_for_user.rb @@ -0,0 +1,13 @@ +class UpdateRejectCerticationForUser < ActiveRecord::Migration + def up + apply_users = ApplyAction.where(:status => 2, :container_type => "TrialAuthorization") + unless apply_users.blank? + apply_users.each do |apply| + User.where(:id => apply.user_id).first.update_column(:certification, 2) + end + end + end + + def down + end +end