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

Перенос договоров из других биллинговых систем
http://forum.bitel.ru/viewtopic.php?f=19&t=1451
Страница 1 из 1

Автор:  Corwin [ 12 сен 2008, 22:12 ]
Заголовок сообщения:  Перенос договоров из других биллинговых систем

Хорошо бы в тему документации "Договор" включить примерное описание процесса переноса пачки договоров из других биллинговых систем. Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?

Уж очень не хочется руками переносить несколько сотен договоров.

Автор:  lda [ 14 сен 2008, 22:37 ]
Заголовок сообщения: 

Сервер и клиент биллинга общаются по протоколу HTTP.
Посмотреть что и как передаеться можно либо в логах сервера либо в логах клиента(если клиент запущен в режиме debug)

Я делал так:
1. Производим одну операцию в биллинге. Например создание договора по шаблону.
2. Смотрим в логах последний запрос. Смотрим какие передавались папаметры.
3. Формируем такой же HTTP запрос из сторонней программы или скрипта (я перенос договоров делал из перла).

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

Автор:  Corwin [ 15 сен 2008, 02:33 ]
Заголовок сообщения: 

Спасибо. Попробую. Думаю, должно получиться.

Автор:  snark [ 11 янв 2009, 20:36 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

Corwin писал(а):
Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?
в своем скрипте переноса юзеров я использовал следующие запросы:
Код:
-- получение данных из шаблона
SELECT id, closesumma, groups, mode, pgid, pfid, fc, tgid, scrid FROM contract_pattern WHERE (groups & (1 << ?)) > 0

-- получение списка услуг по шаблону
SELECT sid FROM contract_pattern_services WHERE pid = ? ORDER BY sid

-- создание договора
INSERT INTO contract (gr, title, pswd, date1, closesumma, mode, pgid, pfid, fc) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

-- добавление услуг договору
INSERT INTO contract_service (cid, sid, date1) VALUES (?, ?, ?)

-- установка тарифа договора
INSERT INTO contract_tariff (cid, tpid, date1) VALUES (?, ?, ?)

-- привязка группы тарифов к договору
INSERT INTO contract_tariff_group (cid, date1, gid) VALUES (?, ?, ?)

-- привязка скрипта поведения к договору
INSERT INTO contract_script (cid, date1, script_id) VALUES (?, ?, ?)

-- установка баланса для договора
-- (ставится summa1, т.к. она получается из депозита пред. биллинга)
INSERT INTO contract_balance (yy, mm, cid, summa1, summa2, summa3, summa4) SELECT YEAR(?), MONTH(?), ?, ?, 0, 0, 0

-- создание логина для договора
INSERT INTO user_login_1 (cid, login, pswd, date1, session) SELECT ?, IF(MAX(login) IS NULL, 0, MAX(login) + 1), ?, ?, ? FROM user_login_1

-- создание алиаса для договора
INSERT INTO user_alias_1 SELECT ul.id, c.title FROM contract AS c LEFT JOIN user_login_1 AS ul ON (ul.cid = c.id) WHERE c.id = ?
все перенеслось без проблем :) при этом половина данных для заполнения была взята именно из шаблонов ...

Автор:  stark [ 12 янв 2009, 17:00 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

Corwin писал(а):
Хорошо бы в тему документации "Договор" включить примерное описание процесса переноса пачки договоров из других биллинговых систем. Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?

Уж очень не хочется руками переносить несколько сотен договоров.


Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..

Автор:  Феанор [ 20 апр 2009, 15:41 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

snark писал(а):
в своем скрипте переноса юзеров я использовал следующие запросы:

спасибо! помогло сэкономить Н-ное количество времени на поиск связей между таблицами и куда что вносить.

snark писал(а):
[code]-- добавление услуг договору
INSERT INTO contract_service (cid, sid, date1) VALUES (?, ?, ?)

разбираюсь с версией 4.6 - в ней я так понимаю надо сначала добавить модуль, а потом уже услугу через этот модуль подключать? не знаю как раньше было, но сейчас сделали так и работает =)
ну и поэтому соответственно разрешенную услугу пришлось добавлять уже в модуль. допустим у меня вышло для добавления услуги абонентской платы через модуль абан плат пришлось вставить
insert into npay_service_object_2 (cid,sid,col,date1) values ('?','?','?','?')

Автор:  Администратор [ 20 апр 2009, 16:32 ]
Заголовок сообщения: 

Да, в 4.6 нужно сначала в contract_module добавить модуль.. И абонку уже в npay_service_object.

Автор:  dale [ 01 июл 2009, 13:35 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

stark писал(а):
Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..


Если не трудно прошу выложить.

Автор:  stark [ 01 июл 2009, 14:09 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

dale писал(а):
stark писал(а):
Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..


Если не трудно прошу выложить.


так уже есть
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B5%D0%BC

Автор:  Fate [ 19 окт 2010, 18:00 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

Для 5.1 никто не писал конвертер?..

Автор:  snark [ 19 окт 2010, 20:09 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

Fate писал(а):
Для 5.1 никто не писал конвертер?..

поставить версию БГБ под которую написан конвертер, конвертнуть и потом обновить БГБ - чем не выход?

Автор:  stark [ 20 окт 2010, 10:45 ]
Заголовок сообщения:  Re: Перенос договоров из других биллинговых систем

snark писал(а):
Fate писал(а):
Для 5.1 никто не писал конвертер?..

поставить версию БГБ под которую написан конвертер, конвертнуть и потом обновить БГБ - чем не выход?


проще допилить конвертер

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