Update: 2026-08-07 02:37:30
This commit is contained in:
@@ -41,21 +41,16 @@ function computePassengerCancelFee(
|
||||
// لا أحد تحرّك، فلا أحد يستحق تعويضاً. وهذه أغلب حالات الإلغاء.
|
||||
if (empty($driverId) || (string) $driverId === '0') {
|
||||
$exemptReason = 'no_driver_assigned';
|
||||
try {
|
||||
$stmtCur = $con->prepare("SELECT currency, country FROM kazan LIMIT 1");
|
||||
$stmtCur->execute();
|
||||
$rowCur = $stmtCur->fetch(PDO::FETCH_ASSOC) ?: [];
|
||||
$currency = !empty($rowCur['currency'])
|
||||
? (string) $rowCur['currency']
|
||||
: getCurrencyByCountry((string) ($rowCur['country'] ?? 'Syria'));
|
||||
} catch (PDOException $e) { /* الافتراضي يكفي */ }
|
||||
$rowCur = getKazanForRide($con, $rideId);
|
||||
$currency = !empty($rowCur['currency'])
|
||||
? (string) $rowCur['currency']
|
||||
: getCurrencyByCountry((string) ($rowCur['country'] ?? 'Syria'));
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
// ── سياسة الدولة ────────────────────────────────────────
|
||||
$stmtKazan = $con->prepare("SELECT * FROM kazan LIMIT 1");
|
||||
$stmtKazan->execute();
|
||||
$kazan = $stmtKazan->fetch(PDO::FETCH_ASSOC) ?: [];
|
||||
// أسعار دولة هذه الرحلة تحديداً — لا أول صف في الجدول.
|
||||
$kazan = getKazanForRide($con, $rideId, 'Syria', $driverId);
|
||||
|
||||
// العمود currency هو المرجع، وgetCurrencyByCountry احتياط إن كان فارغاً.
|
||||
$currency = !empty($kazan['currency'])
|
||||
@@ -137,13 +132,8 @@ function applyCancelFeeTransfer(PDO $con, $passengerId, $driverId, $rideId, floa
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$stmtKazan = $con->prepare("SELECT country FROM kazan LIMIT 1");
|
||||
$stmtKazan->execute();
|
||||
$country = strtolower((string) ($stmtKazan->fetchColumn() ?: 'jordan'));
|
||||
} catch (PDOException $e) {
|
||||
$country = 'jordan';
|
||||
}
|
||||
$kazanRow = getKazanForRide($con, $rideId, 'Syria', $driverId);
|
||||
$country = strtolower((string) ($kazanRow['country'] ?? 'jordan'));
|
||||
|
||||
$walletServer = "https://walletintaleq.intaleq.xyz";
|
||||
if ($country === 'jordan') {
|
||||
|
||||
@@ -226,9 +226,11 @@ try {
|
||||
// + دقائق الانتظار × سعر الدقيقة حسب وقت اليوم
|
||||
// كل المدخلات مسجَّلة على الخادم؛ لا شيء منها من العميل.
|
||||
// ─────────────────────────────────────────────────────────
|
||||
$stmtKazan = $con->prepare("SELECT * FROM kazan LIMIT 1");
|
||||
$stmtKazan->execute();
|
||||
$kazan = $stmtKazan->fetch(PDO::FETCH_ASSOC) ?: [];
|
||||
// أسعار دولة هذه الرحلة تحديداً. كان "LIMIT 1" يعيد أول صف
|
||||
// (سوريا) فيطبّق 40 SYP/كم على رحلة أردنية سعرها 0.284 JOD/كم.
|
||||
// $driverId يُمرَّر صراحةً: القسم ٣ صفّر ride.driver_id قبل هذه
|
||||
// النقطة، فالبحث عبر الرحلة كان سيرجع بلا دولة ويقع على سوريا.
|
||||
$kazan = getKazanForRide($con, $rideId, 'Syria', $driverId);
|
||||
$country = $kazan['country'] ?? 'Jordan';
|
||||
|
||||
$compensationCap = (float) ($kazan['cancelCompensationCap'] ?? 0);
|
||||
|
||||
Reference in New Issue
Block a user