Jump to content
Local
Небесный

STG & автоматическая заморозка

Recommended Posts

Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску.

Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус.

Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. )))

 

Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. )))

 

И еще вылез вопрос:

Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка.

Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. )))

 

Спасибо за внимание товарищи-коллеги и заранее благодарю за советы.

Share this post


Link to post
Share on other sites

Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску.

Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус.

Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. )))

 

Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. )))

 

И еще вылез вопрос:

Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка.

Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. )))

 

Спасибо за внимание товарищи-коллеги и заранее благодарю за советы.

По поводу текста - projects/stargazer/plugins/authorization/inetaccess.cpp:845:

if ((*user)->property.passive.Get())
   {
   SendError(sip, sport, protoVer, "Учетная запись заморожена");
   return 0;
   }

(кодировка - KOI8-R).

 

Остальную часть текста пока не осмыслил.

Share this post


Link to post
Share on other sites

Про аренду: можно с помощью КК снимать у модемных юзеров по крону баблос со счета за аренду модема.

Все никак не допилю сервисы :lol:

Share this post


Link to post
Share on other sites

Баблос считает модуль projects/stargazer/user.cpp:801 и projects/stargazer/user.cpp:897

(методы AddTraffStatU и AddTraffStatD).

Share this post


Link to post
Share on other sites

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял):

if (c > 0)
   property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");

 

Но это quick&dirty.

Share this post


Link to post
Share on other sites

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 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 версия.

Share this post


Link to post
Share on other sites

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 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.

Share this post


Link to post
Share on other sites

К стати:

~/Projects/STG/stg-2.406/projects/stargazer$ wc -l user.cpp
1486 user.cpp

И в этой версии это строки 1302 и 1326.

Специально для проверки слил с сайта и распаковал.

Share this post


Link to post
Share on other sites

Я уже нашел, не успел отписаться, откомпилил, бум смотреть. )))

В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию.

Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы.

Share this post


Link to post
Share on other sites

Я уже нашел, не успел отписаться, откомпилил, бум смотреть. )))

В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию.

Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы.

Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор.

В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic.

Да, сам конфигуратор эту либу не использует - руки не доходят его переписать.

Share this post


Link to post
Share on other sites

Вроде кто-то что-то когда-то писал на 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>

 

Порты какие для него выбирать, такие как и у авторизатора или какие-то другие? Не совсем понял, когда читал ман.

Share this post


Link to post
Share on other sites

Вроде кто-то что-то когда-то писал на 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.

Порты выбирай любые свободные.

Share this post


Link to post
Share on other sites

Такой еще вопрос.

Сделал реализацию шейпера через скрипты ОнКоннект и ОнДисконект, все работает прекрасно, если бы не одно НО.

 

Когда когда человек стоит на пометке всегда ОнЛайн, у него скорость не меняется из-за того, что не сработали скрипты ОнДисконект, ОнКонект - скорость не изменилась. Или же когда человек сидит под авторизатором и в этом время Онлайн.

Выход конечно есть, снять галочку, а потом ее поставить, при этом скрипты ОнДисконекта и ОнКонекта отработаются.

У авторизатора отработаются только в том случае, если он отключится-подключится.

 

Пришла такая идея в голову, в скрипт ОнЧендж всунуть, отработку скриптов, с каким-то условием, например:

 

1-е условие: если у человека стоит галка всегда онлайн - отработать скрипты ОнДисконект-ОнКонект.

2-е условие: если человек подключен авторизатором, проверить его на живность - и потом отработать скрипты

Share this post


Link to post
Share on other sites

Правильно ли я понял что данные для шейпера хранятся в каком-то поле юзера, а настройка шейпера происходит при OnConnect/OnDisconnect?

Тогда более правильное решение - анализировать второй параметр скрипта OnChange (название изменяемого параметра). И если изменяется шейп - вносить соответствующие коррективы. При этом, я думаю, более правильно было бы вынести управление шейпером в отдельные скрипты и вызывать их из OnConnect/OnDisconnect/OnChange, а не дергать OnDisconnect/OnConnect из OnChange.

Share this post


Link to post
Share on other sites

Тоже вариант. ))) Спасибо за идею.

 

А, вообще 5 день стоит уже стар - полет нормальный !!!

 

root@Shlyz:~# uname -a

Linux Shlyz 2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux

Share this post


Link to post
Share on other sites

добрый день.
версия старгейзера 2.409 rc2
тоже снимет плату при минусовом балансе
freebsd 9.3
в папке projects/stargazer/ файла user.cpp нету.
куда копать ?

Share this post


Link to post
Share on other sites

добрый день.

версия старгейзера 2.409 rc2

тоже снимет плату при минусовом балансе

Читать документацию. Вот эту: http://stg.net.ua/doc/ch04.html

 

freebsd 9.3

в папке projects/stargazer/ файла user.cpp нету.

куда копать ?

Куда-куда, в Китай! С чего бы ему там быть?

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×