Merge branch 'dev_osredm_server' of https://gitlink.org.cn/Trustie/forgeplus into dev_osredm_server

This commit is contained in:
yystopf 2025-05-07 15:14:14 +08:00
commit 61d77412f7
3 changed files with 18 additions and 3 deletions

View File

@ -0,0 +1,5 @@
class AddUserIndexPhone < ActiveRecord::Migration[5.2]
def change
add_index :users, :phone
end
end

View File

@ -3,17 +3,24 @@ namespace :import_user do
task done: :environment do
doc = SimpleXlsxReader.open("#{Rails.root}/public/import_user.xlsx")
data = doc.sheets.first.rows
num = 0
data.each_with_index do |row, index|
next if index == 0
begin
puts "index=====#{index}, mail: #{row[0]} phone: #{row[1]}"
user = User.find_by(mail: row[0])
unless user.present?
user = User.find_by(phone: row[1]) unless user.present?
if user.present?
num += 1
else
username = generate_user_login('p')
email = row[0]
email = "#{username}@example.org" if email.blank?
phone = row[1]
company_name = row[3]
user_type = row[4].to_s =="0" ? 3 : 4
password = "11111111"
created_on = row[5].to_s
password = "abc11111111"
user = User.new(nickname: row[2], login: username, mail: email, password: password, type: 'User', phone: phone, company_name: company_name)
interactor = Gitea::RegisterInteractor.call({ username: username, email: email, password: password })
gitea_user = interactor.result
@ -21,14 +28,17 @@ namespace :import_user do
user.gitea_token = result['sha1']
user.gitea_uid = gitea_user[:body]['id']
user.user_type = user_type if company_name.present? && company_name.include?("大学")
user.created_on = created_on if created_on.present?
user.updated_on = created_on if created_on.present?
user.save!
UserExtension.create!(user_id: user.id)
puts "import_user batch success: #{row[5]} username: #{row[0]}"
end
rescue Exception => e
puts "import_user batch error: #{row[5]} username: #{row[0]}"
puts "import_user batch error: #{row[5]} username: #{row[0]}, #{e.message}"
end
end
puts "import_user user.present?: #{num}"
end
# 生成邀请码

Binary file not shown.