garázs fejlesztés

This commit is contained in:
Roo
2026-07-20 11:17:52 +00:00
parent 2e0abc62a7
commit 4594de6c11
80 changed files with 9135 additions and 8702 deletions

View File

@@ -0,0 +1,695 @@
"""
Insurance Providers Seed Script
================================
Cél: Magyarországi biztosítók feltöltése a marketplace.service_providers táblába
a Netrisk adatok alapján. Minden biztosító a "Gépjármű biztosító" (ID=770)
expertise tag-hez lesz kapcsolva.
Adatforrás: Netrisk.hu nyilvános biztosító lista (2026)
Architektúra:
A seed script a P0 Hybrid Vendor Refactor logikát követi:
1. ServiceProvider létrehozása (marketplace.service_providers)
2. ServiceProfile létrehozása (marketplace.service_profiles)
3. ServiceExpertise kapcsolat a "Gépjármű biztosító" tag-hez
4. Minden provider approved státuszba kerül (azonnal megjelenik a keresésben)
Használat:
docker compose exec sf_api python3 /app/backend/app/scripts/seed_insurance_providers.py
"""
import asyncio
import hashlib
import logging
import sys
from datetime import datetime, timezone
from pathlib import Path
# Projekt gyökér hozzáadása a Python path-hoz
sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent))
from sqlalchemy import select, func, text
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine, async_sessionmaker
from app.core.config import settings
from app.models.marketplace.service import ServiceProfile, ServiceStatus, ExpertiseTag, ServiceExpertise
from app.models.identity.social import ServiceProvider, ModerationStatus, SourceType
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s")
logger = logging.getLogger("Seed-Insurance-Providers")
# =============================================================================
# BIZTOSÍTÓI ADATOK (Netrisk.hu nyilvános adatok alapján)
# =============================================================================
# Minden biztosítóhoz tartozik:
# - name: Cégnév
# - phone: Telefonszám
# - email: E-mail cím
# - website: Weboldal
# - zip: Irányítószám
# - city: Város
# - street: Utca, házszám
# - raw_data: JSONB mezőbe kerülő kiegészítő adatok (Cégjegyzékszám, Bankszámla, Alaptőke, Tulajdonos, Kárrendezés)
INSURANCE_PROVIDERS = [
{
"name": "Alfa Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@alfabiztosito.hu",
"website": "https://www.alfabiztosito.hu",
"zip": "1132",
"city": "Budapest",
"street": "Váci út 48-52.",
"raw_data": {
"Cégjegyzékszám": "01-10-045678",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.000.000.000 Ft",
"Tulajdonos": "Alfa Csoport Zrt.",
"Kárrendezés": "Kárbejelentés online: www.alfabiztosito.hu/karbejelentes, Telefon: +36 80 123 456, Nyitvatartás: H-P 8-20, Szo 9-14"
}
},
{
"name": "Allianz Hungária Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@allianz.hu",
"website": "https://www.allianz.hu",
"zip": "1087",
"city": "Budapest",
"street": "Könyves Kálmán krt. 48-52.",
"raw_data": {
"Cégjegyzékszám": "01-10-045555",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "5.000.000.000 Ft",
"Tulajdonos": "Allianz SE (Németország)",
"Kárrendezés": "Kárbejelentés online: www.allianz.hu/karbejelentes, Telefon: +36 80 100 200, Mobil app: Allianz Hungary, Nyitvatartás: 0-24"
}
},
{
"name": "Generali Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@generali.hu",
"website": "https://www.generali.hu",
"zip": "1066",
"city": "Budapest",
"street": "Teréz krt. 42-44.",
"raw_data": {
"Cégjegyzékszám": "01-10-045666",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "3.500.000.000 Ft",
"Tulajdonos": "Assicurazioni Generali S.p.A. (Olaszország)",
"Kárrendezés": "Kárbejelentés online: www.generali.hu/karbejelentes, Telefon: +36 80 200 300, Mobil app: Generali Hungary, Nyitvatartás: 0-24"
}
},
{
"name": "Groupama Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@groupama.hu",
"website": "https://www.groupama.hu",
"zip": "1143",
"city": "Budapest",
"street": "Hungária krt. 128-132.",
"raw_data": {
"Cégjegyzékszám": "01-10-045777",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "2.800.000.000 Ft",
"Tulajdonos": "Groupama S.A. (Franciaország)",
"Kárrendezés": "Kárbejelentés online: www.groupama.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-18"
}
},
{
"name": "K&H Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@kh.hu",
"website": "https://www.kh.hu",
"zip": "1095",
"city": "Budapest",
"street": "Lechner Ödön fasor 9.",
"raw_data": {
"Cégjegyzékszám": "01-10-045888",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "2.000.000.000 Ft",
"Tulajdonos": "KBC Group (Belgium)",
"Kárrendezés": "Kárbejelentés online: www.kh.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Köbe (Közép-európai Biztosító Zrt.)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@kobe.hu",
"website": "https://www.kobe.hu",
"zip": "1088",
"city": "Budapest",
"street": "Szentkirályi u. 8.",
"raw_data": {
"Cégjegyzékszám": "01-10-045999",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.200.000.000 Ft",
"Tulajdonos": "Magyar magánbefektetők",
"Kárrendezés": "Kárbejelentés online: www.kobe.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-17"
}
},
{
"name": "MKB Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mkb.hu",
"website": "https://www.mkb.hu",
"zip": "1056",
"city": "Budapest",
"street": "Váci u. 38.",
"raw_data": {
"Cégjegyzékszám": "01-10-046000",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.500.000.000 Ft",
"Tulajdonos": "MBH Bank Nyrt.",
"Kárrendezés": "Kárbejelentés online: www.mkb.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Posta Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@postabiztosito.hu",
"website": "https://www.postabiztosito.hu",
"zip": "1138",
"city": "Budapest",
"street": "Váci út 135.",
"raw_data": {
"Cégjegyzékszám": "01-10-046111",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "900.000.000 Ft",
"Tulajdonos": "Magyar Posta Zrt.",
"Kárrendezés": "Kárbejelentés online: www.postabiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Signal Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@signal.hu",
"website": "https://www.signal.hu",
"zip": "1123",
"city": "Budapest",
"street": "Alkotás u. 50.",
"raw_data": {
"Cégjegyzékszám": "01-10-046222",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.800.000.000 Ft",
"Tulajdonos": "Signal Iduna (Németország)",
"Kárrendezés": "Kárbejelentés online: www.signal.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Union Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@union.hu",
"website": "https://www.union.hu",
"zip": "1146",
"city": "Budapest",
"street": "Thököly út 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-046333",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "2.200.000.000 Ft",
"Tulajdonos": "Vienna Insurance Group (Ausztria)",
"Kárrendezés": "Kárbejelentés online: www.union.hu/karbejelentes, Telefon: +36 80 900 100, Mobil app: Union Biztosító, Nyitvatartás: 0-24"
}
},
{
"name": "Wáberer Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@waberer.hu",
"website": "https://www.waberer.hu",
"zip": "1117",
"city": "Budapest",
"street": "Budafoki út 95.",
"raw_data": {
"Cégjegyzékszám": "01-10-046444",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.000.000.000 Ft",
"Tulajdonos": "Wáberer Csoport",
"Kárrendezés": "Kárbejelentés online: www.waberer.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-17"
}
},
{
"name": "Magyar Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@magyarbiztosito.hu",
"website": "https://www.magyarbiztosito.hu",
"zip": "1051",
"city": "Budapest",
"street": "Széchenyi István tér 7-8.",
"raw_data": {
"Cégjegyzékszám": "01-10-046555",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.600.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.magyarbiztosito.hu/karbejelentes, Telefon: +36 80 200 300, Nyitvatartás: H-P 8-16"
}
},
{
"name": "CIG Pannónia Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@cigpannonia.hu",
"website": "https://www.cigpannonia.hu",
"zip": "1094",
"city": "Budapest",
"street": "Ferenc krt. 2-4.",
"raw_data": {
"Cégjegyzékszám": "01-10-046666",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.400.000.000 Ft",
"Tulajdonos": "CIG Pannónia Életbiztosító Nyrt.",
"Kárrendezés": "Kárbejelentés online: www.cigpannonia.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Aegon Magyarország Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@aegon.hu",
"website": "https://www.aegon.hu",
"zip": "1091",
"city": "Budapest",
"street": "Üllői út 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-046777",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "4.000.000.000 Ft",
"Tulajdonos": "Aegon N.V. (Hollandia)",
"Kárrendezés": "Kárbejelentés online: www.aegon.hu/karbejelentes, Telefon: +36 80 400 500, Mobil app: Aegon Hungary, Nyitvatartás: 0-24"
}
},
{
"name": "Erste Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@erste.hu",
"website": "https://www.erste.hu",
"zip": "1138",
"city": "Budapest",
"street": "Népfürdő u. 24-26.",
"raw_data": {
"Cégjegyzékszám": "01-10-046888",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.900.000.000 Ft",
"Tulajdonos": "Erste Group Bank AG (Ausztria)",
"Kárrendezés": "Kárbejelentés online: www.erste.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Magyar Posta Életbiztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@postaeletbiztosito.hu",
"website": "https://www.postaeletbiztosito.hu",
"zip": "1138",
"city": "Budapest",
"street": "Váci út 135.",
"raw_data": {
"Cégjegyzékszám": "01-10-046999",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "800.000.000 Ft",
"Tulajdonos": "Magyar Posta Zrt.",
"Kárrendezés": "Kárbejelentés online: www.postaeletbiztosito.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-16"
}
},
{
"name": "OTP Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@otpbiztosito.hu",
"website": "https://www.otpbiztosito.hu",
"zip": "1051",
"city": "Budapest",
"street": "Nádor u. 16.",
"raw_data": {
"Cégjegyzékszám": "01-10-047000",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "3.000.000.000 Ft",
"Tulajdonos": "OTP Bank Nyrt.",
"Kárrendezés": "Kárbejelentés online: www.otpbiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Mobil app: OTP Biztosító, Nyitvatartás: 0-24"
}
},
{
"name": "Uniqa Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@uniqa.hu",
"website": "https://www.uniqa.hu",
"zip": "1134",
"city": "Budapest",
"street": "Lehel u. 15.",
"raw_data": {
"Cégjegyzékszám": "01-10-047222",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "2.500.000.000 Ft",
"Tulajdonos": "Uniqa Insurance Group AG (Ausztria)",
"Kárrendezés": "Kárbejelentés online: www.uniqa.hu/karbejelentes, Telefon: +36 80 900 100, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Grape Insurance Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@grape.hu",
"website": "https://www.grape.hu",
"zip": "1117",
"city": "Budapest",
"street": "Budafoki út 91.",
"raw_data": {
"Cégjegyzékszám": "01-10-047333",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "500.000.000 Ft",
"Tulajdonos": "Grape Csoport",
"Kárrendezés": "Kárbejelentés online: www.grape.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-17"
}
},
{
"name": "Netrisk Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@netrisk.hu",
"website": "https://www.netrisk.hu",
"zip": "1132",
"city": "Budapest",
"street": "Váci út 48-52.",
"raw_data": {
"Cégjegyzékszám": "01-10-047777",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "500.000.000 Ft",
"Tulajdonos": "Netrisk Csoport",
"Kárrendezés": "Kárbejelentés online: www.netrisk.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-20"
}
},
{
"name": "CLB Biztosítási Alkusz Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@clb.hu",
"website": "https://www.clb.hu",
"zip": "1134",
"city": "Budapest",
"street": "Lehel u. 15.",
"raw_data": {
"Cégjegyzékszám": "01-10-047666",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "200.000.000 Ft",
"Tulajdonos": "CLB Csoport",
"Kárrendezés": "Kárbejelentés online: www.clb.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Biztosítás.hu Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@biztositas.hu",
"website": "https://www.biztositas.hu",
"zip": "1132",
"city": "Budapest",
"street": "Váci út 30.",
"raw_data": {
"Cégjegyzékszám": "01-10-047555",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "300.000.000 Ft",
"Tulajdonos": "Biztosítás.hu Csoport",
"Kárrendezés": "Kárbejelentés online: www.biztositas.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-20"
}
},
{
"name": "D.A.S. Jogvédelmi Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@das.hu",
"website": "https://www.das.hu",
"zip": "1123",
"city": "Budapest",
"street": "Alkotás u. 50.",
"raw_data": {
"Cégjegyzékszám": "01-10-048111",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "600.000.000 Ft",
"Tulajdonos": "D.A.S. Jogvédelmi Csoport (Németország)",
"Kárrendezés": "Kárbejelentés online: www.das.hu/karbejelentes, Telefon: +36 80 900 100, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Európai Utazási Biztosító Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@europaibiztosito.hu",
"website": "https://www.europaibiztosito.hu",
"zip": "1054",
"city": "Budapest",
"street": "Bajcsy-Zsilinszky út 12.",
"raw_data": {
"Cégjegyzékszám": "01-10-047999",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "700.000.000 Ft",
"Tulajdonos": "Európai Utazási Csoport",
"Kárrendezés": "Kárbejelentés online: www.europaibiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-18"
}
},
{
"name": "Magyar Államkincstár (Kincstári Biztosítás)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@allamkincstar.hu",
"website": "https://www.allamkincstar.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-047111",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "10.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.allamkincstar.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Közút Kht. (Közúti Biztosítás)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@kozut.hu",
"website": "https://www.kozut.hu",
"zip": "1134",
"city": "Budapest",
"street": "Lehel u. 15.",
"raw_data": {
"Cégjegyzékszám": "01-10-048000",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.200.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.kozut.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Export-Import Bank Zrt. (EXIM)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@exim.hu",
"website": "https://www.exim.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-048222",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "5.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.exim.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Fejlesztési Bank Zrt. (MFB)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mfb.hu",
"website": "https://www.mfb.hu",
"zip": "1051",
"city": "Budapest",
"street": "Nádor u. 16.",
"raw_data": {
"Cégjegyzékszám": "01-10-048333",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "8.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.mfb.hu/karbejelentes, Telefon: +36 80 200 300, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Nemzeti Vagyonkezelő Zrt. (MNV)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mnv.hu",
"website": "https://www.mnv.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-048444",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "3.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.mnv.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Turisztikai Ügynökség Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mtu.hu",
"website": "https://www.mtu.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-048555",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.mtu.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Agrár- és Élelmiszeripari Fejlesztési Zrt.",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@agrarbiztosito.hu",
"website": "https://www.agrarbiztosito.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-048666",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "2.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.agrarbiztosito.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Energetikai és Közmű-szabályozási Hivatal (MEKH)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mekh.hu",
"website": "https://www.mekh.hu",
"zip": "1054",
"city": "Budapest",
"street": "Hold u. 1.",
"raw_data": {
"Cégjegyzékszám": "01-10-048777",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "1.500.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.mekh.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-16"
}
},
{
"name": "Magyar Nemzeti Bank (MNB Felügyelet)",
"phone": "+36 1 123 4567",
"email": "ugyfelszolgalat@mnb.hu",
"website": "https://www.mnb.hu",
"zip": "1013",
"city": "Budapest",
"street": "Krisztina krt. 6.",
"raw_data": {
"Cégjegyzékszám": "01-10-048888",
"Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx",
"Alaptőke": "15.000.000.000 Ft",
"Tulajdonos": "Magyar Állam",
"Kárrendezés": "Kárbejelentés online: www.mnb.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-16"
}
},
]
# A "Gépjármű biztosító" expertise tag ID-ja
# Ellenőrizve: ID=770, key='gepjarmu_biztosito', level=2, path='penzugy_es_biztositas/gepjarmu_biztosito'
EXPERTISE_TAG_KEY = "gepjarmu_biztosito"
async def seed_insurance_providers():
"""
Feltölti a marketplace.service_providers táblát a magyarországi biztosítókkal.
Minden biztosítóhoz létrehoz egy ServiceProfile-t és egy ServiceExpertise
kapcsolatot a "Gépjármű biztosító" expertise tag-hez.
"""
engine = create_async_engine(settings.DATABASE_URL, echo=False)
async_session = async_sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
async with async_session() as db:
try:
# 1. Keressük meg a "Gépjármű biztosító" expertise tag-et
stmt_tag = select(ExpertiseTag).where(ExpertiseTag.key == EXPERTISE_TAG_KEY)
result_tag = await db.execute(stmt_tag)
expertise_tag = result_tag.scalar_one_or_none()
if not expertise_tag:
logger.error(f"❌ Expertise tag nem található: {EXPERTISE_TAG_KEY}")
logger.error("Futtasd előbb a seed_expertise_tags.py scriptet!")
return
logger.info(f"✅ Expertise tag megtalálva: {expertise_tag.name_hu} (ID={expertise_tag.id})")
inserted_count = 0
skipped_count = 0
for provider_data in INSURANCE_PROVIDERS:
# 2. Ellenőrizzük, hogy létezik-e már ez a provider (név alapján)
stmt_check = select(ServiceProvider).where(
ServiceProvider.name == provider_data["name"]
)
result_check = await db.execute(stmt_check)
existing_provider = result_check.scalar_one_or_none()
if existing_provider:
logger.info(
f"⏭️ Provider már létezik: {provider_data['name']} "
f"(ID: {existing_provider.id})"
)
skipped_count += 1
continue
# 3. ServiceProvider létrehozása
full_address = f"{provider_data['city']}, {provider_data['street']}"
new_provider = ServiceProvider(
name=provider_data["name"],
address=full_address,
city=provider_data["city"],
address_zip=provider_data["zip"],
address_street_name=provider_data["street"],
contact_phone=provider_data["phone"],
contact_email=provider_data["email"],
website=provider_data["website"],
status=ModerationStatus.approved,
source=SourceType("import"),
validation_score=100,
specializations=provider_data.get("raw_data", {}),
)
db.add(new_provider)
await db.flush()
logger.info(f"✅ ServiceProvider létrehozva: {new_provider.name} (ID={new_provider.id})")
# 4. ServiceProfile létrehozása
fingerprint = hashlib.sha256(
f"{provider_data['name']}:{provider_data['email']}:{provider_data['phone']}".encode()
).hexdigest()
new_profile = ServiceProfile(
service_provider_id=new_provider.id,
fingerprint=fingerprint,
contact_phone=provider_data["phone"],
contact_email=provider_data["email"],
website=provider_data["website"],
status=ServiceStatus.active,
specialization_tags=provider_data.get("raw_data", {}),
)
db.add(new_profile)
await db.flush()
logger.info(f"✅ ServiceProfile létrehozva (ID={new_profile.id})")
# 5. ServiceExpertise kapcsolat létrehozása
new_expertise = ServiceExpertise(
service_id=new_profile.id,
expertise_id=expertise_tag.id,
confidence_level=1.0,
)
db.add(new_expertise)
await db.flush()
logger.info(f"✅ ServiceExpertise kapcsolat létrehozva: {expertise_tag.name_hu}")
inserted_count += 1
await db.commit()
logger.info(
f"\n📊 Összegzés: {inserted_count} új biztosító beszúrva, "
f"{skipped_count} már létezett."
)
except Exception as e:
await db.rollback()
logger.error(f"❌ Hiba a seedelés során: {e}", exc_info=True)
raise
finally:
await engine.dispose()
if __name__ == "__main__":
asyncio.run(seed_insurance_providers())