Update: 2026-06-26 02:29:35
This commit is contained in:
@@ -35,17 +35,16 @@ $sql = "SELECT
|
|||||||
FROM
|
FROM
|
||||||
passengers p
|
passengers p
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
ride r ON p.id = r.passenger_id
|
ride r ON p.id = r.passenger_id AND r.id = (
|
||||||
|
|
||||||
WHERE
|
|
||||||
p.phone = :phone
|
|
||||||
AND r.id = (
|
|
||||||
SELECT id
|
SELECT id
|
||||||
FROM ride
|
FROM ride
|
||||||
WHERE passenger_id = p.id
|
WHERE passenger_id = p.id
|
||||||
ORDER BY date DESC, time DESC
|
ORDER BY date DESC, time DESC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
)";
|
)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
p.phone = :phone";
|
||||||
|
|
||||||
$stmt = $con->prepare($sql);
|
$stmt = $con->prepare($sql);
|
||||||
$stmt->bindParam(':phone', $phoneEncrypted);
|
$stmt->bindParam(':phone', $phoneEncrypted);
|
||||||
@@ -70,6 +69,6 @@ if ($stmt->rowCount() > 0) {
|
|||||||
|
|
||||||
jsonSuccess($rows);
|
jsonSuccess($rows);
|
||||||
} else {
|
} else {
|
||||||
jsonError("No wallet record found");
|
jsonError("No passenger found");
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@@ -4,7 +4,8 @@ import 'package:siro_service/constant/box_name.dart';
|
|||||||
import 'package:siro_service/controller/functions/crud.dart';
|
import 'package:siro_service/controller/functions/crud.dart';
|
||||||
import 'package:siro_service/main.dart';
|
import 'package:siro_service/main.dart';
|
||||||
import 'package:siro_service/print.dart';
|
import 'package:siro_service/print.dart';
|
||||||
|
import 'package:siro_service/controller/functions/encrypt_decrypt.dart';
|
||||||
|
import 'package:siro_service/env/env.dart';
|
||||||
/// مدير الجلسة - مسؤول عن مراقبة صلاحية الجلسة
|
/// مدير الجلسة - مسؤول عن مراقبة صلاحية الجلسة
|
||||||
/// وتجديدها تلقائياً عند انتهائها
|
/// وتجديدها تلقائياً عند انتهائها
|
||||||
class SessionManager extends GetxController {
|
class SessionManager extends GetxController {
|
||||||
@@ -28,12 +29,13 @@ class SessionManager extends GetxController {
|
|||||||
/// التحقق من صلاحية الجلسة الحالية
|
/// التحقق من صلاحية الجلسة الحالية
|
||||||
SessionStatus checkSessionValidity() {
|
SessionStatus checkSessionValidity() {
|
||||||
try {
|
try {
|
||||||
final token = box.read(BoxName.jwt)?.toString() ?? '';
|
final rawToken = box.read(BoxName.jwt)?.toString() ?? '';
|
||||||
if (token.isEmpty) {
|
if (rawToken.isEmpty) {
|
||||||
status.value = SessionStatus.expired;
|
status.value = SessionStatus.expired;
|
||||||
return SessionStatus.expired;
|
return SessionStatus.expired;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final token = r(rawToken).toString().split(Env.addd)[0];
|
||||||
final isValid = CRUD.isJwtValid(token);
|
final isValid = CRUD.isJwtValid(token);
|
||||||
if (!isValid) {
|
if (!isValid) {
|
||||||
status.value = SessionStatus.expired;
|
status.value = SessionStatus.expired;
|
||||||
@@ -58,7 +60,9 @@ class SessionManager extends GetxController {
|
|||||||
await Future.delayed(const Duration(milliseconds: 500));
|
await Future.delayed(const Duration(milliseconds: 500));
|
||||||
}
|
}
|
||||||
// نتحقق مرة أخرى بعد انتهاء التجديد
|
// نتحقق مرة أخرى بعد انتهاء التجديد
|
||||||
final isValid = CRUD.isJwtValid(box.read(BoxName.jwt)?.toString() ?? '');
|
final rawToken = box.read(BoxName.jwt)?.toString() ?? '';
|
||||||
|
final token = rawToken.isNotEmpty ? r(rawToken).toString().split(Env.addd)[0] : '';
|
||||||
|
final isValid = CRUD.isJwtValid(token);
|
||||||
return isValid;
|
return isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +82,8 @@ class SessionManager extends GetxController {
|
|||||||
await CRUD().getJWT();
|
await CRUD().getJWT();
|
||||||
|
|
||||||
// التحقق من نجاح التجديد
|
// التحقق من نجاح التجديد
|
||||||
final newToken = box.read(BoxName.jwt)?.toString() ?? '';
|
final newRawToken = box.read(BoxName.jwt)?.toString() ?? '';
|
||||||
|
final newToken = newRawToken.isNotEmpty ? r(newRawToken).toString().split(Env.addd)[0] : '';
|
||||||
final isValid = CRUD.isJwtValid(newToken);
|
final isValid = CRUD.isJwtValid(newToken);
|
||||||
|
|
||||||
if (isValid) {
|
if (isValid) {
|
||||||
|
|||||||
@@ -523,10 +523,19 @@ class MainController extends GetxController {
|
|||||||
link: AppLink.getPassengersByPhone,
|
link: AppLink.getPassengersByPhone,
|
||||||
payload: {"phone": CRUD.normalizePhone(passengerPhoneController.text)});
|
payload: {"phone": CRUD.normalizePhone(passengerPhoneController.text)});
|
||||||
|
|
||||||
if (res != 'failure') {
|
if (res != 'failure' && res is Map && res['status'] == 'success') {
|
||||||
var d = res;
|
var d = res;
|
||||||
passengerData = d;
|
passengerData = d;
|
||||||
update();
|
update();
|
||||||
|
} else {
|
||||||
|
Log.print('Error getting passenger: $res');
|
||||||
|
if (res is Map && res.containsKey('message')) {
|
||||||
|
mySnackbarError(res['message'].toString());
|
||||||
|
} else {
|
||||||
|
mySnackbarError('Passenger not found'.tr);
|
||||||
|
}
|
||||||
|
passengerData = {};
|
||||||
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user