forum.bitel.ru http://forum.bitel.ru/ |
|
Лимит на новогодние праздники http://forum.bitel.ru/viewtopic.php?f=22&t=7582 |
Страница 1 из 1 |
Автор: | borin [ 31 дек 2012, 18:41 ] |
Заголовок сообщения: | Лимит на новогодние праздники |
Всех с наступающим 2013 годом! Есть абоненты которые не успели заплатить за интернет, и буквально через несколько часов билинг их отключит, и вот хотелось бы подарить им отсрочку платежа на новогодние каникулы, но как сделать массово изменение лимита не знаю, подскажите может кто сталкивался с такой задачей? |
Автор: | Phricker [ 31 дек 2012, 19:14 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Вас тоже с наступающим viewtopic.php?f=22&t=7576 |
Автор: | borin [ 31 дек 2012, 19:34 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Спасибо!!! Почти то что нужно, осталось придумать как договора перебрать ) |
Автор: | Phricker [ 31 дек 2012, 20:07 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
в глобальных скриптах поведения Код: import bitel.billing.server.util.*; import bitel.billing.server.contract.bean.*; import bitel.billing.common.*; import bitel.billing.server.admin.bean.*; import ru.bitel.common.*; import java.math.*; import java.sql.*; import java.util.*; public void main( setup, con, conSlave ) { String query = "SELECT id FROM contract WHERE gr&(1<<3) > 0"; PreparedStatement ps = con.prepareStatement( query ); ResultSet rs = ps.executeQuery(); while ( rs.next() ) { cid = rs.getInt(1); lm = new LimitManager(con); summa = new BigDecimal(2000); days = 3; lm.lowLimit(cid, summa, days); } } Изменяет лимиты для всех договоров в группе договоров с ID = 3 |
Автор: | Phricker [ 31 дек 2012, 20:13 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Можно и как то так Код: import bitel.billing.server.util.*; import bitel.billing.server.contract.bean.*; import bitel.billing.common.*; import bitel.billing.server.admin.bean.*; import ru.bitel.common.*; import java.math.*; import java.sql.*; import java.util.*; public void main( setup, con, conSlave ) { String query = "SELECT id FROM contract WHERE gr&(1<<3) > 0"; PreparedStatement ps = con.prepareStatement( query ); ResultSet rs = ps.executeQuery(); while ( rs.next() ) { cid = rs.getInt(1); lm = new LimitManager(con); summa = new BigDecimal(-2000); days = 3; lm.updateContractLimit(User.USER_SERVER, summa, cid, "Временное изменение лимита на новогодние праздники", "3"); } } Но в этом случае не создается автоматом задача восстановления лимита. Может она и есть где в API но я что то не найду так сразу ![]() |
Автор: | borin [ 31 дек 2012, 21:10 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Спасибо огромное, получилось, теперь все будут включены, воспользовался первым способом, немного модернизировав запрос. Код: SELECT `id` FROM `contract` WHERE `gr` = 1 AND `status` = 0
|
Автор: | snark [ 08 янв 2013, 09:26 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
borin писал(а): воспользовался первым способом, немного модернизировав запрос. Код: SELECT `id` FROM `contract` WHERE `gr` = 1 AND `status` = 0 borin писал(а): Код: WHERE `gr` = 1 Группы надо искать так, как было показано выше, т.е. так: Код: SELECT ... FROM contract WHERE gr&(1<<цифровой_id_искомой_группы) > 0 Иначе запросто найдете не то, что ищите. |
Автор: | dimOn [ 08 янв 2013, 12:08 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Ну если группа всегда одна то норм будет и так |
Автор: | zavndw [ 19 фев 2014, 10:56 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
как переделать на 6.0, копипаст не вкатил и лог Код: ScriptInstance - Invoke method limit : main
|
Автор: | Phricker [ 19 фев 2014, 11:03 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
Так новый год закончился же ![]() Динкод. Я правда нифига не помню когда и зачем я его писал. Код: package ru.ellcom.test;
import java.math.BigDecimal; import java.sql.*; import java.util.*; import ru.bitel.bgbilling.kernel.module.common.bean.User; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import bitel.billing.common.TimeUtils; import bitel.billing.server.contract.bean.Contract; import bitel.billing.server.contract.bean.ContractManager; import bitel.billing.server.contract.bean.LimitManager; public class changeLimit extends GlobalScriptBase { @Override public void execute( Setup setup, ConnectionSet connectionSet ) throws Exception { print("Start"); Connection con = connectionSet.getConnection(); ContractManager cm = new ContractManager(con); LimitManager lm = new LimitManager(con); long timeStart = System.currentTimeMillis(); String query = " SELECT c.id FROM contract AS c " + " WHERE c.title LIKE '301%' AND c.closesumma=0 "; java.sql.PreparedStatement ps = con.prepareStatement( query ); ResultSet rs = ps.executeQuery(); while ( rs.next() ) { int cid = rs.getInt(1); Contract contract = cm.getContractById(cid); if(contract.getFc() == 1) { print(cid); BigDecimal limit = new BigDecimal(-50000); lm.updateContractLimit(User.USER_SERVER, limit, cid, "Лимит установленный для кредитовых телефонов", ""); } if(contract.getFc() == 0) { print(cid); BigDecimal limit = new BigDecimal(-10000); lm.updateContractLimit(User.USER_SERVER, limit, cid, "Лимит установленный для кредитовых телефонов", ""); } } rs.close(); ps.close(); long timeEnd = System.currentTimeMillis(); print( "Process time: " + (timeEnd - timeStart)/1000 + " s." ); } } |
Автор: | zavndw [ 19 фев 2014, 11:13 ] |
Заголовок сообщения: | Re: Лимит на новогодние праздники |
спс осталось понять что куда:) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |