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.
bulk-processor/lib/NGCP/BulkProcessor/Projects/t/test_provision.pl

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;