Files
portal/app/tests/Frontend
Дмитрий 7d3ed2f6eb feat(реклама): Часть 6 — списание по факту показов + клиентский отчёт по показам
CampaignImpressionCharger: списание с рекламного кошелька за фактически
показанные показы (показано×120/1000, дельта от уже списанного, идемпотентно
по external_key yandex-imp:{id}:{billable}), режет по оплаченному, статус
completed при достижении оплаченного; bcmath, 6 boundary-тестов. Клиентский
отчёт CampaignReportDialog переведён с недельного бюджета на показы
(оплачено/показано/частота/потрачено); статусы queued/completed в списке и
отчёте. Маржа/yandex_cost клиенту не видны. Бэкенд 105/105, фронт 104/104.

Отложено до Части 4 (нужен Директ): джоб, тянущий фактические показы из отчёта
Директа и зовущий CampaignImpressionCharger; campaigns.suspend при стопе;
переделка админ-маржи с наценки-% на реальный yandex_cost_rub.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-26 16:07:19 +03:00
..
@
2026-07-18 12:29:04 +03:00
@
2026-07-18 15:20:44 +03:00
@
2026-07-18 14:29:18 +03:00
@
2026-07-18 15:20:44 +03:00
@
2026-07-18 14:29:18 +03:00
@
2026-07-18 12:29:04 +03:00
@
2026-07-18 14:00:55 +03:00
@
2026-07-18 15:59:56 +03:00
@
2026-07-25 13:05:57 +03:00
@
2026-07-12 12:56:22 +03:00