Catalog Service — Phase 5A KDS
Что сделано
InternalCatalogMenuController.mapProduct — расширен
Добавлены поля для каждого продукта в /internal/catalog/menu:
m.put("requires_kitchen", Boolean.TRUE.equals(p.getRequiresKitchen()));
m.put("kitchen_station_id", p.getKitchenStationId());POS BFF проксирует это в Product-DTO для desktop-pos. Используется на KitchenQueueScreen для разделения позиций по станциям.
NEW InternalKitchenStationController
@GetMapping("/internal/kitchen-stations/by-franchise/{franchiseId}")
public ResponseEntity<...> listByFranchise(@PathVariable UUID franchiseId)Возвращает список активных (не deleted) kitchen-stations франшизы. Используется POS BFF для отдачи списка станций десктоп-кассе (/api/v1/pos/kitchen-stations).
Не трогали
KitchenStationentity / migration — таблица уже была (BR 2.5)- Public
KitchenStationController(CRUD под JWT) — без изменений KitchenStationService— без изменений (используемfindByFranchiseIdAndDeletedAtIsNullнапрямую через repository)
Файлы
src/main/java/com/erp/catalog/controller/InternalCatalogMenuController.java— extended mapProductsrc/main/java/com/erp/catalog/controller/InternalKitchenStationController.java(NEW)