Skip to content

Реализовать стратегию активации ключей. #6

@VorontsovSA

Description

@VorontsovSA
  1. Регистрация продукта
    host/api/insertMachine/?
    key=%key%&
    product=%product%&
    machine=%machine%&
    forced_activation=%forced_activation%

    Параметры

    • key
    • product
    • machine
    • forced_activation

    Ответы:

    • SUCCESS (всё ок. Пара <ключ, продукт> найдена. Код тачки добавлен)
    • WRONG KEY (Код продукта верный, но ключ не найден)
    • WRONG PRODUCT (Код продукта не найден, остальное даже не стали проверять)
    • NOSLOTS (количество связей >= amount)

Сценарий активации

  1. Запуск Индикатора/Советника (далее ИС). Пользователь запускает MT. ИС отправляет в бекенд <код продукта, код оборудования>. Бекенд проверяет наличие связки <ключ продукта, код продукта, код оборудования>. Если такая связь есть, то ИС продолжает работу, иначе 2.
  2. Выводится форма ввода ключа активации.
    Если в форме ввода пользователь жмет кнопку Отмена, то ИС завершает работу либо минимизируется. Если пользователь вводит ключ активации и нажимает кнопку Отправить, то ИС отправляет в бекенд <ключ продукта, код продукта, код оборудования>. Если найдена пара <ключ продукта, код продукта>, то производится проверка количества связей.
    1. Если количество связей < amount, то создается связь <ключ продукта, код продукта, код оборудования>.
    2. Если количество связей >= amount, то связь не создается, пользователю сообщается что ключ активирован на максимальном количестве машин, если он хочет продолжить активацию данного компьютера, то автоматически будет удалена активация ключа на компьютере, на котором ИС активирован наиболее давно. Если пользователь согласен, то он нажимает кнопку Продолжить и ИС отправляет<ключ продукта, код продукта, код оборудования, forced activation>. Добавляется новая связь <ключ продукта, код продукта, код оборудования> и удаляется наиболее старая связь <ключ продукта, код продукта, код оборудования>. Если пользователь жмет кнопку Отмена, то ИС завершает работу либо минимизируется.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions