Skip to content

Export Service

Export Service Platon platformasida turli formatdagi resurslarni (CSV, Excel, Word) yaratish va foydalanuvchiga taqdim etish imkonini beruvchi servisdir.
U foydalanuvchi so‘rovlarini qabul qiladi, resursni tayyorlaydi, cache orqali tezkor ishlashni ta’minlaydi va loglarni markaziy tizimga yuboradi.


Umumiy Ma’lumot

Export Service quyidagi imkoniyatlarni ta’minlaydi:

  • Resurslarni yaratish va eksport qilish (CSV, Excel, Word)
  • Resurslarni tayyorlashda foydalanuvchi parametrlarini qo‘llash
  • Ma’lumotlar bazasidan kerakli parametrlarni olish va qayta ishlash
  • Resurslarni vaqtinchalik fayl tizimida saqlash va foydalanuvchiga yuborish
  • Cache orqali resurslarni tezkor kirish uchun boshqarish
  • Xatoliklar va operatsiyalarni markaziy tizimga loglash (NATS orqali)

Database Interactions

Export Service quyidagi ma’lumotlar bazasi operatsiyalarini bajaradi:

  • Retrieve: Ma’lumotlar bazasidan eksport konfiguratsiyasini olish
  • Params SQL Execution: Resurs yaratish jarayonida kerakli parametrlarni olish
  • Transactional Handling: Parametrlarni olish va resursni yaratish jarayonlari xavfsiz tarzda amalga oshiriladi

Barcha CRUD operatsiyalar foydalanuvchi sessiyasi bilan bog‘liq.


Arxitektura Komponentlari

  • ExportResourceService: Asosiy servis bo‘lib, resurslarni tayyorlash, cache bilan ishlash va foydalanuvchiga yuborishni boshqaradi
  • ExportHandler: Resurs formatiga mos ravishda (CSV, Excel, Word) fayl yaratish logikasini bajaradi
  • CacheOperation: Resurslarni cache’da saqlash, yangilash va tozalash
  • DataBase: Parametrlarni olish va SQL so‘rovlarini bajarish
  • ThreadPoolTaskScheduler: Resurslarni va cache’ni rejalashtirilgan intervallarda yangilash
  • RestSessionContext: Foydalanuvchi sessiyasi va parametrlarini boshqaradi
  • ExportUtils: ExportHandler’larni aniqlash va moslashtirish
  • Logging Service: Xatoliklar va muvaffaqiyatli operatsiyalarni markaziy tizimga yuboradi (NATS)
  • FileService: Word va Excel shablon fayllarini yuklash va ishlatish

Resource Management Capabilities

  • CSV, Excel va Word formatlarida resurslar yaratish va foydalanuvchiga yuborish
  • Parametrlar va request body orqali foydalanuvchi ma’lumotlarini resurs bilan birlashtirish
  • Fayl tizimida vaqtinchalik resurslarni saqlash va eski fayllarni avtomatik tozalash
  • Resurslarni cache orqali tezkor kirish va yukni kamaytirish
  • Resurslarni yaratishda xatoliklar va muvaffaqiyatli operatsiyalarni markaziy tizimga loglash

Cache va Performance

  • Export resurslari cache’da saqlanadi
  • Tezkor kirish va server yukini kamaytirish ta’minlanadi
  • Cache’dagi resurslar ma’lum interval bilan yangilanadi
  • Eski yoki keraksiz resurslar avtomatik tozalanadi
  • Cache ishlatilganida SQL so‘rovlari va fayl yaratilishi kamroq bo‘ladi

Access Control

  • Foydalanuvchi ruxsatlariga asoslanib resurslarga kirish nazorat qilinadi
  • Role va permissionlar orqali foydalanuvchining eksport resursiga kirish huquqi aniqlanadi
  • Admin foydalanuvchilar barcha resurslarga kirish huquqiga ega

Logging va Monitoring

  • Foydalanuvchi so‘rovlari va eksport operatsiyalari loglanadi
  • Xatoliklar va muvaffaqiyatli operatsiyalar NATS orqali markaziy tizimga yuboriladi
  • Resurslarni tayyorlash va yuborish jarayonlari monitoring qilinadi

Temporary Files Management

  • Vaqtinchalik yaratilgan fayllar fayl tizimida saqlanadi (media/temp/)
  • Har kuni kechqurun 12:00 da eski fayllar avtomatik o‘chiriladi
  • Fayl yaratishda MD5 hash orqali unikal nom beriladi
  • Fayllar eksport jarayonida fayl tizimidan foydalanuvchiga yuboriladi

Handlers

CSV Handler

  • CSV formatida fayl yaratadi
  • UTF-8 BOM qo‘shadi
  • Random satrlarga checksum qo‘shadi
  • Foydalanuvchi ma’lumotlarini va request body’ni faylga qo‘shadi

Excel Handler

  • Excel shablon faylini JXLS yordamida ishlaydi
  • SQL parametrlarini va foydalanuvchi request body’ni shablonga qo‘shadi
  • Checksum bilan satrlarni himoya qiladi
  • Yaralgan Excel faylini foydalanuvchiga yuboradi

Word Handler

  • Word shablon faylini Aspose Words orqali ishlaydi
  • Nested map va list ma’lumotlarini tekislashtiradi (flatten)
  • Request body va SQL parametrlarini shablon o‘zgaruvchilari bilan almashtiradi
  • Yaralgan Word faylini foydalanuvchiga yuboradi

Xulosa

Export Service Platon platformasida turli formatdagi resurslarni foydalanuvchiga yuborish va tezkor ishlashni ta’minlaydi.
U CSV, Excel va Word formatlarini qo‘llab-quvvatlaydi, SQL parametrlarini va foydalanuvchi ma’lumotlarini birlashtiradi, cache va vaqtinchalik fayl tizimi orqali samarali ishlashni ta’minlaydi, shuningdek xatoliklar va muvaffaqiyatli operatsiyalarni markaziy tizimga loglaydi.