forum.bitel.ru
http://forum.bitel.ru/

Заведение абонента SQL-запросами
http://forum.bitel.ru/viewtopic.php?f=22&t=9861
Страница 1 из 1

Автор:  oldb0y [ 23 окт 2014, 15:33 ]
Заголовок сообщения:  Заведение абонента SQL-запросами

Сомнивался куда следует разместить тему, если выбрал не удачный раздел прошу модераторов перенести в соответствующий.

Есть необходимость перенести базу абонентов из старой биллинг-системы. Наиболее удобное и быстрое решение это генерация SQL-запросов. Ниже я приведу данные запросы и комментарии к ним, и прошу помочь/проверить что мог не учесть.

Завожу договоры:
Код:
INSERT INTO `contract` (`id`, `gr`, `title`, `title_pattern_id`, `pswd`, `date1`, `date2`, `mode`, `closesumma`, `pgid`, `pfid`, `fc`, `comment`, `del`, `scid`, `sub_list`, `sub_mode`, `status`, `status_date`, `last_tariff_change`, `crm_customer_id`) VALUES
(6, 3, 'NP140001', 1, '123456', '2014-10-23', NULL, 1, '0.00', 2, 0, 0, 'Абонент 1', 0, -1, '', 0, 0, '2014-10-23', NULL, 0),
(7, 1, 'NP140002', 0, '654321', '2014-10-23', NULL, 1, '0.00', 2, 0, 0, 'Абонент 2', 0, -1, '', 0, 0, '2014-10-23', NULL, 0);


Заполняю их параметрами:
Код:
INSERT INTO `contract_parameter_type_1` (`cid`, `pid`, `val`) VALUES
(6, 22, 'Абонент 1'),
(7, 21, 'Абонент 2');


Завожу для них сервисы:
Код:
INSERT INTO `inet_serv_4` (`id`, `parentId`, `contractId`, `typeId`, `deviceId`, `interfaceId`, `vlan`, `identifier`, `macAddress`, `ipResourceId`, `ipResourceSubscriptionId`, `addressFrom`, `addressTo`, `login`, `password`, `dateFrom`, `dateTo`, `contractObjectId`, `status`, `sessionCountLimit`, `deviceState`, `accessCode`, `config`, `deviceOptions`, `comment`, `title`) VALUES
(715,0,6,4,1,-1,-1,NULL,NULL,16,37,'HEXIP','HEXIP','ab1','markovka','2014-10-23',NULL,0,0,1,1,0,NULL,'','','PPPoE: ab1'),
(716,0,7,4,1,-1,-1,NULL,NULL,17,38,'HEXIP','HEXIP','ab2','baklagan','2014-10-23',NULL,0,0,1,1,0,NULL,'','','PPPoE: ab2');


Сейчас разбираю сложную часть - тарифы, через время дополню. Сложно по причине, что большая часть абонентов индивидуальщики (разные абон.платы, скорости, включенный трафик).

Пока выполняю все верно?
Какие-нибудь дополнительные действия необходимо производить?

Автор:  Phricker [ 23 окт 2014, 15:51 ]
Заголовок сообщения:  Re: Заведение абонента SQL-запросами

oldb0y писал(а):
Наиболее быстрое решение

Возможно, но не самое правильное.

Чем не угодили примеры конвертеров на вики?

Автор:  barguzin2 [ 23 окт 2014, 15:57 ]
Заголовок сообщения:  Re: Заведение абонента SQL-запросами

1) Помимо параметров желательно сразу историю параметров заполнить. Помимо parameter_type_1 нужно учесть что другие тоже есть. С имейлами и телефонами немного сложнее.
2) Добавить статусы нужно и историю для них.
3) Само собой модули надо.
4) Про баланс входящий не забываем.
5) В таблице сервисов не HEXIP хранится, а BINIP - UNHEX(CONV(INET_ATON('aaa.bbb.ccc.ddd'), 10, 16)
6) Также нужно подписки на IP-адреса заполнить и интерфейсы.

На время переноса в старом биллинге добавить в таблицу абонентов поле cid, куда помещать ID договора в BG - пригодится.
Сервисы все-таки рекомендовал бы через API перетащить. Чуть сложнее может, зато всё корректно по полочкам разложится.

Персональные тарифы я делаю так - добавляю базовый, например, Интернет-Безлимитный, в котором по нулям все виды трафика, а в персональный добавляю только абонку и скорость. Тут надо посмотреть что как в базе заносится и также наплодить, меняя только значения.

С какой системы перетаскиваешь ?

Автор:  ok-2004 [ 24 окт 2014, 07:26 ]
Заголовок сообщения:  Re: Заведение абонента SQL-запросами

У меня была похожая тема лет 6 назад, перетаскивал юзеров с TrafficInspector на БЖБ.
Сделал так :
1.Скачал тестовую версию БЖБ со всеми базовыми модулями.
2.Развернул, создал всевозможные группы договоров, тарифные планы, шаблоны,справочники.
3. Создал несколько юзеров руками, у каждого свой тариф, группа.
3.Снял Mysqldump c базы, diff-ом сравнил с оригиналом, по различиям заскриптовал добавление новых договоров.
4.Накатил на базу файл различий.

Автор:  oldb0y [ 18 ноя 2014, 19:54 ]
Заголовок сообщения:  Re: Заведение абонента SQL-запросами

Phricker
И впрямь конвертер помог и вдохновил, написать код, который кашерно(через API) заводит договора и сервисы на него. Остался один тонкий момент, захотят ли эти самые сервисы работать :)

ok-2004
barguzin2

Спасибо, перед очередными тестами пройдусь по вашим спискам!

Автор:  skyb [ 19 ноя 2014, 05:53 ]
Заголовок сообщения:  Re: Заведение абонента SQL-запросами

oldb0y писал(а):
Phricker
И впрямь конвертер помог и вдохновил, написать код, который кашерно(через API) заводит договора и сервисы на него. Остался один тонкий момент, захотят ли эти самые сервисы работать :)

а почему бы не захотели, рестарт всех биллинговых служб на всякий сделайте и все

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/