forum.bitel.ru http://forum.bitel.ru/ |
|
Пароль настатистику и инет одинаковым http://forum.bitel.ru/viewtopic.php?f=22&t=1689 |
Страница 1 из 1 |
Автор: | m2pod [ 05 дек 2008, 18:27 ] |
Заголовок сообщения: | Пароль настатистику и инет одинаковым |
сабж. есть ли возможность у новых договоров генерировать одинаковый пасс на стату и на инет? |
Автор: | m2pod [ 08 дек 2008, 17:43 ] |
Заголовок сообщения: | |
up |
Автор: | snark [ 08 дек 2008, 18:15 ] |
Заголовок сообщения: | Re: Пароль настатистику и инет одинаковым |
m2pod писал(а): есть ли возможность у новых договоров генерировать одинаковый пасс на стату и на инет?
т.е. вбивать пароль для dialup логина == паролю на статистику или наоборот? |
Автор: | m2pod [ 08 дек 2008, 18:38 ] |
Заголовок сообщения: | |
вобщем то без разницы, что одному присвоить второй, что второму первый, надо сделать так чтобы они были одинаковыми при создании договора |
Автор: | snark [ 08 дек 2008, 19:04 ] |
Заголовок сообщения: | |
m2pod писал(а): вобщем то без разницы, что одному присвоить второй, что второму первый, надо сделать так чтобы они были одинаковыми при создании договора
сделать скрипт на событие "договор создан" в котором написать что-то в духе: Код: import java.util.*; и получите желаемое import java.sql.*; DIALUP_MID = 1; cid = event.getContractID(); query = "UPDATE contract SET pswd = (SELECT pswd FROM user_login_" + DIALUP_MID + " WHERE cid = ?) WHERE id = ?"; ps = con.prepareStatement(query); ps.setInt(1, cid); ps.setInt(2, id); ps.executeUpdate(); ![]() внимание! код не проверен! но по идее должен работать ... |
Автор: | m2pod [ 09 дек 2008, 17:00 ] |
Заголовок сообщения: | |
Sourced file: inline evaluation of: ``import java.util.*; import java.sql.*; DIALUP_MID = 1; cid = event.get . . . '' : Undefined argument: id Sourced file: inline evaluation of: ``import java.util.*; import java.sql.*; DIALUP_MID = 1; cid = event.get . . . '' : Undefined argument: id : at Line: 11 : in file: inline evaluation of: ``import java.util.*; import java.sql.*; DIALUP_MID = 1; cid = event.get . . . '' : ( 2 , id ) at bsh.BSHArguments.getArguments(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:158) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:247) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:163) |
Автор: | snark [ 09 дек 2008, 17:20 ] |
Заголовок сообщения: | |
упс! ![]() Код: ps.setInt(2, id); а надо было:Код: ps.setInt(2, cid); надеюсь Вы меня простите за очепятку ... вот абсолютно рабочий вариант:Код: import java.util.*; 1-й запрос добавляет алиас == названию договора когда логин создается сразу при создании договора, из шаблона
import java.sql.*; RADIUS_MID = 1; cid = event.getContractID(); query = "INSERT INTO user_alias_" + RADIUS_MID + " SELECT ul.id, c.title FROM contract c LEFT JOIN user_login_" + RADIUS_MID + " ul ON (ul.cid = c.id) WHERE c.id = ?"; ps = con.prepareStatement(query); ps.setInt(1, cid); ps.executeUpdate(); query = "UPDATE contract SET pswd = (SELECT pswd FROM user_login_" + RADIUS_MID + " WHERE cid = ?) WHERE id = ?"; ps = con.prepareStatement(query); ps.setInt(1, cid); ps.setInt(2, cid); ps.executeUpdate(); 2-й запрос делает пароль на статистику == паролю логина/алиаса |
Автор: | m2pod [ 09 дек 2008, 17:28 ] |
Заголовок сообщения: | |
создание алиаса у нас делается так import bitel.billing.server.call.bean.Login; import bitel.billing.server.radius.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.script.event.*; import java.util.*; cid = event.getContractID(); cm = new ContractManager( con ); contract = cm.getContractByID( cid ); if( contract == null ) { error( "Contract not found!" ); return; } // Ищем пароль пользователя title = contract.getTitle(); rs = con.prepareStatement( "SELECT id FROM user_login_1 WHERE cid=?" ); rs.setInt( 1, cid ); rs = rs.executeQuery(); rs.first(); id = rs.getInt(1); //Обновление комментария com = con.prepareStatement("UPDATE contract SET comment = 'Новый' WHERE id=?"); com.setInt(1,cid); print(cid); com.executeUpdate(); //Комментарий insert = con.prepareStatement( "INSERT user_alias_1 (login_id, login_alias) VALUES (?,?)" ); insert.setInt(1, id ); insert.setString(2, "u"+title); insert.executeUpdate(); в коментарий дописывается "Новый" чтобы знать какие договора весят на стартовых тарифах. а за скриптик спасибо, работает ![]() |
Автор: | Администратор [ 09 дек 2008, 17:41 ] |
Заголовок сообщения: | |
To snark Допишите, если не трудно, пример в раздел: http://wiki.bgbilling.ru/index.php/%D0% ... 1.80.D0.B0 Как пример обработки события "Договор создан" вполне себе хороший и обучающий ) |
Автор: | snark [ 09 дек 2008, 17:47 ] |
Заголовок сообщения: | |
m2pod писал(а): создание алиаса у нас делается так
а теперь сравните с моим ... у меня всего один запрос в БД делается ![]() 2 Администратор обязательно! сейчас вот с микротиком разберусь и засяду писать статьи ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |