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

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (11)

просмотр истории страницы
{tip}*Время выполнения инструкции*: до 10 секунд на абонента,а так же до 1 минуты на инициализацию скрипта, общее время зависит от загруженности сервера и количества абонентов{tip}
{panel}
chroot /app/asr_billing/
python /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc /usr/lib/python2.7/site-packages/carbon_migration_scripts/import_csv_sync_balance.config.example /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/balance_01_06_16.csv sync_balance
{panel}chroot /app/asr_billing
{panel}
Вместо sync_balance.conf и balance_01_06_16.csv подставьте, соответственно, свой конфиг и .csv файл с данными.
python2.7 /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc {color:green}{*}sync_balance.conf{*}{color} {color:blue}{*}balances.csv{*}{color} sync_balance{panel}
Вместо *sync_balance.conf* и *balances.csv* укажите имена Ваших файлов: конфигурационного и с балансами для синхронизации
Синхронизация проводится по полю "Баланс", в соответствии со статьей по [миграции|CarbonBilling:Миграция абонентов [миграции|Миграция из CSV файла]
Пример конфигурационного файла для синхронизации балансов находится в контейнере /app/asr_billing/ в директории /usr/lib/python2.7/site-packages/carbon_migration_scripts/import_csv_sync_balance.config.example

h6. Для получения информации из биллинга Carbon Billing5 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт следующего содержания:
{code}
select
and a.deleted=0
{code}
h6. Для получения информации из биллинга Carbon Billing4 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт:
{code}
select contract_number, (DEBIT + OSTATOK - CREDIT)/10000000000.00 from users
where id<100000 and deleted=0 and end_user=1
{code}
h6. Пример sync_balance.conf
{code}
{
"fields": {
"Номер договора": 0,
"Баланс": 1
},

"options":{
"Разделитель csv": ";",
"Наследовать параметры от родительской папки": "True",
"Формат даты": "%d.%m.%Y",
"Следующее списание": "01.03.2015"
}
}
{code}
h1. Синхронизация балансов при миграции из Carbon Billing 4.
В случае, если между тестовой миграцией абонентов из Carbon Billing 4 и запуском Carbon Billing 5 в коммерческую эксплуатацию прошло некоторое время и балансы абонентов изменились, может потребоваться синхронизация балансов без перемиграции всей базы данных. В таком случае синхронизацию можно проводить по csv файлу, полученному при экспорте из [Carbon Billing4|CarbonBilling:Миграция абонентов из Carbon Billing 4]:
h6. 1) Получаем данные из биллинга 4й версии
Для примера:
IP биллинга 4-ой версии: 1.1.1.1
Пароль БД: servicem
{code}
chroot /app/asr_billing/
python /usr/lib/python2.7/site-packages/carbon_migration_scripts/crb4_csv_export/main.pyc 1.1.1.1 servicem
{code}
h6. 2) Создаем и открываем файл sync_balance.conf. В примере используется текстовый редактор *vim*. Можете использовать любой удобный для Вас текстовый редактор.
{code}
vim /root/sync_balance.conf
{code}
h6. 3)Записываем туда следующие данные без изменений и сохраняем файл(Поля в точно таком же порядке) :
{code}
{
"fields": {
"Номер договора": 3,
"Баланс": 9,
"Следующее списание": 69
},

"options":{
"Разделитель csv": ";",
"Наследовать параметры от родительской папки": "True",
"Формат даты": "%d.%m.%Y"
}
}
{code}
h6. 4)Запускаем синхронизацию балансов по файлу, полученному в пункте 1, /root/new_migration/csv_output/abonent.csv
{info}
В этом файле в 3 столбце будет номер договора, в 9 баланс, следующее списания в 69(отсчет идет с 0)
{info}
{code}
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
{code}