Не могу разобраться, как с евента получить тариф и дальше работать с ним, простой скрипт, везде deprecated.
Код:
package ru.skyb.scripts.behavior;
import java.sql.Connection;
import java.util.Calendar;
import java.util.Date;
import bitel.billing.server.contract.bean.ContractManager;
import bitel.billing.server.contract.bean.ContractParameterManager;
import bitel.billing.server.contract.bean.ContractTariff;
import bitel.billing.server.contract.bean.ContractTariffManager;
import ru.bitel.bgbilling.kernel.contract.api.common.bean.ContractTariffGroup;
import ru.bitel.bgbilling.kernel.contract.api.server.bean.ContractTariffDao;
import ru.bitel.bgbilling.kernel.contract.api.server.bean.ContractTariffGroupDao;
import ru.bitel.bgbilling.kernel.event.Event;
import ru.bitel.bgbilling.kernel.event.events.ContractTariffUpdateEvent;
import ru.bitel.bgbilling.kernel.module.common.bean.User;
import ru.bitel.bgbilling.kernel.module.server.bean.UserManager;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
public class ChangeTariffFuture
extends EventScriptBase<ContractTariffUpdateEvent>
{
@Override
public void onEvent( ContractTariffUpdateEvent event, Setup setup, ConnectionSet set )
throws Exception
{
Connection con = set.getConnection();
Calendar c = Calendar.getInstance();
Calendar fourMounth = Calendar.getInstance();
fourMounth.add(Calendar.MONTH, 4);
c.add(Calendar.MONTH, 4);
c.add(Calendar.DAY_OF_MONTH, -1);
int cid = event.getContractId();
User user = new UserManager(con).getUsersMap().get(event.getUserId());
ContractTariffGroupDao ctgd = new ContractTariffGroupDao (con);
ContractTariffGroup ctg = new ContractTariffGroup();
ContractTariff ct = event.getContractTariff();
ContractTariff ctn = new ContractTariff();
ContractTariffManager ctm = new ContractTariffManager(con);
if (ct.getTariffPlanId() == 144 && ct.getDate2() == null)
{
ct.setContractId(cid);
ct.setComment("Зкрылся в " + new Date() + " пользоввателем " + user.getName());
ct.setDate2(c);
ctm.updateContractTariff(ct);
ctn.setContractId(cid);
ctn.setDate1(fourMounth);
ctn.setPos(ct.getPos()+1);
ctn.setComment("Установлен в " + new Date() + " пользоввателем " + user.getName());
ctn.setTariffPlanId(120);
ctm.updateContractTariff(ctn);
ctg.setContractId(cid);
ctg.setComment("Установлен в " + new Date() + " пользоввателем " + user.getName());
ctg.setDateFrom(fourMounth.getTime());
ctg.setTariffGroupId(1);
ctgd.update(ctg);
}
}
}
Все поля
Код:
ContractTariff ct = event.getContractTariff();
ContractTariff ctn = new ContractTariff();
ContractTariffManager ctm = new ContractTariffManager(con);
if (ct.getTariffPlanId() == 144 && ct.getDate2() == null)
{
ct.setContractId(cid);
ct.setComment("Зкрылся в " + new Date() + " пользоввателем " + user.getName());
ct.setDate2(c);
ctm.updateContractTariff(ct);
ctn.setContractId(cid);
ctn.setDate1(fourMounth);
ctn.setPos(ct.getPos()+1);
ctn.setComment("Установлен в " + new Date() + " пользоввателем " + user.getName());
ctn.setTariffPlanId(120);
ctm.updateContractTariff(ctn);
помечены как deprecated, если использовать ru.bitel.bgbilling.kernel.contract.api.common.bean.ContractTariff, то в в классе ru.bitel.bgbilling.kernel.event.events.ContractTariffUpdateEvent нет этого метода. Так же не понятно как на заменненый bitel.billing.server.contract.bean.ContractTariffManager, классом ru.bitel.bgbilling.kernel.contract.api.server.bean.ContractTariffDao использовать, там уже идет ru.bitel.bgbilling.kernel.contract.api.common.bean.ContractTariff которого нет в евенте. ЧЯДНТ ?
Код:
Сервер: вер. 6.2.931 / 14.08.2015 18:01:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
_________________
Код:
Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegramСтиль программирования - пьяный мастерстер
Разработка мобильных приложений