Небесный 26 Posted 2010-04-27 08:08:27 Share Posted 2010-04-27 08:08:27 Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску. Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус. Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. ))) Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. ))) И еще вылез вопрос: Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка. Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. ))) Спасибо за внимание товарищи-коллеги и заранее благодарю за советы. Link to post Share on other sites
madf 279 Posted 2010-04-27 10:22:13 Share Posted 2010-04-27 10:22:13 Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску. Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус. Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. ))) Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. ))) И еще вылез вопрос: Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка. Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. ))) Спасибо за внимание товарищи-коллеги и заранее благодарю за советы. По поводу текста - projects/stargazer/plugins/authorization/inetaccess.cpp:845: if ((*user)->property.passive.Get()) { SendError(sip, sport, protoVer, "Учетная запись заморожена"); return 0; } (кодировка - KOI8-R). Остальную часть текста пока не осмыслил. Link to post Share on other sites
madf 279 Posted 2010-04-27 10:34:09 Share Posted 2010-04-27 10:34:09 Про аренду: можно с помощью КК снимать у модемных юзеров по крону баблос со счета за аренду модема. Все никак не допилю сервисы Link to post Share on other sites
madf 279 Posted 2010-04-27 10:36:04 Share Posted 2010-04-27 10:36:04 Баблос считает модуль projects/stargazer/user.cpp:801 и projects/stargazer/user.cpp:897 (методы AddTraffStatU и AddTraffStatD). Link to post Share on other sites
madf 279 Posted 2010-04-27 10:39:00 Share Posted 2010-04-27 10:39:00 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Link to post Share on other sites
Небесный 26 Posted 2010-04-27 11:24:25 Author Share Posted 2010-04-27 11:24:25 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Так и не нашел столько строк у себя в файле. ))) В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк. А, забыл еще сказать 406 версия. Link to post Share on other sites
madf 279 Posted 2010-04-27 12:31:15 Share Posted 2010-04-27 12:31:15 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Так и не нашел столько строк у себя в файле. ))) В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк. А, забыл еще сказать 406 версия. Я для 2.407-rc1 указывал. Короче, это методы ProcessDayFeeSpread и ProcessDayFee. Link to post Share on other sites
madf 279 Posted 2010-04-27 12:34:41 Share Posted 2010-04-27 12:34:41 К стати: ~/Projects/STG/stg-2.406/projects/stargazer$ wc -l user.cpp 1486 user.cpp И в этой версии это строки 1302 и 1326. Специально для проверки слил с сайта и распаковал. Link to post Share on other sites
Небесный 26 Posted 2010-04-27 14:42:35 Author Share Posted 2010-04-27 14:42:35 Я уже нашел, не успел отписаться, откомпилил, бум смотреть. ))) В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию. Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы. Link to post Share on other sites
madf 279 Posted 2010-04-28 07:34:47 Share Posted 2010-04-28 07:34:47 Я уже нашел, не успел отписаться, откомпилил, бум смотреть. ))) В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию. Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы. Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Link to post Share on other sites
Небесный 26 Posted 2010-04-28 11:18:39 Author Share Posted 2010-04-28 11:18:39 Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять. Еще вопрос, я вижу в новой сборке в конфиге добавился раздел # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module cap_nf> # TCPPort - порт для TCP-соединений TCPPort = 42111 # UDPPort - порт для UDP-соединений UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". </Module> Порты какие для него выбирать, такие как и у авторизатора или какие-то другие? Не совсем понял, когда читал ман. Link to post Share on other sites
madf 279 Posted 2010-04-28 13:20:33 Share Posted 2010-04-28 13:20:33 Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять. Еще вопрос, я вижу в новой сборке в конфиге добавился раздел # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module cap_nf> # TCPPort - порт для TCP-соединений TCPPort = 42111 # UDPPort - порт для UDP-соединений UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". </Module> Порты какие для него выбирать, такие как и у авторизатора или какие-то другие? Не совсем понял, когда читал ман. При чем тут авторизатор? Тем более UDP-шный порт не сможет привязаться - авторизатор тоже по UDP работает, а TCP сделан для совместимости с nf-proxy (или как-то так) от Max. Порты выбирай любые свободные. Link to post Share on other sites
Небесный 26 Posted 2010-04-29 12:59:01 Author Share Posted 2010-04-29 12:59:01 Такой еще вопрос. Сделал реализацию шейпера через скрипты ОнКоннект и ОнДисконект, все работает прекрасно, если бы не одно НО. Когда когда человек стоит на пометке всегда ОнЛайн, у него скорость не меняется из-за того, что не сработали скрипты ОнДисконект, ОнКонект - скорость не изменилась. Или же когда человек сидит под авторизатором и в этом время Онлайн. Выход конечно есть, снять галочку, а потом ее поставить, при этом скрипты ОнДисконекта и ОнКонекта отработаются. У авторизатора отработаются только в том случае, если он отключится-подключится. Пришла такая идея в голову, в скрипт ОнЧендж всунуть, отработку скриптов, с каким-то условием, например: 1-е условие: если у человека стоит галка всегда онлайн - отработать скрипты ОнДисконект-ОнКонект.2-е условие: если человек подключен авторизатором, проверить его на живность - и потом отработать скрипты Link to post Share on other sites
madf 279 Posted 2010-04-30 07:12:16 Share Posted 2010-04-30 07:12:16 Правильно ли я понял что данные для шейпера хранятся в каком-то поле юзера, а настройка шейпера происходит при OnConnect/OnDisconnect? Тогда более правильное решение - анализировать второй параметр скрипта OnChange (название изменяемого параметра). И если изменяется шейп - вносить соответствующие коррективы. При этом, я думаю, более правильно было бы вынести управление шейпером в отдельные скрипты и вызывать их из OnConnect/OnDisconnect/OnChange, а не дергать OnDisconnect/OnConnect из OnChange. Link to post Share on other sites
Небесный 26 Posted 2010-04-30 07:55:14 Author Share Posted 2010-04-30 07:55:14 Тоже вариант. ))) Спасибо за идею. А, вообще 5 день стоит уже стар - полет нормальный !!! root@Shlyz:~# uname -aLinux Shlyz 2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux Link to post Share on other sites
DAnEq 5 Posted 2017-04-27 13:48:11 Share Posted 2017-04-27 13:48:11 добрый день.версия старгейзера 2.409 rc2тоже снимет плату при минусовом балансеfreebsd 9.3в папке projects/stargazer/ файла user.cpp нету.куда копать ? Link to post Share on other sites
madf 279 Posted 2017-04-27 15:10:52 Share Posted 2017-04-27 15:10:52 добрый день. версия старгейзера 2.409 rc2 тоже снимет плату при минусовом балансе Читать документацию. Вот эту: http://stg.net.ua/doc/ch04.html freebsd 9.3 в папке projects/stargazer/ файла user.cpp нету. куда копать ? Куда-куда, в Китай! С чего бы ему там быть? Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now