Enhance template and scheduling functionalities: add PlanningRules to template endpoints and commands, implement repeat limits and audience filtering in scheduling logic, and update related data structures. Refactor frontend components to support new rules and improve user experience in channel management.
This commit is contained in:
@@ -18,8 +18,12 @@
|
||||
(`BumperMinIntervalMinutes`, обе `*Chance`, `NextBumperIndex`) удалены — условия показа живут
|
||||
в элементе стыка; из `BumperSelection` убрана «ротация», у которой не было реализации.
|
||||
|
||||
**Срезы 3 и 4** не начинались, кроме того, что уже понадобилось раньше: слоты повтора и конца
|
||||
вещания сделаны вместе с планировщиком, применимость слоёв и панель слоёв — частично.
|
||||
**Срез 3 закрыт целиком.** Применимость слоёв правится из UI, слои переупорядочиваются
|
||||
перетаскиванием и выключаются, сетку можно посмотреть на конкретную дату, слоты двигаются
|
||||
и растягиваются мышью, день копируется на другие дни. Добавлены жёсткие фильтры кандидатов —
|
||||
детское время и потолок повторов.
|
||||
|
||||
**Срез 4** не начинался.
|
||||
|
||||
Ничего из этого не проверялось на живой базе: только сборка, юнит-тесты и typecheck.
|
||||
|
||||
@@ -307,19 +311,17 @@ N новых позиций по фильтру».
|
||||
|
||||
## Срез 3 — гибкость и календарь
|
||||
|
||||
#### [~] 3.1. Применимость слоёв
|
||||
#### [x] 3.1. Применимость слоёв
|
||||
`Domain` `Infrastructure` `Application`
|
||||
|
||||
> Частично: модель применимости и разрешение слоёв на дату готовы; нет UI правки применимости.
|
||||
|
||||
`applicability`: дни недели, разовые диапазоны дат, ежегодные диапазоны, конкретные даты (см. 3.4).
|
||||
Приоритеты, разрешение конфликтов. Юнит-тесты на пересекающиеся слои и на границу года в ежегодном
|
||||
диапазоне.
|
||||
|
||||
#### [~] 3.2. Фильтры кандидатов
|
||||
#### [x] 3.2. Фильтры кандидатов
|
||||
`Domain`
|
||||
|
||||
> Частично: остывание работает; возрастной фильтр по времени и потолок повторов не сделаны.
|
||||
|
||||
`maxAudienceByTime`, `cooldown`, `maxRepeatsInWindow` (см. 3.8) — применяются **до** взвешенного
|
||||
выбора. История берётся из материализованной ленты. `fallback` стратегии, когда остывание отсекло
|
||||
@@ -337,15 +339,14 @@ N новых позиций по фильтру».
|
||||
Конец вещания: заполнение зацикленным ассетом, пометка в EPG «эфир не ведётся», отображение
|
||||
в программе.
|
||||
|
||||
#### [~] 3.5. Панель слоёв
|
||||
#### [x] 3.5. Панель слоёв
|
||||
`Frontend`
|
||||
|
||||
> Частично: список слоёв с приоритетом и выбором готов; нет drag-переупорядочивания и переключателя даты.
|
||||
|
||||
Список слоёв с видимостью и приоритетом, drag для переупорядочивания, выбор редактируемого слоя,
|
||||
штриховка перекрытых слотов, переключатель даты («показать сетку на 25 декабря»).
|
||||
|
||||
#### [ ] 3.6. Drag & drop в календаре
|
||||
#### [x] 3.6. Drag & drop в календаре
|
||||
`Frontend`
|
||||
|
||||
Перетаскивание слотов и изменение длительности за края, копирование дня на другие дни, копирование
|
||||
|
||||
Reference in New Issue
Block a user