feat(M10-A): 完成统一通知中心与投递闭环
This commit is contained in:
@@ -443,7 +443,7 @@ export class WechatPaymentService {
|
||||
const [rows] = await connection.execute<RowDataPacket[]>(
|
||||
`SELECT user_id AS userId FROM qipai_order_user_access
|
||||
WHERE tenant_id = ? AND order_id = ? AND revoked_at IS NULL
|
||||
ORDER BY id LIMIT 1`,
|
||||
ORDER BY user_id LIMIT 1`,
|
||||
[tenantId, orderId]
|
||||
);
|
||||
return rows[0]?.userId ? String(rows[0].userId) : undefined;
|
||||
@@ -523,6 +523,18 @@ export class WechatPaymentService {
|
||||
[tenantId, refund.orderId, payment.orderStatus, traceId,
|
||||
refund.id, refund.amountCents]
|
||||
);
|
||||
await connection.execute(
|
||||
`INSERT IGNORE INTO qipai_outbox_events
|
||||
(tenant_id, aggregate_type, aggregate_id, event_type, idempotency_key, payload)
|
||||
VALUES (?, 'ORDER', ?, 'ORDER_COMPLETE_REFUND', ?, JSON_OBJECT(
|
||||
'storeId', ?, 'orderId', ?, 'customerId', (
|
||||
SELECT user_id FROM qipai_order_user_access
|
||||
WHERE tenant_id = ? AND order_id = ? ORDER BY user_id LIMIT 1
|
||||
), 'refundId', ?, 'amountCents', ?, 'status', 'REFUNDED'))`,
|
||||
[tenantId, refund.orderId, `refund:${refund.id}:succeeded:notification`,
|
||||
payment.storeId, refund.orderId, tenantId, refund.orderId,
|
||||
refund.id, refund.amountCents]
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user