- All Implemented Interfaces:
- java.lang.Runnable
public class GraduallySubscription
extends ru.bitel.bgbilling.kernel.task.server.TaskBase
Задача "постепенное продление подписок пакетов".
Запускать ежедневно, ДО задачи Синхронайзера.
При продлении пакета (или канала, это решает активатор) с правым бесконечным
периодом мы указываем не какую-то там отдалённую дату, а границу месяц от
начала (период настраивается). Для этого мы постоянно ведём лог какую правую
дату на данный момент мы считаем актуальной.
Имеется GraduallySubscriptionManager (и отдельная таблица в БД), который и
ведёт привязку настоящей даты2 (та, которая на самом деле отправлена в
систему) к текущему пакету.
Этот таск служит для того, чтобы за день до наступления этой даты её
сдвигать снова на этот же период.
Для чего? Существующее стандартное поведение:
(-)открываем пакет с закрытой датой закрытия — так и отсылаем;
(-)открываем пакет с бесконечностью — ставим большой правый период.
Встаёт задача: как-то решить недостаток от продления пакета в бесконечность и
последующим отключением пользователем самого себя от системы с целью
пользоваться картой вечно. Сократить халявное пользование до разумного периода.
Локальная цель была: именно для системы CTI/NordE обеспечить защиту от хитрых
клиентов, стало быть придумываем костыль. Хотя в целом система универсальная.