You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.8 KiB
94 lines
2.8 KiB
#!/usr/bin/perl
|
|
use warnings;
|
|
use strict;
|
|
|
|
use File::Basename;
|
|
use Cwd;
|
|
use lib Cwd::abs_path(File::Basename::dirname(__FILE__) . '/../../../../');
|
|
|
|
use NGCP::BulkProcessor::Logging qw (
|
|
getlogger
|
|
processing_info
|
|
);
|
|
use NGCP::BulkProcessor::LogError qw(
|
|
fileprocessingwarn
|
|
fileprocessingerror
|
|
);
|
|
|
|
use NGCP::BulkProcessor::LoadConfig qw(
|
|
load_config
|
|
);
|
|
|
|
use NGCP::BulkProcessor::ConnectorPool qw(
|
|
get_xa_db
|
|
destroy_dbs
|
|
);
|
|
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::products qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::contacts qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::contracts qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::billing_mappings qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::contract_balances qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::domains qw();
|
|
use NGCP::BulkProcessor::Dao::Trunk::billing::voip_subscribers qw();
|
|
|
|
use NGCP::BulkProcessor::Dao::Trunk::provisioning::voip_domains qw();
|
|
|
|
use NGCP::BulkProcessor::Utils qw(threadid);
|
|
|
|
load_config('config.cfg');
|
|
|
|
my $db = &get_xa_db();
|
|
{
|
|
|
|
|
|
eval {
|
|
$db->db_begin();
|
|
|
|
my $exisiting_billing_voip_subscribers = NGCP::BulkProcessor::Dao::Trunk::billing::voip_subscribers::findby_domainid_username_states(
|
|
$billing_domain->{id},$cli,{ 'NOT IN' => $NGCP::BulkProcessor::Dao::Trunk::billing::voip_subscribers::TERMINATED_STATE});
|
|
if ((scalar @$exisiting_billing_voip_subscribers) == 0) {
|
|
|
|
my $contact_id = NGCP::BulkProcessor::Dao::Trunk::billing::contacts::insert_row($db,
|
|
reseller_id => $reseller_id,
|
|
email => sprintf($contact_email_format,$cli),
|
|
);
|
|
#my $contact_id = NGCP::BulkProcessor::Dao::Trunk::billing::contacts::insert_row($db,{
|
|
# reseller_id => $reseller_id,
|
|
# email => sprintf($contact_email_format,$cli),
|
|
#});
|
|
my $contract_id = NGCP::BulkProcessor::Dao::Trunk::billing::contracts::insert_row($db,
|
|
contact_id => $contact_id,
|
|
#status => 'active',
|
|
);
|
|
|
|
my $billing_mapping_id = NGCP::BulkProcessor::Dao::Trunk::billing::billing_mappings::insert_row($db,
|
|
billing_profile_id => $billing_profile_id,
|
|
contract_id => $contract_id,
|
|
product_id => $sip_account_product->{id},
|
|
);
|
|
|
|
my $contract_balance_id = NGCP::BulkProcessor::Dao::Trunk::billing::contract_balances::insert_row($db,
|
|
contract_id => $contract_id,
|
|
);
|
|
|
|
} else {
|
|
processing_info(threadid(),(scalar$exisiting_billing_voip_subscribers,getlogger(__PACKAGE__));
|
|
}
|
|
|
|
$db->db_commit();
|
|
};
|
|
my $err = $@;
|
|
if ($err) {
|
|
eval {
|
|
$db->db_rollback();
|
|
};
|
|
die($err);
|
|
}
|
|
|
|
print "blah";
|
|
}
|
|
destroy_dbs();
|
|
|
|
exit;
|