tom
|
|
« Ответ #45 : 14 Июня 2018, 23:54:13 » |
|
Причина в тому, що коли в коментах або в ФІО є " - то скрипт завершає роботу без помилок з повідомленням "ок".
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #46 : 17 Июня 2018, 00:35:36 » |
|
Стас, я правильно видалити клієнта з бази, з усима його хвостами?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #47 : 17 Июня 2018, 15:01:36 » |
|
Смотри /usr/local/nodeny/web/user_del.pl или /usr/local/nodeny/web/_user_del.pl
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #48 : 17 Июня 2018, 15:59:46 » |
|
Db->do( "DELETE FROM mac_uid WHERE uid=?", $uid ); те що потрібно було ) якось не додумався. Просто скрипт переноса, додає до клієнта ще один мак, "INSERT INTO mac_uid SET uid=?, mac=?, ip=0, device_mac='', device_port=0, oneconnect=2, `time`=0 ". "ON DUPLICATE KEY UPDATE uid=?, oneconnect=2", $uid, $mac, $uid якщо при оновленні в нього змінилася мак адреса. Тому ліпше буде видалити всі маки клієнта, а потім додавати ) Звичайно можна апдейт робити, але тоді тре визначати, чи то новий клієнт чи оновлення учотки. Простіше DELETE INSERT
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #49 : 21 Июня 2018, 22:42:05 » |
|
Підкажіть, куди дивитися. У клієнта недостатньо коштів і його послуга заморожена, а учотка заблокована. Роблю йому тимчасовий платіж - учотка розблоковується, послуга залишається бути замороженою. Відповідно він авторизовується, на заглушку не форвардить, але шейп не виставляє. Пніть в якому напрямку копати?
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #50 : 22 Июня 2018, 02:27:44 » |
|
Вроді розібрався. Просто робили тимчасовий платіж на суму заборгованованості, без урахування вартості послуги. Тому в кабінеті показувало достатньо коштів, а от послуга не могла стартонути, бо для неї вже не вистачало коштів.. От така петрушка
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #51 : 24 Июня 2018, 00:51:43 » |
|
Вітаю, допоможіть розібратися з ситуацією. Приклад. У клієнта на балансі -25 грн. Тарифний план підключений 200 грн. Відповідно абонента заблоковано, послуга заморожена, абона форвардить на заглушку - все добре. Телефонує клієнт, включіть мені послугу, бо капець тре, завтра оплачу, сам не вмію користуватися. Колцентр робить тимчасовий платіж на 25 грн, адже згідно особистого кабінету саме такої суми не вистачає.
Ну і доступ клієнту видкриваєтья, з табилці ipset ip видаляється, але послуга не розморожується, а відповідно в accel не отримує швидкість. І виходить клієнт працює на анлімі, оськільки коли в accel пусті данні в шейпері, то він взагалі не шейпить.. Але діло не в шейпі, а втому що послуга надається, але не розморожується.
Звичайно можна довго вчити колцентр користуватися калькулятором, або робити тимчасовий через особистий кабінет клієнта (але може потрібно тимчасовий на більший термін).
Що порадите? Якось фіксити баланс, що відображається, з урахування послуги, що заморозилась? Чи дрочити колцентр, щоб не втикали?
|
|
|
Записан
|
|
|
|
Pa4ka
|
|
« Ответ #52 : 25 Июня 2018, 09:16:57 » |
|
Вітаю, допоможіть розібратися з ситуацією. Приклад. У клієнта на балансі -25 грн. Тарифний план підключений 200 грн. Відповідно абонента заблоковано, послуга заморожена, абона форвардить на заглушку - все добре. Телефонує клієнт, включіть мені послугу, бо капець тре, завтра оплачу, сам не вмію користуватися. Колцентр робить тимчасовий платіж на 25 грн, адже згідно особистого кабінету саме такої суми не вистачає.
Ну і доступ клієнту видкриваєтья, з табилці ipset ip видаляється, але послуга не розморожується, а відповідно в accel не отримує швидкість. І виходить клієнт працює на анлімі, оськільки коли в accel пусті данні в шейпері, то він взагалі не шейпить.. Але діло не в шейпі, а втому що послуга надається, але не розморожується.
Звичайно можна довго вчити колцентр користуватися калькулятором, або робити тимчасовий через особистий кабінет клієнта (але може потрібно тимчасовий на більший термін).
Що порадите? Якось фіксити баланс, що відображається, з урахування послуги, що заморозилась? Чи дрочити колцентр, щоб не втикали?
По перше не повинен він видалятись з ipset якщо послуга заморожена. По друге поясніть колцентру, що для того щоб щось у клієнта працювало потрібно щоб була підключена послуга, а не заморожена і для її підключення повинно бути достатньо коштів на балансі.
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #53 : 26 Июня 2018, 02:38:33 » |
|
Якщо у абона стоїть, що він не заблокований, то чому має ip не видалятися з ipset? Ну я вже зрозумів, що колцентру будемо закуповувати калькулятори ) Ну в абона то працює, бо доступ відкрито, і видало швидкість по тарифу, або дефолтну. Ось принцип роботи модуля СоА ht tp://forum.nodeny.com.ua/index.php?topic=3060.msg32878#msg32878 тут про заморожену послугу нічого не йдеться
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #54 : 26 Июня 2018, 19:17:52 » |
|
расширение функционала любого программного продукта всегда ведет к таким вот багам
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #55 : 27 Июня 2018, 03:29:52 » |
|
основне питання - це розширення функціоналу, чи допрацювання білінга, чи баг )))
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #56 : 27 Июня 2018, 19:04:26 » |
|
Все таки я рахую, що це баг, або я якось не вірно налаштував.
Ситуація. Підключили абона, включили тимчасовий на 3 дні, протягом 3 днів він не заплатив, з нього знялося за 3 днів. Потім він сплачує лише вартість тарифного плана. Але коштів мало б не вистачати. Але оськільки послуга заморожена - то доступ йому відкривається. Лише не видається швидкість по тарифу, а видається дефолтна..
Хтось знає як це фіксити?
|
|
|
Записан
|
|
|
|
Redmen
NoDeny
Ветеран
Карма: 62
Offline
Сообщений: 546
Подяку в КАРМУ
|
|
« Ответ #57 : 28 Июня 2018, 00:56:01 » |
|
Це не баг, а функціонал, все залежить від налаштувань і забаганок! А взагалі то потрібно більше інформації! Як побудоване ядро мережі (все в одному чи з НАСами), які НАСи, як налаштовані послуги і модуль послуг?
Крім того якщо абону дали кредит, то в цей момент, повноцінно підключаеться послуга і гроші списуються в відповідному розмірі, а коли кредит завершено = абона блокує, і коли абон погасив заборгованість = доступ розблоковується
|
|
|
Записан
|
|
|
|
tom
|
|
« Ответ #58 : 28 Июня 2018, 01:12:44 » |
|
Це не баг, а функціонал, все залежить від налаштувань і забаганок! А взагалі то потрібно більше інформації! Як побудоване ядро мережі (все в одному чи з НАСами), які НАСи, як налаштовані послуги і модуль послуг?
Крім того якщо абону дали кредит, то в цей момент, повноцінно підключаеться послуга і гроші списуються в відповідному розмірі, а коли кредит завершено = абона блокує, і коли абон погасив заборгованість = доступ розблоковується
В тому то весь і прикол, що доступ розблоковується, послуга не може розморозитися, бо не вистачає коштів. Я то про ядро можу розповісти, але не думаю, що це повязно з насами, чи ще чимось іншим. Все відпрацьовується вірно, згідно логіки і налаштувань. Яку я бачу проблему, що в білінгку включається доступ коли послуга заморожена. А це не мало б бути, якщо тут звичайно не закладався якийсь інший сенс і логіка. Ідея з замороженою послугою, дуже прикольна. Знову ж таки, можливо я її не вірно приміняю, або не вірно розумію. Як я бачу логіку дії з налаштуваннями послуги з режимом "стандарт" та "Не активувати послугу поки не стане достатньо коштів". -Клієнту видається кредит і активується послуга з цього дня. -Якщо клієнт заплатив все вчасно, то просто послуга активна 30 днів і знімається вартість послуги, по завершенню кредиту. -Якщо через 30 днів на балансі клієнта достатньо коштів - повторна активація. (доречі, тут може бути така ж проблема, що при тарифу 200 грн, на рахунку буде 100 і послуга заморозиться, а доступ клієнту буде відкрито) -Якщо клієнт не заплатив до строку закінчення кредиту, послуга закінчується і знімається кошти пропорційно. -Коли клієнт робить оплату = Вартість послуги+Вартість використаних днів по кредиту - активується послуга з цього дня і активна 30 діб. Але саме в останньому пункті проблема, якщо клієнт заплатив суму меншу.. В нього виходить вічне користування на дефолтній швидкості (1мбіт/с) Але не в цьому проблема, проблема в тому, що йому відкривається доступ коли послуга заморожена і він сплатив лише борг і не сплатив вартість послуги..
|
|
« Последнее редактирование: 28 Июня 2018, 01:49:41 от tom »
|
Записан
|
|
|
|
tom
|
|
« Ответ #59 : 29 Июня 2018, 04:36:25 » |
|
Дякую, всим хто допоміг. (Макс, Ваня, Дмитро) Вирішується ця проблема дописуванням процедури radreply А, саме потрібно змінити код на щось подібне. Де ця умова вирішальна " IF usr_id IS NULL OR usr_id = 0 OR u_state = 'off' OR ISNULL(add_attr) THEN" Тобто - якщо не знайдений користувач у звязці з таблиці mac_uid, або абонент ВІДКЛЮЧЕНИЙ (з цим теж були труднощі), або ж відсутній сервіс з радіус атрибутами (ось тут і вирішальна ситуйовіна, що якщо навіть білінг поставе клієнта на включений, він всерівно буде заблокований, доки не активується послуга)
SELECT NULL, login, 'Framed-IP-Address', usr_ip, '='; IF usr_id IS NULL OR usr_id = 0 OR u_state = 'off' OR ISNULL(add_attr) THEN SELECT NULL, login, 'L4-Redirect', '1', '='; SELECT NULL, login, 'L4-Redirect-ipset', 'cap', '='; SELECT NULL, login, 'Filter-Id', '1024/1024', '='; ELSE attr_loop: WHILE TRUE DO SELECT strSplit(add_attr, '\n', i) INTO line; IF LENGTH(line) = 0 OR i > 20 THEN LEAVE attr_loop; END IF; IF line LIKE '%+=%' THEN SELECT NULL,login,strSplit(line, '+=', 1),strSplit(line, '+=', 2),'+='; ELSEIF line LIKE '%=%' THEN SELECT NULL,login,strSplit(line, '=', 1),strSplit(line, '=', 2),'='; END IF; SET i = i + 1; END WHILE; END IF;
Ну і ще варто додати, якщо абони знайдений в mac_uid
SELECT radius_attr INTO add_attr FROM users_services WHERE uid=usr_id AND tags LIKE '%,inet,%' LIMIT 1; SELECT state INTO u_state FROM users WHERE id=usr_id;
|
|
|
Записан
|
|
|
|
|