This commit is contained in:
sylor_huang@126.com 2020-07-15 23:28:24 +08:00
commit 1e96ecd440
1 changed files with 35 additions and 26 deletions

View File

@ -47,10 +47,10 @@ class SyncProjectsJob < ApplicationJob
end end
def create_target(target_jsons, target_type) def create_target(target_jsons, target_type)
begin SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------")
SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------") return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank?
return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank? target_jsons.each_with_index do |re,index|
target_jsons.each_with_index do |re,index| begin
SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}") SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}")
if re[:target_params].present? if re[:target_params].present?
SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}") SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}")
@ -85,7 +85,7 @@ class SyncProjectsJob < ApplicationJob
new_target = target_type.constantize.new(re[:target_params].merge(user_id: u_id)) new_target = target_type.constantize.new(re[:target_params].merge(user_id: u_id))
end end
end end
if !is_exists && new_target.save! if !is_exists && new_target.save!
SyncLog.sync_log("***【#{target_type}】. create_success---------------") SyncLog.sync_log("***【#{target_type}】. create_success---------------")
if re[:journals].present? if re[:journals].present?
@ -107,39 +107,48 @@ class SyncProjectsJob < ApplicationJob
SyncLog.sync_log("***【#{target_type}】. create_failed---or has_exists---------------") SyncLog.sync_log("***【#{target_type}】. create_failed---or has_exists---------------")
end end
end end
SyncLog.sync_log("***111222. end_to_create_target---------------")
rescue => e
SyncLog.sync_log("=========***【#{target_type}】creat_had_erros:#{e}===================")
next
end end
SyncLog.sync_log("***111222. end_to_create_target---------------")
rescue => e
SyncLog.sync_log("=========***【#{target_type}】creat_had_erros:#{e}===================")
end end
end end
def create_journals(target_jsons, target_type,issue_id) def create_journals(target_jsons, target_type,issue_id)
SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------") SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------")
return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank? return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank?
target_jsons.each_with_index do |re,index| target_jsons.each_with_index do |re,index|
SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}") begin
if re[:target_params].present? SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}")
u_id = User.select(:id, :login).where(login: re[:user_login]).pluck(:id).first if re[:target_params].present?
is_exists = Journal.exists?(user_id: u_id, journalized_id: re[:target_params][:journalized_id], created_on: re[:target_params][:created_on].to_s.to_time) u_id = User.select(:id, :login).where(login: re[:user_login]).pluck(:id).first
is_exists = Journal.exists?(user_id: u_id, journalized_id: re[:target_params][:journalized_id], created_on: re[:target_params][:created_on].to_s.to_time)
if is_exists
SyncLog.sync_log("***00000. Journal:#{re[:target_params][:id]}-is exists--------------") if is_exists
else SyncLog.sync_log("***00000. Journal:#{re[:target_params][:id]}-is exists--------------")
re[:target_params].delete(:id)
new_target = Journal.new(re[:target_params].merge(user_id: u_id))
new_target.journalized_id = issue_id
if new_target.save!
if re[:journal_details].present?
re[:journal_details].each do |j|
JournalDetail.create!(j.merge(journal_id: new_target.id))
end
end
else else
SyncLog.sync_log("***111222. journal_create failed---------------") re[:target_params].delete(:id)
new_target = Journal.new(re[:target_params].merge(user_id: u_id))
new_target.journalized_id = issue_id
if new_target.save!
if re[:journal_details].present?
re[:journal_details].each do |j|
JournalDetail.create!(j.merge(journal_id: new_target.id))
end
end
else
SyncLog.sync_log("***111222. journal_create failed---------------")
end
end end
end end
rescue => e
SyncLog.sync_log("***111222. journal_create failed---#{e}------------")
next
end end
end end
SyncLog.sync_log("***111222. end_to_create_journal---------------") SyncLog.sync_log("***111222. end_to_create_journal---------------")
end end