Добавление группы и снятие в зависимости от статуса
Материал из BiTel WiKi
(Различия между версиями)
Skyb (Обсуждение | вклад) |
Skyb (Обсуждение | вклад) |
||
Строка 45: | Строка 45: | ||
import bitel.billing.server.contract.bean.*; | import bitel.billing.server.contract.bean.*; | ||
- | |||
- | |||
import bitel.billing.common.TimeUtils; | import bitel.billing.common.TimeUtils; | ||
Строка 58: | Строка 56: | ||
{ | { | ||
Connection con = connectionSet3.getConnection(); | Connection con = connectionSet3.getConnection(); | ||
- | + | ContractParameterManager cpm = new ContractParameterManager( con ); | |
int cid; | int cid; | ||
Строка 72: | Строка 70: | ||
int contract_status = status.getStatus(); | int contract_status = status.getStatus(); | ||
- | if (contract_status == | + | if (contract_status == 3) |
{ | { | ||
- | + | cpm.setGroup( cid, 0 ); | |
} | } | ||
- | if (contract_status == | + | if (contract_status == 0) |
{ | { | ||
- | + | cpm.unsetGroup( cid, 0 ); | |
}; | }; | ||
Версия 04:02, 15 сентября 2011
После перехода на 5 версию были убраны скрипты для реализации дебитовых абонплат, в них было удобно смотреть количество человек которые были отключены(неплательщики) они просто заносились в группу, а при оплате группа убиралась. Был написан простенький скрипт для добавление таких пользователей в группу, создается скрипт и вешается на событие статус договора изменен
import java.sql.*; import java.util.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.tariff.*; import bitel.billing.server.util.*; import bitel.billing.common.KernelConst; cpu = new ContractParamUtils( con ); cid = event.getContractID(); DateNow = new GregorianCalendar(); contract = new ContractManager(con).getContractByID(cid); contract_status_manager = new ContractStatusManager(con); status = contract_status_manager.getStatus(cid, DateNow); contract_status = status.getStatus(); if (contract_status != KernelConst.CONTRACT_STATUS_ACTIVE) { cpu.setGroup( cid, 0 );//где 0 это код группы } if (contract_status == KernelConst.CONTRACT_STATUS_ACTIVE) { cpu.unsetGroup( cid, 0 ); };
Для 5.2
package ru.skyb.scripts.behavior; import ru.bitel.bgbilling.kernel.event.Event; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import java.sql.*; import java.util.*; import java.util.Date; import bitel.billing.server.contract.bean.*; import bitel.billing.common.TimeUtils; public class groupe extends EventScriptBase { @Override public void onEvent( Event event1, Setup setup2, ConnectionSet connectionSet3 ) throws Exception { Connection con = connectionSet3.getConnection(); ContractParameterManager cpm = new ContractParameterManager( con ); int cid; cid = event1.getContractId(); GregorianCalendar nowDate = new GregorianCalendar(); Date dateNow = TimeUtils.convertCalendarToDate(nowDate); ContractStatusManager contract_status_manager = new ContractStatusManager(con); ContractStatus status = contract_status_manager.getStatus(cid, dateNow); if (status == null) { return; } int contract_status = status.getStatus(); if (contract_status == 3) { cpm.setGroup( cid, 0 ); } if (contract_status == 0) { cpm.unsetGroup( cid, 0 ); }; } }
--Skyb 03:54, 15 сентября 2011 (UTC)