From c6394fda66d31800f659257059178b3813b88abe Mon Sep 17 00:00:00 2001 From: "Leon.Schmidt" <159480018+leonw21342315@users.noreply.github.com> Date: Mon, 24 Aug 2026 20:44:37 +0200 Subject: [PATCH] PERF - streamline SkyRide refund recovery (#43) --- sky_phone/source/server/skyride.lua | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/sky_phone/source/server/skyride.lua b/sky_phone/source/server/skyride.lua index d1f3c2f..26e25c0 100644 --- a/sky_phone/source/server/skyride.lua +++ b/sky_phone/source/server/skyride.lua @@ -1836,16 +1836,21 @@ CreateThread(function() while true do local recovery_success, recovery_rows = pcall( Bridge.Database.Query, - ride_select .. (([[ - WHERE r.`refund_status` IN ('pending','completed') - AND ( - r.`status` = 'cancelled' - OR ( - r.`status` = 'payment_pending' - AND r.`updated_at` <= DATE_SUB( - CURRENT_TIMESTAMP, - INTERVAL %d SECOND - ) + (([[ + SELECT r.`id`, r.`status`, r.`refund_status`, r.`price`, + passenger.`owner_identifier` AS `passenger_identifier` + FROM `sky_phone_skyride_rides` r + INNER JOIN `sky_phone_skyride_profiles` passenger + ON passenger.`id` = r.`passenger_profile_id` + WHERE ( + r.`refund_status` = 'pending' + AND r.`status` = 'cancelled' + ) OR ( + r.`refund_status` IN ('pending','completed') + AND r.`status` = 'payment_pending' + AND r.`updated_at` <= DATE_SUB( + CURRENT_TIMESTAMP, + INTERVAL %d SECOND ) ) ORDER BY r.`updated_at` ASC