feat: Получение cf_2624 из MySQL и блокировка полей при подтверждении данных

- Добавлен сервис CrmMySQLService для прямого подключения к MySQL CRM
- Обновлён метод get_draft() для получения cf_2624 напрямую из БД
- Реализована блокировка полей (readonly) при contact_data_confirmed = true
- Добавлен выбор банка для СБП выплат с динамической загрузкой из API
- Обновлена документация по работе с cf_2624 и MySQL
- Добавлен network_mode: host в docker-compose для доступа к MySQL
- Обновлены компоненты формы для поддержки блокировки полей
This commit is contained in:
AI Assistant
2025-12-04 12:22:23 +03:00
parent 64385c430d
commit 080e7ec105
69 changed files with 17034 additions and 1439 deletions

View File

@@ -1,7 +1,12 @@
// Парсим результат CreateWebContact
const rawResult = $node["CreateWebContact"].json.result;
const contactData = JSON.parse(rawResult); // {"contact_id": "396625", "is_new": false}
const contactData = JSON.parse(rawResult); // {"contact_id": "396625", "is_new": false, "cf_2624": "1"}
// ✅ Извлекаем cf_2624 (Данные подтверждены)
// "1" = данные подтверждены, "0" = не подтверждены
const cf_2624 = contactData.cf_2624 || "0";
const contact_data_confirmed = cf_2624 === "1";
const phone = $('Edit Fields').first().json.phone;
@@ -18,6 +23,8 @@ const sessionData = {
contact_id: contactData.contact_id, // ← распарсенный ID из CreateWebContact
phone: phone,
is_new_contact: contactData.is_new, // ← флаг нового контакта
cf_2624: cf_2624, // ✅ Сохраняем cf_2624 в сессию
contact_data_confirmed: contact_data_confirmed, // ✅ Сохраняем флаг подтверждения
status: "draft",
current_step: 1,
created_at: new Date().toISOString(),
@@ -34,6 +41,10 @@ return {
contact_id: contactData.contact_id,
is_new_contact: contactData.is_new,
phone: phone,
// ✅ Флаги подтверждения данных контакта (из cf_2624)
cf_2624: cf_2624,
contact_data_confirmed: contact_data_confirmed,
contact_data_can_edit: !contact_data_confirmed,
redis_key: `session:${session_id}`, // ✅ Используем session_id для ключа Redis
redis_value: JSON.stringify(sessionData),
ttl: 604800