Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. alias CampaignDetail = NamedTuple(id: Int32, list_id: Int32, list_name: String, list_status: String, is_triggered: String, trigger_data: String, sender_id: Int32, sender_name: String)
  2. alias Sender = Array(Array(Sender | CampaignDetail)) | Array(Sender | CampaignDetail) | Array(String | Int32 | Nil)
  3. alias CombinedCampaign = Array({id: Int32,
  4. list_id: Int32,
  5. list_name: String,
  6. list_status: String,
  7. is_triggered: String,
  8. trigger_data: String,
  9. sender_id: Int32,
  10. sender_name: String})
  11.  
  12. alias AccountDetails = Array(NamedTuple(id_access: Int32,
  13. account_id: Int32,
  14. account_company: String,
  15. redis_host: String,
  16. redis_password: String,
  17. redis_port: Int16,
  18. db_host: String,
  19. db_username: String,
  20. db_password: String,
  21. db_port: Int32))
  22.  
  23. uncombined_campaign_data : Sender | CampaignDetail | CombinedCampaign
  24. uncombined_campaign_data = Array(CampaignDetail).new
  25. campaign_data : Array(CombinedCampaign)
  26. campaign_data = Array(CombinedCampaign).new
  27. @mysql_conn.db_proc(query_campaigns,
  28. alternate_db: "*****_#{account[:account_id]}",
  29. host: account[:db_host],
  30. username: account[:db_username],
  31. port: account[:db_port].to_s,
  32. password: account[:db_password],
  33. type: :select) do |results|
  34.  
  35. uncombined_campaign_data << [results.read(Int32),
  36. results.read(Int32),
  37. results.read(String),
  38. results.read(String),
  39. results.read(String),
  40. results.read(String)
  41. ]
  42. end
  43.  
  44. query_sender = %{SELECT `sender`.`id`, `sender`.`name` FROM `******`.`sender`
  45. WHERE `sender`.`id` IN (#{campaign_data.join(", ") {|campaign| "'" + campaign.not_nil![0].to_s+ "'" }})}
  46. puts query_sender
  47. exit
  48.  
  49. combined_campaign = CombinedCampaign.new
  50. combined_campaign_data = Array(CombinedCampaign).new
  51.  
  52. @mysql_conn.db_proc(query_campaigns,
  53. alternate_db: "**********#{account[:account_id]}",
  54. host: account[:db_host],
  55. username: account[:db_username],
  56. port: account[:db_port].to_s,
  57. password: account[:db_password],
  58. type: :select) do |results|
  59. id = results.read(Int32)
  60. sender = results.read(String)
  61. campaign_data += campaign_data.map_with_index do |campaign, i|
  62. if campaign.not_nil![0] == id
  63. {
  64. id: campaign[0].nil? ? 0 : campaign.as(Int32),
  65. list_id: campaign[1].nil? ? 0 : campaign.as(Int32),
  66. list_name: campaign[2].nil? ? "" : campaign.as(String),
  67. list_status: campaign[3].nil? ? "" : campaign.as(String),
  68. is_triggered: campaign[4].nil? ? "" : campaign.as(String),
  69. trigger_data: campaign[5].nil? ? "" : campaign.as(String),
  70. sender_id: id.nil? ? 0 : id.as(Int32),
  71. sender_name: sender.nil? ? "" : sender.as(String)
  72. }
  73. else
  74. {
  75.  
  76. id: 0,
  77. list_id: 0,
  78. list_name: "",
  79. list_status: "",
  80. is_triggered: "",
  81. trigger_data: "",
  82. sender_id: 0,
  83. sender_name: ""
  84. }
  85. end
  86. end
  87. combined_campaign_data += combined_campaign
  88. end
  89. campaign_data = combined_campaign_data
  90.  
  91. in classes/accounts.cr:123: no overload matches 'Array(NamedTuple(id: Int32, list_id: Int32, list_name: String, list_status: String, is_triggered: String, trigger_data: String, sender_id: Int32, sender_name: String))#<<' with type Array(Int32 | String)
  92. Overloads are:
  93. - Array(T)#<<(value : T)
  94.  
  95. uncombined_campaign_data << [results.read(Int32),
  96.  
  97. in classes/accounts.cr:123: type must be (Array(Accounts::Sender | NamedTuple(id: Int32, list_id: Int32,
  98. r_name: String)) | Array(Array(Accounts::Sender | NamedTuple(id: Int32, list_id: Int32, list_name: Strin
  99. | Array(Int32 | String | Nil) | Array(NamedTuple(id: Int32, list_id: Int32, list_name: String, list_sta
  100. e(id: Int32, list_id: Int32, list_name: String, list_status: String, is_triggered: String, trigger_data:
  101. ist_name: String, list_status: String, is_triggered: String, trigger_data: String, sender_id: Int32, sen
  102. ring, is_triggered: String, trigger_data: String, sender_id: Int32, sender_name: String)))
  103.  
  104. uncombined_campaign_data += [results.read(Int32),
  105. ^~~~~~~~~~~~~~~~~~~~~~~~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement