Синхронизация балансов

Skip to end of metadata
Go to start of metadata
Время выполнения инструкции: до 10 секунд на абонента,а так же до 1 минуты на инициализацию скрипта, общее время зависит от загруженности сервера и количества абонентов

chroot /app/asr_billing

python2.7 /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc sync_balance.conf balances.csv sync_balance

Вместо sync_balance.conf и balances.csv укажите имена Ваших файлов: конфигурационного и с балансами для синхронизации
Синхронизация проводится по полю "Баланс", в соответствии со статьей по миграции
Пример конфигурационного файла для синхронизации балансов находится в контейнере /app/asr_billing/ в директории /usr/lib/python2.7/site-packages/carbon_migration_scripts/import_csv_sync_balance.config.example

Для получения информации из биллинга Carbon Billing5 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт:
select
     distinct
     A.CONTRACT_NUMBER as "Договор",
     round((aa.ostatok+aa.debit-aa.credit) / cast((10000000000) as numeric(18,5)), 2) as "Текущий баланс"
from ABONENTS A
left join ADMIN_ACCOUNTS AA on AA.ID=A.ACCOUNT_ID
where A.IS_FOLDER=0
and a.deleted=0
Для получения информации из биллинга Carbon Billing4 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт:
select contract_number, (DEBIT + OSTATOK - CREDIT)/10000000000.00  from users
       where id<100000 and deleted=0 and end_user=1
Пример sync_balance.conf
{
	"fields": {
		"Номер договора": 0,
		"Баланс": 1
	},

	"options":{
		"Разделитель csv": ";",
		"Наследовать параметры от родительской папки": "True",
		"Формат даты": "%d.%m.%Y",
		"Следующее списание": "01.03.2015"
	}
}

Синхронизация балансов при миграции из Carbon Billing 4.

В случае, если между тестовой миграцией абонентов из Carbon Billing 4 и запуском Carbon Billing 5 в коммерческую эксплуатацию прошло некоторое время и балансы абонентов изменились, может потребоваться синхронизация балансов без перемиграции всей базы данных. В таком случае синхронизацию можно проводить по csv файлу, полученному при экспорте из Carbon Billing4:

1) Получаем данные из биллинга 4й версии

Для примера:
IP биллинга 4-ой версии: 1.1.1.1
Пароль БД: servicem

chroot /app/asr_billing/
python /usr/lib/python2.7/site-packages/carbon_migration_scripts/crb4_csv_export/main.pyc 1.1.1.1 servicem
2) Создаем и открываем файл sync_balance.conf. В примере используется текстовый редактор vim. Можете использовать любой удобный для Вас текстовый редактор.
vim /root/sync_balance.conf
3)Записываем туда следующие данные без изменений и сохраняем файл(Поля в точно таком же порядке) :
{
	"fields": {
		"Номер договора": 3,
		"Баланс": 9,
                "Следующее списание": 69  
	},

	"options":{
		"Разделитель csv": ";",
		"Наследовать параметры от родительской папки": "True",
		"Формат даты": "%d.%m.%Y"
	}
} 
4)Запускаем синхронизацию балансов по файлу, полученному в пункте 1, /root/new_migration/csv_output/abonent.csv
В этом файле в 3 столбце будет номер договора, в 9 баланс, следующее списания в 69(отсчет идет с 0)
python2.7 /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc /root/sync_balance.conf /root/new_migration/csv_output/abonent.csv sync_balance
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.