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 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