forked from Trustie/forgeplus
fixed 导入挑战杯用户接口和数据调整
This commit is contained in:
parent
59fb950324
commit
06afe5083c
|
|
@ -481,6 +481,14 @@ class CompetitionInfosController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def tzb_actived
|
||||
tip_exception "请输入挑战激活码" if param[:code].blank?
|
||||
tzb_user = CompetitionTzbUser.find_by(activation_code: param[:code])
|
||||
tip_exception "激活码正在同步确认中,请稍后再试" if tzb_user.blank?
|
||||
user = User.find_by(tzb_user.user_id)
|
||||
render_ok({ user: { login: user.login, mail: user.mail, password: tzb_user.pwd } })
|
||||
end
|
||||
|
||||
def destroy
|
||||
if @competition_info.destroy!
|
||||
flash[:success] = '删除成功'
|
||||
|
|
|
|||
|
|
@ -2,36 +2,29 @@ class SyncCompetitionTzbUserJob < ApplicationJob
|
|||
queue_as :default
|
||||
|
||||
def perform(code=nil)
|
||||
url = EduSetting.get("SyncCompetitionTzbUserUrl") || "https://www.tiaozhanbei.net/api/v1/ai_contest/123456/project_list/"
|
||||
url = EduSetting.get("SyncCompetitionTzbUserUrl") || "https://2025.tiaozhanbei.net/api/v1/ai_contest/3579510184/project_list/"
|
||||
uri = URI.parse(url)
|
||||
http = Net::HTTP.new(uri.hostname, uri.port)
|
||||
if uri.scheme == 'https'
|
||||
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
||||
http.use_ssl = true
|
||||
end
|
||||
response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json'})
|
||||
Rails.logger.info("SyncCompetitionTzbUserJob body===#{response.body}")
|
||||
response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json','Authorization' => 'Bearer sk-CQ5oe9UI14nlwYnMtsNV4MBMDLwQ67bQXIa2fDy5m0bSQ5Ts'})
|
||||
# Rails.logger.info("SyncCompetitionTzbUserJob body===#{response.body}")
|
||||
result = JSON.parse(response.body)
|
||||
# data = '{"Code":"Ok","Message":"成功","Data":[{"corp_id":123456,"match_id":666,"user_uid":"uid_y0gqNR3EesqZVgA",
|
||||
# "project_pid":"pid_123001","activation_code":"V2nyoEYzl2zRaVySpldc","project_status":"not_finished",
|
||||
# "project_status_text":"未提交","status_level":"school","status_level_text":"校级","school_code":"10003",
|
||||
# "school_name":"清华大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_JHnTBdt8GA3tziq","project_pid":"pid_123002","activation_code":"nde8u5HNQ7qqXjkBIQG0","project_status":"submit_to","project_status_text":"已提交","status_level":"school","status_level_text":"校级","school_code":"10003","school_name":"清华大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_2tCNcoKX8T8oHvk","project_pid":"pid_123003","activation_code":"iZQCh3mfuJ8ESrUPwGRo","project_status":"pass_by","project_status_text":"审核通过","status_level":"school","status_level_text":"校级","school_code":"10001","school_name":"北京大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_DziaXaNTkyS1M05","project_pid":"pid_123004","activation_code":"c42BKyehYWAxeAqjLdc8","project_status":"not_pass_by","project_status_text":"审核未通过","status_level":"province","status_level_text":"省级","school_code":"10001","school_name":"北京大学","province_name":"北京"}]}'
|
||||
# result = JSON.parse(data)
|
||||
Rails.logger.info("SyncCompetitionTzbUserJob size===#{result["Data"]}")
|
||||
Rails.logger.info("SyncCompetitionTzbUserJob size===#{result["Data"].size}")
|
||||
result["Data"].each do |row|
|
||||
unless CompetitionTzbUser.find_by(user_uid: row["user_uid"]).present?
|
||||
tzb_user = CompetitionTzbUser.new
|
||||
tzb_user.corp_id = row["corp_id"]
|
||||
tzb_user.match_id = row["match_id"]
|
||||
tzb_user.user_uid = row["user_uid"]
|
||||
tzb_user.project_pid = row["project_pid"]
|
||||
tzb_user.user_email = row["user_email"]
|
||||
tzb_user.activation_code = row["activation_code"]
|
||||
tzb_user.project_status = row["project_status"]
|
||||
tzb_user.status_level = row["status_level"]
|
||||
tzb_user.project_status_text = row["project_status_text"]
|
||||
tzb_user.school_code = row["school_code"]
|
||||
tzb_user.school_name = row["school_name"]
|
||||
tzb_user.province_name = row["province_name"]
|
||||
tzb_user.info_json = row.to_json
|
||||
tzb_user.save
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,19 +4,13 @@ class CreateCompetitionTzbUsers < ActiveRecord::Migration[5.2]
|
|||
# "status_level":"school","status_level_text":"校级","school_code":"10003","school_name":"清华大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_JHnTBdt8GA3tziq","project_pid":"pid_123002","activation_code":"nde8u5HNQ7qqXjkBIQG0","project_status":"submit_to","project_status_text":"已提交","status_level":"school","status_level_text":"校级","school_code":"10003","school_name":"清华大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_2tCNcoKX8T8oHvk","project_pid":"pid_123003","activation_code":"iZQCh3mfuJ8ESrUPwGRo","project_status":"pass_by","project_status_text":"审核通过","status_level":"school","status_level_text":"校级","school_code":"10001","school_name":"北京大学","province_name":"北京"},{"corp_id":123456,"match_id":666,"user_uid":"uid_DziaXaNTkyS1M05","project_pid":"pid_123004","activation_code":"c42BKyehYWAxeAqjLdc8","project_status":"not_pass_by","project_status_text":"审核未通过","status_level":"province","status_level_text":"省级","school_code":"10001","school_name":"北京大学","province_name":"北京"}]}'
|
||||
|
||||
create_table :competition_tzb_users do |t|
|
||||
t.string :corp_id
|
||||
t.string :match_id
|
||||
t.string :user_uid
|
||||
t.string :project_pid
|
||||
t.string :user_email
|
||||
t.string :activation_code
|
||||
t.string :project_status
|
||||
t.string :project_status_text
|
||||
t.string :status_level
|
||||
t.string :status_level_text
|
||||
t.string :school_code
|
||||
t.string :school_name
|
||||
t.string :province_name
|
||||
t.text :info_json
|
||||
t.integer :user_id
|
||||
t.string :pwd
|
||||
t.boolean :actived, default: false
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue