Commit a3e43368 by Thanh Hung Pham

Fix same merge quest 1

parent 6ab9a5d1
......@@ -18,30 +18,23 @@ class Import::CSVReader
Thread.new do
begin
begin
# Area information
Area.new(name: 'Viet Nam').save if Area.where(name: 'Viet Nam').blank?
Area.new(name: 'International').save if Area.where(name: 'International').blank?
csv_text = File.read(@file)
csv = CSV.parse(csv_text, headers: :true)
csv.each do |row|
# Job type information
job_type_name = row['type'].strip unless row['type'].nil?
job_type = JobType.new
job_type.name = job_type_name
job_type.save if JobType.find_by_name(job_type_name).blank?
job_type = JobType.find_or_create_by(name: job_type_name)
# Contact information
contact_name = row['contact name'].strip unless row['contact name'].nil?
contact_email = row['contact email'].strip unless row['contact email'].nil?
contact_phone = row['contact phone'].strip unless row['contact phone'].nil?
contact = Contact.new
contact = Contact.find_or_create_by(email: contact_email)
contact.email = contact_email
contact.name = contact_name
contact.phone = contact_phone
contact.save if Contact.find_by_email(contact_email).blank?
contact.save
# Company information
company_address = row['company address'].strip unless row['company address'].nil?
......@@ -49,27 +42,28 @@ class Import::CSVReader
company_name = row['company name'].strip unless row['company name'].nil?
company_province = row['company province'].strip unless row['company province'].nil?
company = Company.new
company = Company.find_or_create_by(name: company_name)
company.address = company_address
company.district = company_district
company.name = company_name
company.province = company_province
company.save if Company.find_by_name(company_name).blank?
company.save
# Category information
category_name = row['category'].strip unless row['category'].nil?
category = Category.new
category = Category.find_or_create_by(name: category_name)
category.name = category_name
category.save if Category.find_by_name(category_name).blank?
category.save
# City information
city_name = row['work place'].strip unless row['work place'].nil?
city_name = city_name.tr('""', '').tr('[]', '') # Remove '["text"]' -> 'text'
city = City.new
city = City.find_or_create_by(name: city_name)
city.name = city_name
city.area = Area.find(1)
city.save if City.find_by_name(city_name).blank?
city.area = Area.find_by_name('Viet Nam')
city.save
# Job information
job_benefit = row['benefit'].strip unless row['benefit'].nil?
......@@ -79,7 +73,7 @@ class Import::CSVReader
job_requirement = row['requirement'].strip unless row['requirement'].nil?
job_salary = row['salary'].strip unless row['salary'].nil?
job = Job.new
job = Job.find_or_create_by(name: job_name, city: city, company: company)
job.benefit = job_benefit
job.description = job_description
job.level = job_level
......@@ -90,13 +84,13 @@ class Import::CSVReader
job.job_type = job_type
job.contact = contact
job.company = company
job.save if Job.where(name: job_name, city: city, company: company).blank?
job.save
# Job Category Information
job_category = JobCategory.new
job_category = JobCategory.find_or_create_by(job: job, category: category)
job_category.job = job
job_category.category = category
job_category.save if JobCategory.where(job: job, category: category).blank?
job_category.save
end
rescue StandardError => e
logger.error(e.message)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment