Настройка процессов с промокодами

Процесс Промокод

Обработчик:

ru.bgcrm.dyn.ufanet.promocode.PromocodeListener

Статусы:

  • "Новый" ID: 18

  • "Создан" ID: 188

  • "Продлен" ID: 612

  • "Активен" ID: 613

  • "Деактивирован" ID: 314

Переходы:

  • "Новый" → "Создан"

  • "Создан" → "Активен"

  • "Активен" → "Деактивирован"

  • "Деактивирован" → "Продлен"

  • "Продлен" → "Активен"

Параметры:

  • "Промокод" (text) ID: 5294

  • "Тип промокода" (list) ID: 5336

  • "Дата активации промокода" (date) ID: 5295

  • "Дата деактивации промокода" (date) ID: 5296

  • "Территориальное действие" (list) ID: 5337

  • "Услуга промокода" (multilist) ID: 5297

  • "Описание промокода для клиента" (text) ID: 5298

  • "Количество доступных активаций промокода" (number) ID: 5341

Конфигурация

  • processShowProcessLinks=1

  • requireFillParamIdsBeforeStatusSet.188=5294, 5295, 5297, 5298, 5341

Правила

  • По событию смены статуса в "Создан", если "Дата активации" равна текущей дате и заполнен параметр "Дата Деактивации" , то создается запланированная задача "Деактивировать промокод" с текущей даты и процесс переходит в статус "Активен".

  • По событию смены статуса в "Создан", если "Дата активации" - будущая дата, то создается запланированная задача "Активировать промокод".

  • По событию смены статуса в "Продлен", проходит проверка заполненности параметра "Дата Деактивации", и создается запланированная задача "Деактивировать промокод" и процесс переходит в статус "Активен".

Задачи:

  • ru.bgcrm.dyn.ufanet.promocode.task.ActivatePromocodeTask

  • ru.bgcrm.dyn.ufanet.promocode.task.DeactivatePromocodeTask

Описание

Процесс создать можно только с процеса 'Генератор промокодов'. Начальный статус “Новый”. Создатель процесса станет его инициатором.

Обязательные для заполнения параметры:

  • Промокод

  • Дата активации

  • Услуга промокода

  • Описание промокода для клиента

  • Количество доступных активаций промокода

Процесс Online-заявка на подключение.

интеграция с промокодами

Обработчик параметра 'Промокод':

ru.bgcrm.dyn.ufanet.promocode.PromocodeSupportProcessListener

В процесс Online-заявка добавлены следующие параметры:

  • "Обработка промокода" (text) ID: 5335

  • "Промокод" (text) ID: 5294

При заполнении поля Промокод (5294) процесса 'Online-заявка на поключение' подтягивается процесс 'промокод' через связку с процессом 'Активация промокода'.

Изменение поля 'Промокод' в Online-заявке инициирует отправку события в очередь сообщений erp.promocode.events, которое считывается обработчиком 'ru.bgcrm.dyn.ufanet.promocode.jms.ProcessingPromoHandler' и далее направляется в PromocodeController для поиска соответсвующего процесса.

Результат поиска и привязки процесса 'Промокод' отражается в параметре 'Обработка промокода'(5335).

Процесс Подключение услуг физ. лицу (Единый мастер).

интеграция с промокодами

Обработчик:

ru.bgcrm.dyn.ufanet.connect.ServiceConnectEventProcessor

При создании процесса Подключение услуг физ. лицу (Единый мастер) из процесса Online-заявка, автоматизирована автоматическая активация акции при наличии введенного клиентом промокода, так же копируется параметр 'Тип акции' (5338) из процесса 'Промокод' в процесс 'Подключение услуг', если присутствует связка с процессом 'Online-заявка' → 'Aктивация промокода'.

Конфиг 35 Акции

На данный момент в конфиг 35 'Акции' добавлено:

  1. возможность задавать фильтрацию по типу акции

    • promoaction.{@promoId}.parameters.1.object=process

    • promoaction.{@promoId}.parameters.1.id=5338

    • promoaction.{@promoId}.parameters.1.value=value1,value2

  2. возможность задавать услуги подключения через регулярное выражение, а не через перечисление списка услуг.

    1. при указании через перечисление списка услуг используется:

      • promoaction.{@promoId}.services=service1,service2

    2. при указании через регулярное выражение используется:

      • promoaction.{@promoId}.serviceRegexp=regex

Схема

Схема интеграции процесса Промокод в систему ERP