diff --git a/bin/ngcp-fraud-auto-lock b/bin/ngcp-fraud-auto-lock index 16eeaab..1f2408f 100755 --- a/bin/ngcp-fraud-auto-lock +++ b/bin/ngcp-fraud-auto-lock @@ -31,8 +31,9 @@ my $db = $o->{database}; my $a = $db->sql_get_all_arrayref(<<"!"); SELECT 'profile_limit' as type, c.id, p.fraud_interval_lock, p.fraud_interval_notify, b.cash_balance_interval, p.fraud_interval_limit - FROM contracts c, billing_profiles p, contract_balances b - WHERE p.id = (SELECT m.billing_profile_id + FROM contracts c, billing_profiles p, contract_balances b, billing_mappings bm, + products pr + WHERE bm.id = (SELECT m.id FROM billing_mappings m WHERE ( m.start_date IS NULL OR m.start_date <= now()) @@ -40,6 +41,9 @@ my $a = $db->sql_get_all_arrayref(<<"!"); OR m.end_date >= now()) AND m.contract_id = c.id ORDER BY m.start_date desc limit 1) + AND p.id = bm.billing_profile_id + AND pr.id = bm.product_id + AND (pr.class IN ('sipaccount', 'pbxaccount') OR pr.class IS NULL) AND b.contract_id = c.id AND b.start <= now() AND b.end >= now()