From 7ac18ec61db0bc82d43e91e8a50f3106562994f7 Mon Sep 17 00:00:00 2001 From: Abdulkadyr Karagishiev Date: Wed, 21 Oct 2026 14:07:05 +0300 Subject: [PATCH] fix(onec): preserve patient instructions in Bitrix leads --- internal/api/booking_confirm.go | 3 +++ internal/storage/booking_confirm.go | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/api/booking_confirm.go b/internal/api/booking_confirm.go index d97ca33..528c7a9 100644 --- a/internal/api/booking_confirm.go +++ b/internal/api/booking_confirm.go @@ -354,6 +354,9 @@ func leadDraft(it storage.ConfirmItem, cfg storage.BookingSettings) bitrix.LeadD "Приём: " + formatSlotTime(it.Start), "Филиал: " + html.EscapeString(branchOrDash(it.Branch)), } + if it.Comment != "" { + lines = append(lines, "Комментарий пациента: "+html.EscapeString(it.Comment)) + } if it.ServiceName != "" { lines = append(lines, "Услуга: "+html.EscapeString(it.ServiceName)) } diff --git a/internal/storage/booking_confirm.go b/internal/storage/booking_confirm.go index 972a10f..1a68ede 100644 --- a/internal/storage/booking_confirm.go +++ b/internal/storage/booking_confirm.go @@ -52,6 +52,7 @@ func (s *Storage) SetBookingSettings(ctx context.Context, b BookingSettings) err // ConfirmItem — запись с сайта, ждущая решения оператора, со всем, что нужно для лида в Битриксе и CRM. type ConfirmItem struct { + Comment string ID int64 Start time.Time CreatedAt time.Time @@ -73,7 +74,7 @@ const confirmItemSelect = ` SELECT a.id, a.start_at, a.created_at, a.patient_name, a.patient_phone, a.doctor_onec_id, COALESCE(NULLIF(o.full_name, ''), a.doctor_onec_id), COALESCE(NULLIF(b.address, ''), b.name, ''), COALESCE(sv.name, ''), a.onec_appointment_id, a.bitrix_lead_id, a.error, - a.crm_deal_id, a.crm_confirm_state, a.crm_error + a.crm_deal_id, a.crm_confirm_state, a.crm_error, a.patient_comment FROM onec_appointments a LEFT JOIN onec_doctors o ON o.onec_id = a.doctor_onec_id LEFT JOIN onec_branches b ON b.onec_id = a.branch_onec_id @@ -133,7 +134,7 @@ func (s *Storage) confirmItems(ctx context.Context, query string, limit int) ([] var c ConfirmItem if err := rows.Scan(&c.ID, &c.Start, &c.CreatedAt, &c.Patient, &c.Phone, &c.DoctorOnec, &c.DoctorName, &c.Branch, &c.ServiceName, &c.OnecID, &c.BitrixLeadID, &c.Error, - &c.CrmDealID, &c.CrmConfirmState, &c.CrmError); err != nil { + &c.CrmDealID, &c.CrmConfirmState, &c.CrmError, &c.Comment); err != nil { return nil, err } out = append(out, c)