-- +goose Up

-- 修复历史数据：订单已取消但支付流水仍停留在 created/paying 时，同步关闭支付流水。
UPDATE payment_orders p
JOIN rental_orders o ON o.id = p.order_id
SET p.status = 'closed',
    p.raw_response = JSON_OBJECT(
      'source', 'migration_cancelled_order',
      'reason', '订单已取消，关闭历史未完成支付单'
    ),
    p.updated_at = CURRENT_TIMESTAMP
WHERE p.biz_type = 'order_pay'
  AND p.status IN ('created', 'paying')
  AND o.status = 'cancelled';

-- +goose Down

-- 数据修复无法安全反推原状态，回滚时不重新打开已关闭支付流水。
SELECT 1;
