Package ru.bitel.bgbilling.modules.cerbercrypt.server.task

# Class GraduallySubscription

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
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, error, moduleId, setup, taskId, taskSetup`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GraduallySubscription()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `executeTask()`
  `String`
  `getDescription()`
  `protected boolean`
  `initTask()`

  ### Methods inherited from class ru.bitel.bgbilling.kernel.task.server.TaskBase

  `getError, getFinishTime, getModuleId, getOperatingTime, getPriority, getStartTime, getTaskSetup, getTaskStatus, getWorkingTime, initModuleId, initTask, putMyselfIntoTable, removeMyselfFromTable, run, runLocal, setExecutingTime, setModuleId, setPriority, startTask, taskParameters, to`

  ### Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

  `error, error, error, getLogger, logError, logError`

  ### 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 String getDescription()
    Specified by:
      `getDescription` in class `ru.bitel.bgbilling.kernel.task.server.TaskBase`

  - ### initTask

    protected boolean initTask()
    Specified by:
      `initTask` in class `ru.bitel.bgbilling.kernel.task.server.TaskBase`

  - ### executeTask

    protected void executeTask()
    Specified by:
      `executeTask` in class `ru.bitel.bgbilling.kernel.task.server.TaskBase`