lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb in imperituroard-1.1.10 vs lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb in imperituroard-1.1.11

- old
+ new

@@ -188,96 +188,159 @@ mess_to_recip = {"bulkId": "00000000-0000-0000-0000-000000000000", "messages": messages_sect} {:code => 200, :result => "Data processed", :body => {:mess_to_recip => mess_to_recip}} end - def delivery_report_transform(hub_report) + def delivery_report_transform(hub_report_in) #{"number"=>"375297116638", "time"=>1588673492000, "status"=>2, "substatus"=>23, "msg_status"=>23033, "message_id"=>"486649ba-a573-4ee9-8f58-018ed20ca6fd", "extra_id"=>"444/0/ServiceModel/ScGetReports.svc/GetReports", "sent_via"=>"viber", "controller"=>"reports", "action"=>"delivery", "report"=>{"number"=>"375297116638", "time"=>1588673492000, "status"=>2, "substatus"=>23, "msg_status"=>23033, "message_id"=>"486649ba-a573-4ee9-8f58-018ed20ca6fd", "extra_id"=>"444/0/ServiceModel/ScGetReports.svc/GetReports", "sent_via"=>"viber"}} #p hub_report #p "hub_report" - data_for_status = { - 23011 => {:status_id => 5, :status_grid => 3, :status_grname => "DELIVERED", :status_name => "DELIVERED_TO_HANDSET", :status_descr => "Message delivered by SMS", - :error_id => 0, :error_grid => 0, :error_grname => "Ok", :error_name => "NO_ERROR", :error_descr => "No Error", :error_permanent => false - }, - 23033 => {:status_id => 5, :status_grid => 3, :status_grname => "DELIVERED", :status_name => "DELIVERED_TO_HANDSET", :status_descr => "Message delivered by Viber", - :error_id => 0, :error_grid => 0, :error_grname => "Ok", :error_name => "NO_ERROR", :error_descr => "No Error", :error_permanent => false - }, - 35015 => {:status_id => 15, :status_grid => 4, :status_grname => "EXPIRED", :status_name => "EXPIRED_EXPIRED", :status_descr => "SMS Message TTL EXPIRED", - :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_ABSENT_SUBSCRIBER_SM", :error_descr => "Subscriber is absent", :error_permanent => false - }, #message SMS expired - 36463 => {:status_id => 15, :status_grid => 4, :status_grname => "EXPIRED", :status_name => "EXPIRED_EXPIRED", :status_descr => "Viber Message TTL EXPIRED", - :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_ABSENT_SUBSCRIBER_SM", :error_descr => "Subscriber is absent.", :error_permanent => false - }, #message Viber expired - 36010 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "SMS. Subscriber not exists", - :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true - }, #SMS subscriber not exists - 36131 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "SMS. Unknown subscriber", - :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true - }, #SMS unknown subscriber - 36505 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "Viber. Subscriber not exists", - :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true - } #Viber subscriber not exists - } + report_to_recip = - if data_for_status[hub_report[:msg_status]] != nil && data_for_status[hub_report[:msg_status]] != {} && data_for_status[hub_report[:msg_status]] != [] && data_for_status[hub_report[:msg_status]] != "" - report_to_recip = { - "results": [ - { + data_for_status = { + 23011 => {:status_id => 5, :status_grid => 3, :status_grname => "DELIVERED", :status_name => "DELIVERED_TO_HANDSET", :status_descr => "Message delivered by SMS", + :error_id => 0, :error_grid => 0, :error_grname => "Ok", :error_name => "NO_ERROR", :error_descr => "No Error", :error_permanent => false + }, + 23033 => {:status_id => 5, :status_grid => 3, :status_grname => "DELIVERED", :status_name => "DELIVERED_TO_HANDSET", :status_descr => "Message delivered by Viber", + :error_id => 0, :error_grid => 0, :error_grname => "Ok", :error_name => "NO_ERROR", :error_descr => "No Error", :error_permanent => false + }, + 35015 => {:status_id => 15, :status_grid => 4, :status_grname => "EXPIRED", :status_name => "EXPIRED_EXPIRED", :status_descr => "SMS Message TTL EXPIRED", + :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_ABSENT_SUBSCRIBER_SM", :error_descr => "Subscriber is absent", :error_permanent => false + }, #message SMS expired + 36463 => {:status_id => 15, :status_grid => 4, :status_grname => "EXPIRED", :status_name => "EXPIRED_EXPIRED", :status_descr => "Viber Message TTL EXPIRED", + :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_ABSENT_SUBSCRIBER_SM", :error_descr => "Subscriber is absent.", :error_permanent => false + }, #message Viber expired + 36010 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "SMS. Subscriber not exists", + :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true + }, #SMS subscriber not exists + 36131 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "SMS. Unknown subscriber", + :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true + }, #SMS unknown subscriber + 36505 => {:status_id => 4, :status_grid => 2, :status_grname => "UNDELIVERABLE", :status_name => "UNDELIVERABLE_REJECTED_OPERATOR", :status_descr => "Viber. Subscriber not exists", + :error_id => 6, :error_grid => 1, :error_grname => "HANDSET_ERRORS", :error_name => "EC_UNKNOWN_SUBSCRIBER", :error_descr => "Subscriber not found.", :error_permanent => true + } #Viber subscriber not exists + } - "bulkId": "00000000-0000-0000-0000-000000000000", - "messageId": hub_report[:report][:message_id], - "to": hub_report[:report][:number], - # "sentAt": "2020-05-05T20:00:00.000+0000", - # "doneAt": "2020-05-05T20:00:00.000+0000", - "status": { - "groupId": data_for_status[hub_report[:msg_status]][:status_grid], - "groupName": data_for_status[hub_report[:msg_status]][:status_grname], - "id": data_for_status[hub_report[:msg_status]][:status_id], - "name": data_for_status[hub_report[:msg_status]][:status_name], - "description": data_for_status[hub_report[:msg_status]][:status_descr] - }, - "error": { - "groupId": data_for_status[hub_report[:msg_status]][:error_grid], - "groupName": data_for_status[hub_report[:msg_status]][:error_grname], - "id": data_for_status[hub_report[:msg_status]][:error_id], - "name": data_for_status[hub_report[:msg_status]][:error_name], - "description": data_for_status[hub_report[:msg_status]][:error_descr], - "permanent": data_for_status[hub_report[:msg_status]][:error_permanent] - } - } - ] - } + if hub_report_in.key?("msg_status") + hub_report = hub_report_in + if data_for_status[hub_report[:msg_status]] != nil && data_for_status[hub_report[:msg_status]] != {} && data_for_status[hub_report[:msg_status]] != [] && data_for_status[hub_report[:msg_status]] != "" + report_to_recip.push({ + + "bulkId": "00000000-0000-0000-0000-000000000000", + "messageId": hub_report[:report][:message_id], + "to": hub_report[:report][:number], + # "sentAt": "2020-05-05T20:00:00.000+0000", + # "doneAt": "2020-05-05T20:00:00.000+0000", + "status": { + "groupId": data_for_status[hub_report[:msg_status]][:status_grid], + "groupName": data_for_status[hub_report[:msg_status]][:status_grname], + "id": data_for_status[hub_report[:msg_status]][:status_id], + "name": data_for_status[hub_report[:msg_status]][:status_name], + "description": data_for_status[hub_report[:msg_status]][:status_descr] + }, + "error": { + "groupId": data_for_status[hub_report[:msg_status]][:error_grid], + "groupName": data_for_status[hub_report[:msg_status]][:error_grname], + "id": data_for_status[hub_report[:msg_status]][:error_id], + "name": data_for_status[hub_report[:msg_status]][:error_name], + "description": data_for_status[hub_report[:msg_status]][:error_descr], + "permanent": data_for_status[hub_report[:msg_status]][:error_permanent] + } + }) + + + else + report_to_recip["results"].app + + report_to_recip.push({ + + "bulkId": "00000000-0000-0000-0000-000000000000", + "messageId": hub_report[:report][:message_id], + "to": hub_report[:report][:number], + # "sentAt": "2020-05-05T20:00:00.000+0000", + # "doneAt": "2020-05-05T20:00:00.000+0000", + "status": { + "groupId": 2, + "groupName": "UNDELIVERABLE_NOT_DELIVERED", + "id": 9, + "name": "UNDELIVERED", + "description": "Unknown error" + }, + "error": { + "groupId": 1, + "groupName": "HANDSET_ERRORS", + "id": 32, + "name": "EC_SM_DELIVERY_FAILURE", + "description": "Unknown error", + "permanent": false + } + }) + + end + else - report_to_recip = { - "results": [ - { + hub_report_in["_json"].each {|hub_report2| - "bulkId": "00000000-0000-0000-0000-000000000000", - "messageId": hub_report[:report][:message_id], - "to": hub_report[:report][:number], - # "sentAt": "2020-05-05T20:00:00.000+0000", - # "doneAt": "2020-05-05T20:00:00.000+0000", - "status": { - "groupId": 2, - "groupName": "UNDELIVERABLE_NOT_DELIVERED", - "id": 9, - "name": "UNDELIVERED", - "description": "Unknown error" - }, - "error": { - "groupId": 1, - "groupName": "HANDSET_ERRORS", - "id": 32, - "name": "EC_SM_DELIVERY_FAILURE", - "description": "Unknown error", - "permanent": false - } - } - ] + if data_for_status[hub_report[:msg_status]] != nil && data_for_status[hub_report[:msg_status]] != {} && data_for_status[hub_report[:msg_status]] != [] && data_for_status[hub_report[:msg_status]] != "" + report_to_recip.push({ + + "bulkId": "00000000-0000-0000-0000-000000000000", + "messageId": hub_report2[:message_id], + "to": hub_report2[:number], + # "sentAt": "2020-05-05T20:00:00.000+0000", + # "doneAt": "2020-05-05T20:00:00.000+0000", + "status": { + "groupId": data_for_status[hub_report2[:msg_status]][:status_grid], + "groupName": data_for_status[hub_report2[:msg_status]][:status_grname], + "id": data_for_status[hub_report2[:msg_status]][:status_id], + "name": data_for_status[hub_report2[:msg_status]][:status_name], + "description": data_for_status[hub_report2[:msg_status]][:status_descr] + }, + "error": { + "groupId": data_for_status[hub_report2[:msg_status]][:error_grid], + "groupName": data_for_status[hub_report2[:msg_status]][:error_grname], + "id": data_for_status[hub_report2[:msg_status]][:error_id], + "name": data_for_status[hub_report2[:msg_status]][:error_name], + "description": data_for_status[hub_report2[:msg_status]][:error_descr], + "permanent": data_for_status[hub_report2[:msg_status]][:error_permanent] + } + }) + + + else + report_to_recip["results"].app + + report_to_recip.push({ + + "bulkId": "00000000-0000-0000-0000-000000000000", + "messageId": hub_report2[:message_id], + "to": hub_report2[:number], + # "sentAt": "2020-05-05T20:00:00.000+0000", + # "doneAt": "2020-05-05T20:00:00.000+0000", + "status": { + "groupId": 2, + "groupName": "UNDELIVERABLE_NOT_DELIVERED", + "id": 9, + "name": "UNDELIVERED", + "description": "Unknown error" + }, + "error": { + "groupId": 1, + "groupName": "HANDSET_ERRORS", + "id": 32, + "name": "EC_SM_DELIVERY_FAILURE", + "description": "Unknown error", + "permanent": false + } + }) + end + } + end - {:code => 200, :result => "Data processed", :body => {:report_to_recip => report_to_recip}} + + {:code => 200, :result => "Data processed", :body => {:report_to_recip => {"results": report_to_recip}}} end end