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:
@@ -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", {}),
|
||||
|
||||
@@ -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 || {},
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user