Commit a3ce51ad by Ngô Trung Hưng

fix bug

parent 0f57f980
Pipeline #731 canceled with stages
in 0 seconds
...@@ -25,3 +25,4 @@ ...@@ -25,3 +25,4 @@
# Ignore master key for decrypting credentials and more. # Ignore master key for decrypting credentials and more.
/config/master.key /config/master.key
/lib/csv
...@@ -10,23 +10,25 @@ class FtpSever ...@@ -10,23 +10,25 @@ class FtpSever
CONTENT_SERVER_DOMAIN_NAME = '192.168.1.156' CONTENT_SERVER_DOMAIN_NAME = '192.168.1.156'
CONTENT_SERVER_USER_NAME = 'training' CONTENT_SERVER_USER_NAME = 'training'
CONTENT_SERVER_USER_PASSWORD = 'training' CONTENT_SERVER_USER_PASSWORD = 'training'
DIRECTORY_CSV = './jobs.zip'
@logger ||= Logger.new("#{Rails.root}/log/csv.log") def data_csv
def self.donwload_csv donwload_csv
Net::FTP.open(CONTENT_SERVER_DOMAIN_NAME, CONTENT_SERVER_USER_NAME, CONTENT_SERVER_USER_PASSWORD) do |ftp| CSV.parse(File.read('lib/csv/jobs.csv'), headers: true)
begin
ftp.getbinaryfile('jobs.zip')
Unzip.extract_zip('./jobs.zip', 'lib/csv')
File.delete('./jobs.zip') if File.exist?('./jobs.zip')
@logger.info 'Donwload & extract success'
rescue FileNotFound => e
@logger.error "#{e.message}"
end
end
end end
def self.data_csv def logger
donwload_csv @logger ||= Logger.new("#{Rails.root}/log/csv.log")
CSV.parse(File.read('lib/csv/jobs.csv'), headers: true) end
private
def donwload_csv
Net::FTP.open(CONTENT_SERVER_DOMAIN_NAME, CONTENT_SERVER_USER_NAME, CONTENT_SERVER_USER_PASSWORD) do |ftp|
ftp.getbinaryfile('jobs.zip')
Unzip.extract_zip(DIRECTORY_CSV, 'lib/csv')
File.delete(DIRECTORY_CSV) if File.exist?(DIRECTORY_CSV)
logger.info 'Donwload & extract success'
end
end end
end end
...@@ -8,7 +8,7 @@ class ImportData ...@@ -8,7 +8,7 @@ class ImportData
COMPANY_SECURITY = 1 COMPANY_SECURITY = 1
def import_data def import_data
csv_data = FtpSever.data_csv csv_data = FtpSever.new.data_csv
import_industries_from(csv_data) import_industries_from(csv_data)
import_cities_from(csv_data) import_cities_from(csv_data)
import_companies_from(csv_data) import_companies_from(csv_data)
...@@ -57,10 +57,10 @@ class ImportData ...@@ -57,10 +57,10 @@ class ImportData
csv['name'].each_with_index do |name, index| csv['name'].each_with_index do |name, index|
desc = "#{csv['requirement'][index]} #{(csv['description'][index])}" desc = "#{csv['requirement'][index]} #{(csv['description'][index])}"
company = Company.find_by name: csv['company name'][index].to_s.strip company = Company.find_by name: csv['company name'][index].to_s.strip
id_company = company.blank? ? COMPANY_SECURITY : company.id company_id = company.blank? ? COMPANY_SECURITY : company.id
begin begin
job = Job.create!(name: name, job = Job.create!(name: name,
company_id: id_company, company_id: company_id,
level: csv['level'][index], level: csv['level'][index],
salary: csv['salary'][index], salary: csv['salary'][index],
create_date: Time.now, create_date: Time.now,
......
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