Class GraduallySubscription
java.lang.Object
ru.bitel.bgbilling.kernel.task.server.TaskBase
ru.bitel.bgbilling.modules.cerbercrypt.server.task.GraduallySubscription
- All Implemented Interfaces:
java.lang.Runnable
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
Constructors Constructor Description GraduallySubscription()
-
Method Summary
Modifier and Type Method Description protected void
executeTask()
java.lang.String
getDescription()
protected boolean
initTask()
Methods inherited from class ru.bitel.bgbilling.kernel.task.server.TaskBase
getFinishTime, getModuleId, getOperatingTime, getStartTime, getTaskSetup, getTaskStatus, getWorkingTime, initModuleId, initTask, putMyselfIntoTable, removeMyselfFromTable, run, runLocal, setExecutingTime, setModuleId, startTask
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
GraduallySubscription
public GraduallySubscription()
-
-
Method Details
-
getDescription
public java.lang.String 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
-