feat: добавлены cf_2624 и bank_name в payload при отправке заявления

Frontend (StepClaimConfirmation):
- Добавлен contact_data_confirmed в payload для Redis канала
- Добавлен cf_2624 (значение для CRM: 1 или 0)
- Добавлены bank_id и bank_name в payload
- bank_name сохраняется в state при выборе банка

Backend (claims.py):
- Добавлены contact_data_confirmed и cf_2624 в event_data
- Добавлены bank_id и bank_name в event_data для Redis канала clientright:webform:approve

Обновлён статус заявления 226564ce-d7cf-48ee-a820-690e8f5ec8e5 на draft_claim_ready для тестирования
This commit is contained in:
Fedor
2025-12-03 18:35:02 +03:00
parent 1fc64c035e
commit bf3fb5fef0
3 changed files with 41 additions and 2 deletions

View File

@@ -655,6 +655,12 @@ async def publish_form_approval(request: Request):
import time
idempotency_key = f"{claim_id}_{int(time.time() * 1000)}_{body.get('user_id', 'unknown')}"
# ✅ Получаем флаг подтверждения данных контакта и данные банка
contact_data_confirmed = body.get("contact_data_confirmed", False)
cf_2624 = body.get("cf_2624", "0")
bank_id = body.get("bank_id", "")
bank_name = body.get("bank_name", "")
# Формируем событие для Redis
event_data = {
"event_type": "form_approve",
@@ -669,6 +675,14 @@ async def publish_form_approval(request: Request):
"idempotency_key": idempotency_key, # Для защиты от дублей в RabbitMQ
"timestamp": datetime.utcnow().isoformat(),
# ✅ Флаг редактирования перс данных (cf_2624)
"contact_data_confirmed": contact_data_confirmed,
"cf_2624": cf_2624, # Значение для CRM (1 = подтверждено, 0 = не подтверждено)
# ✅ Данные банка для СБП выплаты
"bank_id": bank_id,
"bank_name": bank_name,
# Данные формы подтверждения
"form_data": body.get("form_data", {}),
"user": body.get("user", {}),

View File

@@ -123,6 +123,17 @@ export default function StepClaimConfirmation({
claimPlanData?.propertyName?.user?.mobile ||
claimPlanData?.phone || '';
// ✅ Получаем флаг подтверждения данных контакта
const contact_data_confirmed =
prop_contact_data_confirmed !== undefined ? prop_contact_data_confirmed :
claimPlanData?.contact_data_confirmed ||
claimPlanData?.propertyName?.meta?.contact_data_confirmed ||
false;
// ✅ Получаем данные банка (ID и название)
const bankId = formData?.user?.bank_id || '';
const bankName = formData?.user?.bank_name || '';
// Формируем payload для Redis канала
const payload = {
claim_id: claimId,
@@ -133,6 +144,14 @@ export default function StepClaimConfirmation({
phone: phone,
sms_code: smsCode || '', // SMS код для верификации
// ✅ Флаг редактирования перс данных (cf_2624)
contact_data_confirmed: contact_data_confirmed,
cf_2624: contact_data_confirmed ? "1" : "0", // Значение для CRM
// ✅ Данные банка для СБП выплаты
bank_id: bankId,
bank_name: bankName,
// Данные формы подтверждения
form_data: formData,
user: formData?.user || {},

View File

@@ -1567,6 +1567,9 @@ export function generateConfirmationFormHTML(data: any, contact_data_confirmed:
if (hiddenField) {
hiddenField.value = currentBankId;
}
// ✅ Сохраняем название банка в state
state.user = state.user || {};
state.user.bank_name = currentBankName;
input.classList.add('filled');
updateFieldStyle(input);
}
@@ -1584,20 +1587,22 @@ export function generateConfirmationFormHTML(data: any, contact_data_confirmed:
}
if (foundBank) {
// Найден банк - сохраняем ID
// Найден банк - сохраняем ID и название
if (hiddenField) {
hiddenField.value = foundBank.bankid;
}
state.user = state.user || {};
state.user.bank_id = foundBank.bankid;
state.user.bank_name = foundBank.bankname; // ✅ Сохраняем название банка
this.classList.add('filled');
} else {
// Банк не найден - очищаем ID
// Банк не найден - очищаем ID и название
if (hiddenField) {
hiddenField.value = '';
}
state.user = state.user || {};
state.user.bank_id = '';
state.user.bank_name = ''; // ✅ Очищаем название банка
this.classList.remove('filled');
}
updateFieldStyle(this);
@@ -1617,6 +1622,7 @@ export function generateConfirmationFormHTML(data: any, contact_data_confirmed:
}
state.user = state.user || {};
state.user.bank_id = foundBank.bankid;
state.user.bank_name = foundBank.bankname; // ✅ Сохраняем название банка
this.classList.add('filled');
updateFieldStyle(this);
}