Zentrale Excel-Webhook-Zustellung

This commit is contained in:
2026-06-16 15:16:02 +02:00
parent 53d8cd7339
commit 57dfae624d
5 changed files with 237 additions and 22 deletions
+27 -1
View File
@@ -90,7 +90,11 @@ DECLARE
v_event_key TEXT;
BEGIN
IF TG_OP = 'INSERT' THEN
v_event_key := format('order.imported:%s', NEW.external_ref);
v_event_key := format(
'order.imported:%s:%s',
NEW.external_ref,
to_char(NEW.imported_at, 'YYYYMMDDHH24MISSUS')
);
PERFORM fn_enqueue_event(
'order.imported',
v_event_key,
@@ -106,6 +110,28 @@ BEGIN
)
);
ELSIF TG_OP = 'UPDATE' THEN
IF OLD.imported_at IS DISTINCT FROM NEW.imported_at THEN
v_event_key := format(
'order.imported:%s:%s',
NEW.external_ref,
to_char(NEW.imported_at, 'YYYYMMDDHH24MISSUS')
);
PERFORM fn_enqueue_event(
'order.imported',
v_event_key,
'sales_order',
NEW.id::TEXT,
jsonb_build_object(
'orderId', NEW.id,
'externalRef', NEW.external_ref,
'orderSource', NEW.order_source,
'orderStatus', NEW.order_status,
'paymentStatus', NEW.payment_status,
'occurredAt', NOW()
)
);
END IF;
IF OLD.order_status IS DISTINCT FROM NEW.order_status AND NEW.order_status = 'cancelled' THEN
v_event_key := format('order.cancelled.full:%s:%s', NEW.external_ref, COALESCE(NEW.cancelled_at, NOW()));
PERFORM fn_enqueue_event(