Files
Siro/walletintaleq.intaleq.xyz/v2/main/serviceApp/getDriverByPhone.php
2026-06-11 18:22:59 +03:00

131 lines
2.4 KiB
PHP

<?php
include "../connect.php";
$phone = filterRequest("phone");
$sql = "SELECT
COALESCE(
(
SELECT
COUNT(*)
FROM
`ride`
WHERE
`ride`.`driver_id` = d.id
),
0
) AS countRide,
COALESCE(
(
SELECT
AVG(`ratingDriver`.`rating`)
FROM
ratingDriver
WHERE
`ratingDriver`.`driver_id` = d.id
),
0
) AS rating,
COALESCE(
(
SELECT
SUM(pd.amount)
FROM
`payments` pd
WHERE
pd.driverID = d.id
),
0
) AS totalPayment,
COALESCE(
(
SELECT
SUM(dw.amount)
FROM
`driverWallet` dw
WHERE
dw.driverID = d.id
),
0
) AS totalDriverWallet,
COALESCE(
(
SELECT
COUNT(*)
FROM
complaint
WHERE
complaint.driver_id = d.id
),
0
) AS countComplaint,
COALESCE(
(
SELECT
COUNT(*)
FROM
driver_ride_scam scam
WHERE
scam.driverID = d.id
),
0
) AS countScam,
COALESCE(
(
SELECT
complaint.description
FROM
complaint
WHERE
complaint.driver_id = d.id
ORDER BY
complaint.date_resolved
DESC
LIMIT 1
),
''
) AS complaint, COALESCE(
(
SELECT
COUNT(*)
FROM
ratingPassenger
WHERE
ratingPassenger.driverID = d.id
),
0
) AS DRatingPassengersCount,
COALESCE(
(
SELECT
AVG(ratingPassenger.rating)
FROM
ratingPassenger
WHERE
ratingPassenger.driverID = d.id
),
0
) AS avgDRatingPassenger,
cr.*,
d.*
FROM
driver d
LEFT JOIN CarRegistration cr ON
cr.driverID = d.id
WHERE
d.`phone` = '$phone';
";
$stmt = $con->prepare($sql);
$stmt->execute();
if ($stmt->rowCount() > 0) {
// Fetch the record
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
printSuccess( $row);
}
else{
// Print a failure message
printFailure($message = "No wallet record found");
}
?>