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, error, moduleId, setup, taskId, taskSetup
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
     
    protected boolean
     

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

    getError, getFinishTime, getLogger, getModuleId, getOperatingTime, getPriority, getStartTime, getTaskSetup, getTaskStatus, getWorkingTime, initModuleId, initTask, putMyselfIntoTable, removeMyselfFromTable, run, runLocal, setExecutingTime, setModuleId, setPriority, 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 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