Class GraduallySubscription
java.lang.Object
ru.bitel.bgbilling.kernel.task.server.TaskBase
ru.bitel.bgbilling.modules.cerbercrypt.server.task.GraduallySubscription
public class GraduallySubscription
extends ru.bitel.bgbilling.kernel.task.server.TaskBase
Задача "постепенное продление подписок пакетов".
Запускать ежедневно, ДО задачи Синхронайзера.
При продлении пакета (или канала, это решает активатор) с правым бесконечным
периодом мы указываем не какую-то там отдалённую дату, а границу месяц от
начала (период настраивается). Для этого мы постоянно ведём лог какую правую
дату на данный момент мы считаем актуальной.
Имеется GraduallySubscriptionManager (и отдельная таблица в БД), который и
ведёт привязку настоящей даты2 (та, которая на самом деле отправлена в
систему) к текущему пакету.
Этот таск служит для того, чтобы за день до наступления этой даты её
сдвигать снова на этот же период.
Для чего? Существующее стандартное поведение:
(-)открываем пакет с закрытой датой закрытия — так и отсылаем;
(-)открываем пакет с бесконечностью — ставим большой правый период.
Встаёт задача: как-то решить недостаток от продления пакета в бесконечность и
последующим отключением пользователем самого себя от системы с целью
пользоваться картой вечно. Сократить халявное пользование до разумного периода.
Локальная цель была: именно для системы CTI/NordE обеспечить защиту от хитрых
клиентов, стало быть придумываем костыль. Хотя в целом система универсальная.
-
Field Summary
Fields inherited from class ru.bitel.bgbilling.kernel.task.server.TaskBase
defaultDescription, log, moduleId, setup, STATUS_FINISHED, STATUS_FINISHED_INTERRUPTED, STATUS_NOTSTARTED, STATUS_WORKING, taskId, taskSetup
-
Constructor Summary
-
Method Summary
Methods inherited from class ru.bitel.bgbilling.kernel.task.server.TaskBase
getFinishTime, getModuleId, getOperatingTime, getPriority, getStartTime, getTaskSetup, getTaskStatus, getWorkingTime, initModuleId, initTask, putMyselfIntoTable, removeMyselfFromTable, run, runLocal, setExecutingTime, setModuleId, setPriority, startTask
-
Constructor Details
-
GraduallySubscription
public GraduallySubscription()
-
-
Method Details
-
getDescription
- Specified by:
getDescription
in classru.bitel.bgbilling.kernel.task.server.TaskBase
-
initTask
protected boolean initTask()- Specified by:
initTask
in classru.bitel.bgbilling.kernel.task.server.TaskBase
-
executeTask
protected void executeTask()- Specified by:
executeTask
in classru.bitel.bgbilling.kernel.task.server.TaskBase
-