Название: Вопрос по разработке доп.плюшек.... Отправлено: Dimasik от 07 Декабря 2016, 00:49:12 Вопрос к Стасу(переавторизируй уже меня в скайпе), но может кто-то тоже знает:
вот к примеру меняем мы напрямую в БД какието параметры юзера - разрешаем ему доступ или услугу подключаем или параметры услуги меняем. а надо ли запускать какие-то процедуры в биллинге(которые на перле) для того чтобы эти изменения начали работать? что-то типа перезапуск ядра или команда перечитать настройки? или изменений в БД достаточно а биллинг сам периодически(какой период?) перечитывает данные и засылает обновления в саттелиты? Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: Tooreagen от 07 Декабря 2016, 08:32:59 Менял услугу на другую, с той же стоимостью. Проблем не было.
Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: Pa4ka от 07 Декабря 2016, 09:17:18 изменения напрямую в БД делал по услугам
perl noserver.pl перечитывает их постоянно и все верно работает Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: Dimasik от 07 Декабря 2016, 16:43:08 т.е. достаточно менять данные в БД и биллинг сам все подхватит?
Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: Pa4ka от 07 Декабря 2016, 17:31:48 т.е. достаточно менять данные в БД и биллинг сам все подхватит? зависит от того что менятьНазвание: Re: Вопрос по разработке доп.плюшек.... Отправлено: Dimasik от 07 Декабря 2016, 18:43:07 т.е. достаточно менять данные в БД и биллинг сам все подхватит? зависит от того что менятьНазвание: Re: Вопрос по разработке доп.плюшек.... Отправлено: Pa4ka от 08 Декабря 2016, 08:52:50 т.е. достаточно менять данные в БД и биллинг сам все подхватит? зависит от того что менятьНазвание: Re: Вопрос по разработке доп.плюшек.... Отправлено: Dimasik от 08 Декабря 2016, 12:04:47 т.е. достаточно менять данные в БД и биллинг сам все подхватит? зависит от того что менятьНазвание: Re: Вопрос по разработке доп.плюшек.... Отправлено: Tooreagen от 09 Декабря 2016, 10:01:33 т.е. достаточно менять данные в БД и биллинг сам все подхватит? зависит от того что менятьПочему бы это не сделать стандартным способом? Слишком много таблиц затронет данная процедура. Тут я думаю нужно вам код изучать, что и как происходит во время добавления клиента. Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: pala от 09 Декабря 2016, 19:52:59 Здравствуйте, делали подобный скрипт для перевода людей с Абилса на Nodeny. Используются запросы к базе слейдущего характера: (Фрагмент скрипта касающийся запросов)
######Создаем пользователя $STHnodeny = $DBnodeny->prepare("insert into users (name, passwd, grp, contract, contract_date, block_if_limit, fio, discount) values ('Логин', AES_ENCRYPT('пароль', 'Слово шифрования по дефолту из мануала - hardpass'), 1, 'Номер договора', unix_timestamp('дата контракта'), 1, 'ФИО абонента', 'Скидка')"); $STHnodeny->execute; #### Ищем его UID по созданому нами логину $STHnodeny = $DBnodeny->prepare("select id from users where name='Логин'"); $STHnodeny->execute; #Заполняем доп поля $STHnodeny = $DBnodeny->prepare("insert into data0 (uid, _adr_house, _adr_room, _adr_telefon, и т. д.) values ('Uid абона', 'Адрес дома', 'Квартира', 'Телефон' 'и т.д.' ) $STHnodeny->execute; ####Cоздаем запись такого вида для нашого ЮЗВЕРЯ - необходимо что-бы считался трафик $STHnodeny = $DBnodeny->prepare("INSERT INTO users_trf SET uid=Uid абона"); $STHnodeny->execute; Переводим ip нашего деятеля-админа от чеево имени будет все это крутится в формат для записи в mysql my $ipaddr = $ENV{'REMOTE_ADDR'}; my $int_ip = unpack('N', pack('C4', split /\./, $ipaddr)); ### Пишем события в историю. В нашем случае пишется просто Transfer from Abills system; $STHnodeny = $DBnodeny->prepare("INSERT INTO pays SET category=Категория по которой будет идти обработка билингом. (Можно посмотреть в разделе платежи нажав кнопку Info. Меняется в зависимости от типа записи), mid=Uid абона, time=UNIX_TIMESTAMP(), creator_id=2, reason=1, comment='Transfer from Abills system', creator_ip=$int_ip"); $STHnodeny->execute; ### Вешаем услугу с названием Transfer 100. В нашем случае 100 мб за 0 грн. (Пока менеджеры не сделают коректировки чтоб народ не отваливался от инета) $STHnodeny = $DBnodeny->prepare("INSERT INTO users_services SET uid=Uid абонента, service_id=7, next_service_id=7, tm_start=UNIX_TIMESTAMP(), tm_end=UNIX_TIMESTAMP(), pay_id='0', tags=',inet,speed,'"); $STHnodeny->execute; Как то так. Косяков не наблюдалось Все работает корректно. Может вам чем-то и пригодится. По поводу добавления оплат в Mysql вы можете почитать тут хттп_две точки_два слеша app.nodeny-plus.com.ua/docs/develop/calls.pm.html Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: sever от 14 Декабря 2016, 19:28:47 Здравствуйте, делали подобный скрипт для перевода людей с Абилса на Nodeny. Используются запросы к базе слейдущего характера: (Фрагмент скрипта касающийся запросов) А полный скрипт можно? это на перле? Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: pala от 18 Декабря 2016, 20:08:04 Здравствуйте, делали подобный скрипт для перевода людей с Абилса на Nodeny. Используются запросы к базе слейдущего характера: (Фрагмент скрипта касающийся запросов) А полный скрипт можно? это на перле? Да написано все на перле. Впринципе могу сбросить. Логика всей работы и сообственно говоря процеса перевода. Есть полностью рабочий сателит на Абилсе, тип авторизации PPPoE. Так же на этом сателите поднят АПАЧ. Есть Влан 10 по которому авторизируются клиенты. И допустим мы решаем сегодня переводить какой-то определенный район Мы загоняем этот 10 влан на тот район и ставим его нативным на клиентов. При попытке зайти на любой http ресурс их редиректит на АПАЧ того же самого сателита. он видит надпись Типо бла бла Перенастройте ваше оборудование на DHCP и инструкции как это делать и кнопка ОЗНАКОМЛЕН. При нажатии на эту кнопку Его автоматом отрубает из Абилса с тэгом "отключено" и создает аккаунт на NoDeny+ И переносит все данные абона. Также ставит ему тарифный План С абонплатой в 0 грн. Что-бы до момента денежных коректировок у него не пропал интернет. Также Настроено логирование. Видно какой абонент нажал на кнопку И все ли хорошо в двух билингах по поводу этого абонента. И как только в лог-файле появились записи, мы сходу меняем влан с 10 на Влан сателита Nodeny. Абонент переведен)) Если Вам данная реализация пойдет то сброшу в ЛС. Или Вы хотите всю базу скопом перевести ? Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: sever от 19 Декабря 2016, 09:04:13 Если Вам данная реализация пойдет то сброшу в ЛС. Или Вы хотите всю базу скопом перевести ? Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: pala от 19 Декабря 2016, 11:55:48 Мы переносим только аккаунт, всю историю по аккаунту переносить не стали. Все старые платежи и история остаются на абиллсе.
Название: Re: Вопрос по разработке доп.плюшек.... Отправлено: sever от 28 Декабря 2016, 13:46:08 Как переносил я абонентов из abills в nodeny+
Т.к. в базе abills uid абонентов пересекались с id в базе нодени, то для новых абонентов я выставлял id+5000 Ибо в abills была привязка id к платежам, так 10 абонент в абиллс имеет id 5010 в nodeny. В abills улицы были назначены по группам, в nodeny мне не нужно было чтобы каждая улица записывалась в отдельную группу, поэтому используется функция select_street - выбор улиц из групп abills и сопоставление их с _adr_street в nodeny. Выборка по балансу также есть, но в nodeny его не заносил, не было необходимости. Код: #!/usr/bin/env bash |