diff --git a/app/jobs/sync_projects_job.rb b/app/jobs/sync_projects_job.rb index f81a493a8..70e33078e 100644 --- a/app/jobs/sync_projects_job.rb +++ b/app/jobs/sync_projects_job.rb @@ -47,10 +47,10 @@ class SyncProjectsJob < ApplicationJob end def create_target(target_jsons, target_type) - begin - SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------") - return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank? - target_jsons.each_with_index do |re,index| + SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------") + return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank? + target_jsons.each_with_index do |re,index| + begin SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}") if re[:target_params].present? 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)) end end - + if !is_exists && new_target.save! SyncLog.sync_log("***【#{target_type}】. create_success---------------") if re[:journals].present? @@ -107,39 +107,48 @@ class SyncProjectsJob < ApplicationJob SyncLog.sync_log("***【#{target_type}】. create_failed---or has_exists---------------") end end + SyncLog.sync_log("***111222. end_to_create_target---------------") + rescue => e + SyncLog.sync_log("=========***【#{target_type}】creat_had_erros:#{e}===================") + next end - SyncLog.sync_log("***111222. end_to_create_target---------------") - rescue => e - SyncLog.sync_log("=========***【#{target_type}】creat_had_erros:#{e}===================") end + end def create_journals(target_jsons, target_type,issue_id) SyncLog.sync_log("***【#{target_type}】. begin_to_create_target---------------") return SyncLog.sync_log("*** no target_jsons") if target_jsons.blank? target_jsons.each_with_index do |re,index| - SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}") - if re[:target_params].present? - 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--------------") - else - 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 + begin + SyncLog.sync_log("***user_login:#{re[:user_login]}----target_type:#{target_type}-----#{index+1}") + if re[:target_params].present? + 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--------------") 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 + rescue => e + SyncLog.sync_log("***111222. journal_create failed---#{e}------------") + next end + end SyncLog.sync_log("***111222. end_to_create_journal---------------") end