@@ -31,24 +31,47 @@ def perform(delivery:)
3131 end
3232 end
3333
34- message_id = AwsSesSubmissionBatchService . new ( submissions_query : submissions , form :, date : batch_begin_date , mode :) . send_batch
34+ batch_service = AwsSesSubmissionBatchService . new ( submissions_query : submissions , form :, mode :)
35+
36+ message_id = send_email ( batch_service , delivery , batch_begin_date )
3537
3638 delivery . new_attempt!
3739 delivery . update! (
3840 delivery_reference : message_id ,
3941 )
4042
4143 CurrentJobLoggingAttributes . delivery_reference = delivery . delivery_reference
42- EventLogger . log_form_event ( "daily_batch_email_sent" , {
44+ log_batch_sent ( delivery , batch_begin_date , mode )
45+ log_submissions_included_in_batch ( delivery , batch_begin_date )
46+ end
47+
48+ private
49+
50+ def send_email ( batch_service , delivery , batch_begin_date )
51+ if delivery . daily?
52+ batch_service . send_daily_batch ( date : batch_begin_date )
53+ elsif delivery . weekly?
54+ batch_service . send_weekly_batch ( begin_date : batch_begin_date , end_date : batch_begin_date + 6 . days )
55+ else
56+ raise StandardError , "Unexpected delivery schedule: #{ delivery . delivery_schedule } "
57+ end
58+ end
59+
60+ def log_batch_sent ( delivery , batch_begin_date , mode )
61+ event_name = delivery . daily? ? "daily_batch_email_sent" : "weekly_batch_email_sent"
62+ EventLogger . log_form_event ( event_name , {
4363 mode : mode . to_s ,
44- batch_date : batch_begin_date ,
45- number_of_submissions : submissions . count ,
64+ batch_begin_date : batch_begin_date ,
65+ number_of_submissions : delivery . submissions . count ,
4666 } )
67+ end
4768
48- submissions . each do |submission |
49- EventLogger . log_form_event ( "included_in_daily_batch_email" , {
69+ def log_submissions_included_in_batch ( delivery , batch_begin_date )
70+ event_name = delivery . daily? ? "included_in_daily_batch_email" : "included_in_weekly_batch_email"
71+ delivery . submissions . each do |submission |
72+ EventLogger . log_form_event ( event_name , {
5073 submission_reference : submission . reference ,
51- batch_date : batch_begin_date ,
74+ batch_begin_date : batch_begin_date ,
5275 } )
5376 end
5477 end
0 commit comments