|
|
@ -25,11 +25,12 @@ my $o = Sipwise::Provisioning::Billing->new();
|
|
|
|
my $db = $o->{database};
|
|
|
|
my $db = $o->{database};
|
|
|
|
|
|
|
|
|
|
|
|
my $a = $db->sql_get_all_arrayref(<<"!");
|
|
|
|
my $a = $db->sql_get_all_arrayref(<<"!");
|
|
|
|
SELECT 'profile_limit' as type, cdr.source_account_id, SUM(cdr.source_customer_cost) AS daily_cost,
|
|
|
|
SELECT 'profile_limit' as type, cdr.source_account_id, SUM(cdr.source_customer_cost) AS daily_cost, bpinfo.contract_id,
|
|
|
|
contracts.id,
|
|
|
|
bpinfo.fraud_daily_limit, bpinfo.fraud_daily_lock, bpinfo.fraud_daily_notify
|
|
|
|
|
|
|
|
FROM (
|
|
|
|
|
|
|
|
SELECT contracts.id as contract_id,
|
|
|
|
billing_profiles.fraud_daily_limit, billing_profiles.fraud_daily_lock, billing_profiles.fraud_daily_notify
|
|
|
|
billing_profiles.fraud_daily_limit, billing_profiles.fraud_daily_lock, billing_profiles.fraud_daily_notify
|
|
|
|
FROM accounting.cdr
|
|
|
|
FROM billing.contracts
|
|
|
|
JOIN billing.contracts ON cdr.source_account_id = contracts.id
|
|
|
|
|
|
|
|
JOIN billing.billing_mappings ON contracts.id = billing_mappings.contract_id
|
|
|
|
JOIN billing.billing_mappings ON contracts.id = billing_mappings.contract_id
|
|
|
|
JOIN billing.billing_profiles
|
|
|
|
JOIN billing.billing_profiles
|
|
|
|
ON (billing_profiles.id =
|
|
|
|
ON (billing_profiles.id =
|
|
|
@ -42,11 +43,13 @@ JOIN billing.billing_profiles
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
WHERE (contracts.status = 'active')
|
|
|
|
WHERE (contracts.status = 'active')
|
|
|
|
AND (DATEDIFF(FROM_UNIXTIME(cdr.start_time), CURDATE()) = 0)
|
|
|
|
|
|
|
|
AND (billing_profiles.fraud_daily_limit IS NOT NULL)
|
|
|
|
AND (billing_profiles.fraud_daily_limit IS NOT NULL)
|
|
|
|
AND (billing_profiles.fraud_daily_limit > 0)
|
|
|
|
AND (billing_profiles.fraud_daily_limit > 0)
|
|
|
|
|
|
|
|
) as bpinfo
|
|
|
|
|
|
|
|
JOIN accounting.cdr ON cdr.source_account_id = bpinfo.contract_id
|
|
|
|
|
|
|
|
WHERE (DATEDIFF(FROM_UNIXTIME(cdr.start_time), CURDATE()) = 0)
|
|
|
|
GROUP BY cdr.source_account_id
|
|
|
|
GROUP BY cdr.source_account_id
|
|
|
|
HAVING (daily_cost > billing_profiles.fraud_daily_limit)
|
|
|
|
HAVING (daily_cost > bpinfo.fraud_daily_limit)
|
|
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
|
|