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