BUG-007: Ограничить structural модификаторы для товаров
Описание
Сейчас structural модификаторы можно привязать к любому товару без ограничений. Это создаёт два проблемных кейса:
- Несколько structural групп на одном товаре — приводит к комбинаторному взрыву техкарт (3 размера × 3 теста = 9 техкарт). Реальных кейсов на 2+ structural нет.
- Structural на товаре type=good — у товаров нет техкарт, per-size бессмысленен. Вода 0.5л и 1л — это отдельные товары, не варианты одного. В YumaPos зависимые модификаторы доступны только для блюд.
Также на фронте type=good показывает таб “Модификаторы” с кнопками structural, хотя они не применимы.
Ожидаемое поведение
Бэкенд:
- Максимум 1 structural группа на товар (ошибка
STRUCTURAL_LIMIT_EXCEEDEDпри попытке добавить вторую) - Structural модификаторы только для type=dish (ошибка
STRUCTURAL_NOT_ALLOWED_FOR_GOODпри попытке привязать к good)
Фронт:
- Для type=good: таб “Модификаторы” показывает только секцию “Свободные”. Кнопка ”+ Закреплённый” отсутствует. Подсказка: “Закреплённые модификаторы доступны только для блюд”
- Для type=dish: если уже есть 1 structural группа — кнопка ”+ Закреплённый” заблокирована с tooltip “Только одна закреплённая группа на товар”
Фактическое поведение
Можно привязать сколько угодно structural групп к любому типу товара.
Затронутые сервисы
- Catalog Service —
ProductModifierService— валидация при привязке - erp-admin (web) —
ProductViewPage— условное отображение кнопок/секций