Proje: Okul Platform · Hub: Okul Platform — Domain
LeadExecutor Nedir?
Lead oluşturma ve güncelleme işlemlerini orkestre eden service.
app/Services/Controllers/Admin/Lead/LeadExecutor.php
Handler Zinciri
create()
UserHandler::handle()— Kullanıcı ilişkilendirme/oluşturmaLeadRepository::create()— DB’ye kaydetSchoolInboundCallLogHandler::handle()— Gelen arama ise log bağla
update()
- Eski veriyi sakla (
getAttributes()) UserHandler::handle()LeadRepository::update()- Değişen field’ları hesapla (
getDiff()) - Değişiklik varsa →
LeadUpdatedEvent::dispatch(lead, diffData)
getDiff() Mekanizması
Güncelleme öncesi ve sonrası değerleri karşılaştırır.
diffData → Event’e geçilir → CIO B2BEventService → “önceki stage” gibi bilgiler iletilir.
Handlers
app/Services/Controllers/Admin/Lead/Handler/:
UserHandler— Lead’in bağlı kullanıcısını yönetirSchoolInboundCallLogHandler— Gelen arama logu ile lead’i ilişkilendirir
Related
- api-lead-flow — Lead genel akışı
- api-event-dispatch-after-commit — LeadUpdatedEvent ShouldDispatchAfterCommit
- api-sonitel-call-integration — SchoolInboundCallLogHandler bağlamı