Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« : 14 Июня 2011, 09:43:25 » |
|
Обнаружилась постоянно приветствующая проблема - не отключается интернет для пользователей в следующих условиях:
Если в текущем месяце у пользователя есть действующий тарифный план и состояние авторизации "Всегда онлайн", то при установке на следующий месяц тарифного плана "Заблокирован" с активным пунктом "доступ должен быть заблокирован всегда" при наступлении следующего месяца биллинг его не отключает, пункт Доступ: остается в состоянии Разрешен.
Конечно действие "Операции" - "Проверка" таких пользователей выявляет, но хотелось бы чтобы поправили поведение биллинга для пользователей "Всегда онлайн".
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #1 : 14 Июня 2011, 10:19:36 » |
|
он и будет разрешен всегда. "доступ заблокирован всегда" дает напоминание о таких юзерах
|
|
|
Записан
|
|
|
|
Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« Ответ #2 : 14 Июня 2011, 10:28:02 » |
|
он и будет разрешен всегда. "доступ заблокирован всегда" дает напоминание о таких юзерах
не совсем логичное поведение. данный пункт (состояние авторизации) подразумевает необходимо ли авторизировать пользователя или нет, но никак не подразумевает что его необходимо перестать обрабатывать в биллинге (включать/отключать).
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #3 : 14 Июня 2011, 10:30:28 » |
|
Да когда же вы ... научитесь искать по форуму!? Это же просто ... за этот мес. ты уже ТРЕТИЙ кто с этим "Заблокирован" удивляется...
|
|
|
Записан
|
|
|
|
Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« Ответ #4 : 14 Июня 2011, 11:34:25 » |
|
Да когда же вы ... научитесь искать по форуму!? Это же просто ... за этот мес. ты уже ТРЕТИЙ кто с этим "Заблокирован" удивляется...
из тонны споров выковыряно решение-костыль от автора: http://forum.nodeny.com.ua/index.php?topic=426.msg4353#msg4353
|
|
|
Записан
|
|
|
|
Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« Ответ #5 : 14 Июня 2011, 11:55:27 » |
|
Костыль но на Perl`e #!/usr/bin/perl
$VER=50.32;
use DBI;
$Main_config='/usr/local/nodeny/nodeny.cfg.pl'; $call_pl='/usr/local/nodeny/web/calls.pl';
require $Main_config; require $call_pl;
$DSN="DBI:mysql:database=$db_name;host=$db_server;mysql_connect_timeout=10"; $dbh=DBI->connect($DSN,$user,$pw,{PrintError=>1}); $dbh->do("SET character_set_client=cp1251"); $dbh->do("SET character_set_connection=cp1251"); $dbh->do("SET character_set_results=cp1251");
$sth=$dbh->prepare("update users set state='off' where state='on' AND paket in (select id from plans2 where flags REGEXP ('k'))"); $sth->execute; $sth=$dbh->prepare("INSERT INTO pays SET admin_id=0, admin_ip=0, office=0 ,mid=0,cash=0,type=50,category=410,reason='',coment='Пользователи в заблокированных тарифах отключены',time=UNIX_TIMESTAMP()"); $sth->execute;
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #6 : 14 Июня 2011, 12:56:15 » |
|
Я так понимаю, что сочинять костыли это мода такая? Сделайте же себе ТРИГГЕР и не ипите мозг... Это ж надо на два запроса колотить скрипт, потом его куда-то вешать.
|
|
|
Записан
|
|
|
|
Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« Ответ #7 : 14 Июня 2011, 13:09:00 » |
|
Я так понимаю, что сочинять костыли это мода такая? Сделайте же себе ТРИГГЕР и не ипите мозг... Это ж надо на два запроса колотить скрипт, потом его куда-то вешать.
это форум, где люди обмениваются информацией а не только возмущаются - выкладывайте свое решение?
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #8 : 14 Июня 2011, 13:19:58 » |
|
mysql> help create trigger; Там все написано.
|
|
|
Записан
|
|
|
|
Sork
NoDeny
Пользователь
Карма: 3
Offline
Сообщений: 29
Nodeny 50.32.
|
|
« Ответ #9 : 14 Июня 2011, 14:35:27 » |
|
и зачем лезть в тему если нет желания помочь ... решение через триггер: DROP TRIGGER IF EXISTS `SetStateOff`; DELIMITER | CREATE TRIGGER SetStateOff BEFORE UPDATE ON users FOR EACH ROW BEGIN IF (NEW.paket in (select id from plans2 where flags REGEXP ('k')) ) THEN SET NEW.state = 'off'; END IF;
END | DELIMITER ;
|
|
« Последнее редактирование: 14 Июня 2011, 14:41:14 от Sork »
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #10 : 14 Июня 2011, 14:49:50 » |
|
Критика -- верный способ заставить человека ДУМАТЬ! Я послал в правильном направлении?
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #11 : 15 Июня 2011, 08:30:42 » |
|
отличное решение триггером. плюсик в репу
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #12 : 15 Июня 2011, 09:17:40 » |
|
Да тут половину "проблем" можно решить триггерами. У меня многое на них "висит".
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #13 : 05 Июля 2011, 14:23:52 » |
|
подскажите как сделать наоборот? select id from plans2 where flags REGEXP ('k')) чтобы выборка была без флага k ! не катит.
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #14 : 05 Июля 2011, 16:22:09 » |
|
select id from plans2 where flags NOT REGEXP ('k')
|
|
|
Записан
|
|
|
|
|