external:pro_bonus:98_dop:30_potrat

Это старая версия документа!


Загрузка потрат по счетам в БД

Может быть полезно при переходе с другой системы лояльности в том случае, когда от потрат гостя зависит текущий уровень его скидки или бонуса.
В данном контексте «потраты» - это сумма оплаченных им денег в заказах, где была применена лояльность. Это не сумма списанных с его счёта бонусов.

Для ProBonus существует возможность загрузить в БД такую информацию напрямую, SQL-запросом. Обычно это нужно сделать один раз, сразу после переноса списка счетов (карт через импорт из файла).
Особенности:

  • все потраты будут внесены в базу сегодняшним числом;
  • если при импорте будут строки с идентификаторами, которых в базе нет - потраты по данной строке не будут импортированы;

Пример SQL-скрипта для импорта потрат:

declare @identifier_id int = null
declare @account_id int = null	
declare @date datetime = GETDATE()

select @identifier_id = [id], @account_id = [account_id] from [identifier] where ([is_deleted] = 0) and ([is_sys_code] = 0) and ([code] = '100002')
if @identifier_id is not null and @account_id is not null begin
	insert into [dbo].[transaction] ([account_id], [identifier_id], [date], [sum_3])
	values (@account_id, @identifier_id, @date, 654300)
end
select @identifier_id = [id], @account_id = [account_id] from [identifier] where ([is_deleted] = 0) and ([is_sys_code] = 0) and ([code] = '100003')
if @identifier_id is not null and @account_id is not null begin
	insert into [dbo].[transaction] ([account_id], [identifier_id], [date], [sum_3])
	values (@account_id, @identifier_id, @date, 369700)
end

В данном примере:

  • на счёт, у которого привязана карта с номером 100002, привязывается потрата в 6543 руб (в запросе указано 654300 - в копейках);
  • на счёт, у которого привязана карта с номером 100003, привязывается потрата в 3697 руб (в запросе указано 369700 - в копейках);
  • external/pro_bonus/98_dop/30_potrat.1698656507.txt.gz
  • Последнее изменение: 2023/10/30 12:01
  • Алексей Коробов