📚 RM.Loyalty.docs
➕ Новая статья
Редактирование: статусы-и-проверка
Путь:
06_Загрузка_гостей/статусы-и-проверка.md
Содержимое (Markdown)
# Статусы записей и проверка после загрузки ## Статусы в таблице `guests_load_raw_data` При загрузке у каждой записи проставляется один из статусов: | Статус | Описание | |---|---| | `new` | Новый запрос на добавление | | `success` | Успешно добавлен | | `error` | Ошибка при выполнении запроса | | `double` | Гость с таким номером уже существует | | `update` | Повторный запрос на добавление (выставляется вручную) | | `hard_update` | Принудительная запись (перезапись) информации о госте | > Скрипт загрузки забирает записи со статусами `new` и `replay`. Чтобы повторно обработать «зависшие» или существующие записи, статус меняется вручную на `update` / `hard_update`. ### Изменение статуса Чтобы принудительно перезаписать гостей со статусом `double`: ```sql UPDATE guests_load_raw_data SET status = 'hard_update' WHERE guests_load_raw_data.point = [ПОИНТ] AND status = 'double'; ``` ## Проверка после загрузки После загрузки нужно убедиться, что у гостей, карт и кошельков выставлен провайдер `remarked`. ### 1. Провайдер карт в `cl_cardholders` ```sql SELECT * FROM `cl_cardholders` WHERE `point` = [поинт] AND `provider` != 'remarked'; UPDATE `cl_cardholders` SET `provider` = 'remarked' WHERE `point` = [поинт] AND `provider` != 'remarked'; ``` ### 2. Провайдер гостей в `cl_guests` ```sql SELECT * FROM `cl_guests` WHERE `point` = [поинт] AND `provider` != 'remarked'; UPDATE `cl_guests` SET `provider` = 'remarked' WHERE `point` = [поинт] AND `provider` IN ('plaziuscab','iiko','locards','traktir','sbis','tillypad','primehill','rkeeper','fastoperator','mafia_loyalty'); ``` ### 3. Провайдер кошельков в `cl_wallets` ```sql -- Проверка чужих провайдеров SELECT * FROM `cl_wallets` WHERE `point` = [поинт] AND `provider` != 'remarked' AND `type_id` > '0'; -- Исправление UPDATE `cl_wallets` SET `provider` = 'remarked' WHERE `point` = [поинт] AND `provider` != 'remarked' AND `type_id` > '0'; ``` ### 4. Дубли кошельков ```sql SELECT `guest_id`, COUNT(`id`) AS `total` FROM `cl_wallets` WHERE `point` = [поинт] AND `type_id` = [id кошелька] GROUP BY `guest_id` HAVING `total` > 1; ```
💾 Сохранить
Отмена