From: Aleksey Filippov Date: Tue, 7 Jul 2026 15:52:30 +0000 (+0300) Subject: fix(api): салоны в чат-боте — только visible=1 (BR-512) X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=fbfab7b36c124b34fc4abea01ca13717e0838a4e;p=erp24_rep%2Fyii-erp24%2F.git fix(api): салоны в чат-боте — только visible=1 (BR-512) Эндпоинт client/get-stores (actionGetStores) фильтровал только по products_1c.view=1, но не по видимости карточки city_store. Из-за этого в список «Наши салоны» чат-бота протекали закрытые/скрытые точки (visible=0) — показывалось 33 магазина вместо 26 (Нижний Новгород). Добавлен фильтр city_store.visible=1 (в PHP, т.к. связь store идёт через via и join был бы хрупким) — по образцу CityStore::getAllActiveIdName/ getNames, где корректный список всегда берётся с visible='1'. --- diff --git a/erp24/api2/controllers/ClientController.php b/erp24/api2/controllers/ClientController.php index 55174ca4..e27aac07 100644 --- a/erp24/api2/controllers/ClientController.php +++ b/erp24/api2/controllers/ClientController.php @@ -1146,8 +1146,11 @@ class ClientController extends BaseController $stores = Products1c::find()->with('store')->where(['tip' => 'city_store'])->andWhere(['view' => '1'])->all(); $result = []; foreach ($stores as $store) { - if (!empty($store->store->name ?? null)) { - $result[] = ['id' => $store->id, 'name' => $store->store->name]; + $card = $store->store ?? null; + // BR-512: показываем только видимые (не закрытые/скрытые) салоны — как везде по CityStore + // (visible='1'). Иначе в список чат-бота протекают закрытые точки (было 33 вместо 26). + if (!empty($card->name) && (int)$card->visible === 1) { + $result[] = ['id' => $store->id, 'name' => $card->name]; } } return $this->asJson(['response' => $result]);