Бонусный сервер (БС) позволяет выполнять начисление и списание бонусов с ограниченным сроком действия (временем жизни) при возврате по чеку продажи.
Функционал реализован для системы лояльности Артикс Бонус. |
Для начисления бонусов по причине возврата для товаров, оплаченных бонусами, на БС по умолчанию создается группа backedGroup
, в которой хранятся данные об операциях при возврате бонусов со сроком действия 30 дней.
Группа, время жизни бонусов, а также вес операций из группы задаются в настройках БС в конфигурационном в файле /opt/artixcs-accounting-bonuses/application.properties
:
Название | Тип данных | Описание |
---|---|---|
accounting.logic.back.assetGroupId | строковый | Идентификатор группы задается произвольной строкой. По умолчаниюbackedGroup . |
accounting.logic.back.assetLifeTime | числовой | Время жизни (в днях) бонусов позволяет задать время, в течение которого возможно списание бонусов в данной группе. По умолчанию30 дней. |
accounting.logic.back.weight | числовой | Вес операций позволяет задать приоритет списания бонусов из группы: чем больше вес – тем выше приоритет. По умолчанию 100 . |
# идентификатор группы; если не указан, операции будут помещаться в defaultAssetGroupId accounting.logic.back.assetGroupId = backedGroup # время жизни (в днях) бонусов в данной группе accounting.logic.back.assetLifeTime = 30 # вес операций из данной группы accounting.logic.back.weight = 100 |
После изменения настроек будет автоматически создана новая группа, куда будут записываться данные о последующих операциях с бонусами. |
Начиная с версии #43 начисление бонусов при полном и частичном возврате производится для каждой из групп индивидуально. |
При полном возврате по чеку продажи списанные бонусы будут начислены в группу, из которой были списаны при покупке. Время жизни и вес групп при этом не учитываются.
При частичном возврате по чеку продажи списанные бонусы будут начислены в группы в порядке приоритета – от максимального времени жизни к минимальному. Для групп с одинаковой датой окончания порядок начисления бонусов определяется по весу группы – от минимального к максимальному. В первую очередь бонусы будут начислены в группу defaultAssetGroup
(с неограниченными сроком жизни и без веса).
Пусть есть группы:
Пример списания бонусов при покупке При покупке будет списано 770 бонусов в следующем порядке:
Пример начисления бонусов при частичном возврате При частичном возврате по чеку продажи будет начислено 720 бонусов в следующем порядке:
|
При возврате по чеку продажи бонусы, начисленные за покупку товаров, будут списаны из группы, в которую были помещены при покупке. Если начисленные бонусы уже были потрачены или сгорели, то они будут списаны в порядке приоритета списания (в зависимости от веса операций и времени жизни бонусов). В последнюю очередь бонусы будут списаны из группы defaultAssetGroup
.