Proje: Okul Platform · Hub: Okul Platform — Domain
SchoolFilterUpdateService
app/Services/Bases/SchoolFilterUpdateService.php
SchoolFilter tablosunu güncel tutar. Okul bilgileri değiştiğinde bu servis devreye girer.
Güncellenen Alanlar
SchoolFilter’da şu veriler:
- Ücretler (fees, amount_yearly, amount_range)
- Burs/erken kayıt sayıları (scholarship_count, early_registration_count)
- İstatistikler (deal_open/won/lost, offer_form, comment)
- Listeleme önceliği
- Okul tipi, sektör, lokasyon
- Ürün bayrakları (product_has_*)
- Profil puanı (py_profile_point, py_about_quality, py_gallery_quality)
- SchoolBadge bilgileri
Güncelleme Tetikleyicileri
SchoolFilterJob— Queue job üzerinden asyncUpdateSchoolFiltersCommand— Artisan command ile manuel/topluIndexUpdatedSchoolsCommand— Typesense reindex
SchoolFilterJob
app/Jobs/School/SchoolFilterJob.php — Okul güncellendiğinde dispatch edilir.
Bağımlılıklar
Çok sayıda repository kullanır:
- SchoolFilterService, SchoolCommentRepository, LogRepository
- OfferRepository, QARepository, SchoolBadgeRepository
- SchoolActivityRepository, SchoolFacilityRepository, SchoolScholarshipRepository
- SchoolServiceRepository, SchoolLearningLanguageRepository
- HighSchoolTypeDepartmentRepository
- SchoolFilterPortfolioService — Puan hesaplama
Related
- api-school-filter-search — SchoolFilter yapısı
- api-school-profile-scoring — Profil puan hesaplama
- api-queue-jobs — SchoolFilterJob