BR 1.16 — Catalog Service
Статус: done
Задачи
1. Добавить параметр store_id в GET /internal/catalog/menu
- Опциональный
@RequestParam("store_id")— обратно совместимо - Без
store_id— поведение не меняется
2. Фильтрация по стоп-листам
- Загрузка
ProductStopListиCategoryStopListпоstore_id - Исключение категорий из стоп-листа
- Исключение товаров из стоп-листа (прямой + через категорию)
3. Модификаторы товаров
- Batch-загрузка
ProductModifierдля всех товаров (findByProductIdIn) - Для каждого binding — загрузка
ModifierGroupиModifierOption - Effective min/max (override из binding приоритетнее group default)
- Цены модификаторов из
PriceListModifierItem(только дляfreebinding)
4. Расширенный ответ
- Каждый product содержит массив
modifiers[] - Каждый modifier содержит
group_id,group_name,binding_type,min,max,options[] - Каждый option содержит
id,name,price(null для structural)
Инжектированные зависимости
ProductStopListRepositoryCategoryStopListRepositoryProductModifierRepositoryModifierGroupRepositoryModifierOptionRepositoryPriceListModifierItemRepository
Файлы
InternalCatalogMenuController.java— основные изменения