|
Lines 887-893
sub _get_unsent_messages {
Link Here
|
| 887 |
|
887 |
|
| 888 |
my $dbh = C4::Context->dbh(); |
888 |
my $dbh = C4::Context->dbh(); |
| 889 |
my $statement = << 'ENDSQL'; |
889 |
my $statement = << 'ENDSQL'; |
| 890 |
SELECT mq.message_id, mq.borrowernumber, mq.subject, mq.content, mq.message_transport_type, mq.status, mq.time_queued, mq.from_address, mq.to_address, mq.content_type, b.branchcode |
890 |
SELECT mq.message_id, mq.borrowernumber, mq.subject, mq.content, mq.message_transport_type, mq.status, mq.time_queued, mq.from_address, mq.to_address, mq.content_type, b.branchcode, mq.letter_code |
| 891 |
FROM message_queue mq |
891 |
FROM message_queue mq |
| 892 |
LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber |
892 |
LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber |
| 893 |
WHERE status = ? |
893 |
WHERE status = ? |
|
Lines 995-1000
$content
Link Here
|
| 995 |
EOS |
995 |
EOS |
| 996 |
} |
996 |
} |
| 997 |
|
997 |
|
|
|
998 |
sub _is_duplicate { |
| 999 |
my ( $message ) = @_; |
| 1000 |
my $dbh = C4::Context->dbh; |
| 1001 |
my $count = $dbh->selectrow_array(q| |
| 1002 |
SELECT COUNT(*) |
| 1003 |
FROM message_queue |
| 1004 |
WHERE message_transport_type = ? |
| 1005 |
AND borrowernumber = ? |
| 1006 |
AND letter_code = ? |
| 1007 |
AND CAST(time_queued AS date) = CAST(? AS date) |
| 1008 |
AND status="sent" |
| 1009 |
|, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{time_queued} ); |
| 1010 |
return $count; |
| 1011 |
} |
| 1012 |
|
| 998 |
sub _send_message_by_sms { |
1013 |
sub _send_message_by_sms { |
| 999 |
my $message = shift or return; |
1014 |
my $message = shift or return; |
| 1000 |
my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} ); |
1015 |
my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} ); |
|
Lines 1005-1010
sub _send_message_by_sms {
Link Here
|
| 1005 |
return; |
1020 |
return; |
| 1006 |
} |
1021 |
} |
| 1007 |
|
1022 |
|
|
|
1023 |
if ( _is_duplicate( $message ) ) { |
| 1024 |
_set_message_status( { message_id => $message->{'message_id'}, |
| 1025 |
status => 'failed' } ); |
| 1026 |
return; |
| 1027 |
} |
| 1028 |
|
| 1008 |
my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'}, |
1029 |
my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'}, |
| 1009 |
message => $message->{'content'}, |
1030 |
message => $message->{'content'}, |
| 1010 |
} ); |
1031 |
} ); |
| 1011 |
- |
|
|