Zentrale Excel-Webhook-Zustellung
This commit is contained in:
@@ -516,7 +516,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,
|
||||
@@ -531,6 +535,27 @@ 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,
|
||||
'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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user