feat: Semaine 8

This commit is contained in:
gauvainboiche
2026-05-11 09:25:19 +02:00
parent 606e43e53f
commit 3315cb2336
123 changed files with 5748 additions and 0 deletions
@@ -0,0 +1,39 @@
import sys, os, json
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from kafka import KafkaConsumer
from shared.events import BOOTSTRAP_SERVERS, TOPIC_ORDERS, TOPIC_PAYMENTS, TOPIC_NOTIFICATIONS
def run():
consumer = KafkaConsumer(
TOPIC_PAYMENTS,
TOPIC_ORDERS,
bootstrap_servers=BOOTSTRAP_SERVERS,
group_id="notif_service",
auto_offset_reset="latest",
value_deserializer=lambda v: json.loads(v.decode("utf-8"))
)
print("[NOTIFICATION SERVICE] Service de notification démarré, en attente d'évènements...")
for message in consumer:
event = message.value
event_type = event["type"]
payload = event["payload"]
order_id = payload["order_id"]
if event_type == "payment.confirmed":
print(f"[NOTIFICATION SERVICE] 🎉 Paiement confirmé pour la commande {order_id} "
f"(client {payload['customer_id']}, montant {payload['amount']}€)")
elif event_type == "payment.failed":
print(f"[NOTIFICATION SERVICE] ❌ Paiement échoué pour la commande {order_id} "
f"(client {payload['customer_id']}, montant {payload['amount']}€)")
elif event_type == "order.preparation_started":
print(f"[NOTIFICATION SERVICE] 🍳 Préparation commencée pour la commande {order_id} "
f"(restaurant {payload['restaurant_id']})")
if __name__ == "__main__":
run()