- Добавлен сервис CrmMySQLService для прямого подключения к MySQL CRM - Обновлён метод get_draft() для получения cf_2624 напрямую из БД - Реализована блокировка полей (readonly) при contact_data_confirmed = true - Добавлен выбор банка для СБП выплат с динамической загрузкой из API - Обновлена документация по работе с cf_2624 и MySQL - Добавлен network_mode: host в docker-compose для доступа к MySQL - Обновлены компоненты формы для поддержки блокировки полей
53 lines
2.2 KiB
JavaScript
53 lines
2.2 KiB
JavaScript
// Парсим результат CreateWebContact
|
||
const rawResult = $node["CreateWebContact"].json.result;
|
||
|
||
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;
|
||
|
||
// Получаем session_id
|
||
const session_id = $('Edit Fields').first().json.session_id;
|
||
|
||
// Получаем unified_id из ноды user_get
|
||
const unified_id = $('user_get').first().json.unified_id || null;
|
||
|
||
// Формируем session для Redis (БЕЗ claim_id, с unified_id)
|
||
const sessionData = {
|
||
// claim_id убран - используем только session_id на этих этапах
|
||
unified_id: unified_id, // ← unified_id из PostgreSQL (получаем от user_get)
|
||
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(),
|
||
updated_at: new Date().toISOString(),
|
||
documents: {},
|
||
email: null,
|
||
bank_name: null
|
||
};
|
||
|
||
return {
|
||
session: session_id,
|
||
session_id: session_id, // Добавляем для совместимости
|
||
unified_id: unified_id, // ✅ Добавляем unified_id в 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
|
||
};
|
||
|