This commit is contained in:
Hamza-Ayed
2024-10-14 14:42:47 +03:00
parent 64b2bba1c5
commit fc81405b7a
5 changed files with 129 additions and 83 deletions

View File

@@ -51,6 +51,7 @@ class AppLink {
//=======================promo===================ride.mobile-app.store/ride/promo/get.php
static String promo = '$server/ride/promo';
static String getPassengersPromo = "$promo/get.php";
static String getPromoFirst = "$promo/getPromoFirst.php";
static String getPromoBytody = "$promo/getPromoBytody.php";
static String addPassengersPromo = "$promo/add.php";
static String deletePassengersPromo = "$promo/delete.php";
@@ -58,28 +59,21 @@ class AppLink {
////=======================cancelRide===================
static String ride = '$server/ride';
static String addCancelRideFromPassenger =
"${box.read(BoxName.serverChosen)}/ride/cancelRide/add.php";
static String cancelRide =
"${box.read(BoxName.serverChosen)}/ride/cancelRide/get.php";
static String addCancelRideFromPassenger = "$server/ride/cancelRide/add.php";
static String cancelRide = "$server/ride/cancelRide/get.php";
//-----------------ridessss------------------
static String addRides = "$ride/rides/add.php";
static String getRides =
"${box.read(BoxName.serverChosen)}/ride/rides/get.php";
static String getRideOrderID =
"${box.read(BoxName.serverChosen)}/ride/rides/getRideOrderID.php";
static String getRideStatus =
"${box.read(BoxName.serverChosen)}/ride/rides/getRideStatus.php";
static String getRides = "$server/ride/rides/get.php";
static String getRideOrderID = "$server/ride/rides/getRideOrderID.php";
static String getRideStatus = "$server/ride/rides/getRideStatus.php";
static String getRideStatusBegin =
"${box.read(BoxName.serverChosen)}/ride/rides/getRideStatusBegin.php";
"$server/ride/rides/getRideStatusBegin.php";
static String getRideStatusFromStartApp =
"$ride/rides/getRideStatusFromStartApp.php";
static String updateRides =
"${box.read(BoxName.serverChosen)}/ride/rides/update.php";
static String updateRides = "$server/ride/rides/update.php";
static String updateStausFromSpeed =
"${box.read(BoxName.serverChosen)}/ride/rides/updateStausFromSpeed.php";
static String deleteRides =
"${box.read(BoxName.serverChosen)}/ride/rides/delete.php";
"$server/ride/rides/updateStausFromSpeed.php";
static String deleteRides = "$server/ride/rides/delete.php";
//-----------------DriverPayment------------------
static String adddriverScam = "$ride/driver_scam/add.php";
@@ -112,9 +106,9 @@ class AppLink {
//-----------------Driver NotificationCaptain------------------
static String addNotificationCaptain = "$ride/notificationCaptain/add.php";
static String addWaitingRide =
"$endPoint/ride/notificationCaptain/addWaitingRide.php";
"$server/ride/notificationCaptain/addWaitingRide.php";
static String updateWaitingTrip =
"$endPoint/ride/notificationCaptain/updateWaitingTrip.php";
"$server/ride/notificationCaptain/updateWaitingTrip.php";
static String getRideWaiting =
"$endPoint/ride/notificationCaptain/getRideWaiting.php";
static String getNotificationCaptain = "$ride/notificationCaptain/get.php";

View File

@@ -171,6 +171,13 @@ class LoginController extends GetxController {
middleText: "Your invite code was successfully applied!"
.tr, // Automatically translates based on the current locale
onConfirm: () {
CRUD().post(link: AppLink.addPassengersPromo, payload: {
"promoCode":
'S-${box.read(BoxName.name).toString().split(' ')[0]}',
"amount": '25',
"passengerID": box.read(BoxName.passengerID).toString(),
"description": 'promo first'
});
Get.offAll(() =>
const MapPagePassenger()); // Navigate to MapPagePassenger after confirmation
},

View File

@@ -362,14 +362,39 @@ class MapPassengerController extends GetxController {
"order_id": rideId.toString(), // Convert to String
"status": 'waiting'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link: "${AppLink.endPoint}/ride/driver_order/update.php",
payload: {
"order_id": rideId.toString(), // Convert to String
"status": 'waiting'
});
}
await CRUD().post(link: AppLink.updateRides, payload: {
"id": rideId.toString(), // Convert to String
"status": 'waiting'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link: "${AppLink.endPoint}/ride/rides/update.php",
payload: {
"id": rideId.toString(), // Convert to String
"status": 'waiting'
});
}
CRUD().post(link: AppLink.updateWaitingTrip, payload: {
"id": rideId.toString(), // Convert to String
"status": 'wait'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link:
"${AppLink.endPoint}/ride/notificationCaptain/updateWaitingTrip.php",
payload: {
"id": rideId.toString(), // Convert to String
"status": 'wait'
});
}
tick = 0;
}
await getCarForFirstConfirm(box.read(BoxName.carType));
@@ -1274,50 +1299,25 @@ class MapPassengerController extends GetxController {
}
});
(rideId); //
CRUD().post(
link: '${AppLink.seferAlexandriaServer}/ride/rides/add.php',
payload: {
"start_location": //'${data[0]['start_address']}',
'${data[0]["start_location"]['lat']},${data[0]["start_location"]['lng']}',
"end_location": //'${data[0]['end_address']}',
'${data[0]["end_location"]['lat']},${data[0]["end_location"]['lng']}',
"date": DateTime.now().toString(),
"time": DateTime.now().toString(),
"endtime": durationToAdd.toString(),
"price": totalPassenger.toStringAsFixed(2),
"passenger_id": box.read(BoxName.passengerID).toString(),
"driver_id": dataCarsLocationByPassenger['data'][carsOrder]
['driver_id']
.toString(),
"status": "waiting",
'carType': box.read(BoxName.carType),
"price_for_driver": totalPassenger.toString(),
"price_for_passenger": totalME.toString(),
"distance": distance.toString(),
"paymentMethod": paymentController.isWalletChecked.toString(),
});
CRUD().post(
link: '${AppLink.seferGizaServer}/ride/rides/add.php',
payload: {
"start_location": //'${data[0]['start_address']}',
'${data[0]["start_location"]['lat']},${data[0]["start_location"]['lng']}',
"end_location": //'${data[0]['end_address']}',
'${data[0]["end_location"]['lat']},${data[0]["end_location"]['lng']}',
"date": DateTime.now().toString(),
"time": DateTime.now().toString(),
"endtime": durationToAdd.toString(),
"price": totalPassenger.toStringAsFixed(2),
"passenger_id": box.read(BoxName.passengerID).toString(),
"driver_id": dataCarsLocationByPassenger['data'][carsOrder]
['driver_id']
.toString(),
"status": "waiting",
'carType': box.read(BoxName.carType),
"price_for_driver": totalPassenger.toString(),
"price_for_passenger": totalME.toString(),
"distance": distance.toString(),
"paymentMethod": paymentController.isWalletChecked.toString(),
});
CRUD().post(link: '${AppLink.endPoint}/ride/rides/add.php', payload: {
"start_location": //'${data[0]['start_address']}',
'${data[0]["start_location"]['lat']},${data[0]["start_location"]['lng']}',
"end_location": //'${data[0]['end_address']}',
'${data[0]["end_location"]['lat']},${data[0]["end_location"]['lng']}',
"date": DateTime.now().toString(),
"time": DateTime.now().toString(),
"endtime": durationToAdd.toString(),
"price": totalPassenger.toStringAsFixed(2),
"passenger_id": box.read(BoxName.passengerID).toString(),
"driver_id": dataCarsLocationByPassenger['data'][carsOrder]['driver_id']
.toString(),
"status": "waiting",
'carType': box.read(BoxName.carType),
"price_for_driver": totalPassenger.toString(),
"price_for_passenger": totalME.toString(),
"distance": distance.toString(),
"paymentMethod": paymentController.isWalletChecked.toString(),
});
delayAndFetchRideStatusForAllDriverAvailable(rideId);
update();
@@ -1483,7 +1483,7 @@ class MapPassengerController extends GetxController {
isSearchingWindow = false;
update();
startTimerFromDriverToPassengerAfterApplied();
} else if (attemptCounter >= maxAttempts) {
} else if (attemptCounter >= maxAttempts && statusRide != 'Cancel') {
shouldFetch = false;
// If the status is still not "Apply" after 15 attempts
MyDialog().getDialog('upgrade price'.tr,
@@ -1625,8 +1625,9 @@ class MapPassengerController extends GetxController {
late String driverCarModel, driverCarMake, driverLicensePlate, driverName;
getUpdatedRideForDriverApply(String rideId) async {
// if (isDriversTokensSend) {
final res =
await CRUD().get(link: AppLink.getRideOrderID, payload: {'id': rideId});
final res = await CRUD().get(
link: "${AppLink.endPoint}/ride/rides/getRideOrderID.php",
payload: {'id': rideId});
if (res != 'failure') {
var response = jsonDecode(res);
Log.print('getUpdatedRideForDriverApply: $response');
@@ -2494,6 +2495,12 @@ class MapPassengerController extends GetxController {
"id": rideId.toString(), // Convert to String
"status": 'notApplyFromAnyDriver'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(link: "${AppLink.endPoint}/ride/rides/update.php", payload: {
"id": rideId.toString(), // Convert to String
"status": 'notApplyFromAnyDriver'
});
}
rideConfirm = false;
statusRide == 'Cancel';
isSearchingWindow = false;
@@ -2523,15 +2530,6 @@ class MapPassengerController extends GetxController {
"order_id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
await CRUD().post(link: AppLink.updateRides, payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
CRUD().post(link: AppLink.updateWaitingTrip, payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
print('Cancel');
FirebaseMessagesController().sendNotificationToDriverMAP(
'Cancel Trip',
'Trip Cancelled'.tr,
@@ -2539,6 +2537,42 @@ class MapPassengerController extends GetxController {
[],
'cancel.wav',
);
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link: "$AppLink.endPoint/ride/driver_order/update.php",
payload: {
"order_id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
}
await CRUD().post(link: AppLink.updateRides, payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link: "${AppLink.endPoint}/ride/rides/update.php",
payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
}
CRUD().post(link: AppLink.updateWaitingTrip, payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link:
"${AppLink.endPoint}/ride/notificationCaptain/updateWaitingTrip.php",
payload: {
"id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
}
print('Cancel');
}
Get.offAll(const MapPagePassenger());
@@ -4093,7 +4127,11 @@ class MapPassengerController extends GetxController {
if (response != 'failure') {
// Trip saved successfully
Get.snackbar('Success'.tr, 'Trip booked successfully'.tr);
if (AppLink.endPoint != AppLink.seferCairoServer) {
CRUD().post(
link: "${AppLink.endPoint}/ride/mishwari/add.php",
payload: tripData);
}
// Set up local notification
// await setLocalNotification(tripDateTime);
@@ -4167,11 +4205,23 @@ class MapPassengerController extends GetxController {
}
}
firstTimeRunToGetCoupon(String promo, validity, discount) {
firstTimeRunToGetCoupon() async {
// Check if it's the first time and the app is installed and gift token is available
if (box.read(BoxName.isFirstTime).toString() == '0' &&
box.read(BoxName.isInstall).toString() == '1' &&
box.read(BoxName.isGiftToken).toString() == '0') {
var promo, discount, validity;
var resPromo = await CRUD().get(link: AppLink.getPromoFirst, payload: {
"passengerID": box.read(BoxName.passengerID).toString(),
});
if (resPromo != 'failure') {
var d1 = jsonDecode(resPromo);
promo = d1['message']['promo_code'];
discount = d1['message']['amount'];
validity = d1['message']['validity_end_date'];
}
box.write(BoxName.isFirstTime, '1');
// Show a full-screen modal styled as an ad
Get.dialog(
AlertDialog(
@@ -4218,7 +4268,7 @@ class MapPassengerController extends GetxController {
box.write(BoxName.tipPercentage, '0');
Get.put(AudioRecorderController());
// await getNearestDriverByPassengerLocation();
firstTimeRunToGetCoupon('SEFER25', '1 WEEEK', '25%');
firstTimeRunToGetCoupon();
initilizeGetStorage();
cardNumber = await SecureStorage().readData(BoxName.cardNumber);

View File

@@ -158,6 +158,7 @@ class PromoBanner extends StatelessWidget {
SnackBar(content: Text('Promo code copied to clipboard!'.tr)),
);
box.write(BoxName.isGiftToken, '1');
box.write(BoxName.isFirstTime, '1');
Get.back();
},
style: ElevatedButton.styleFrom(

View File

@@ -1,15 +1,9 @@
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/main.dart';
import 'package:SEFER/views/auth/sms_verfy_page.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import '../../../constant/colors.dart';
import '../../../controller/firebase/firbase_messge.dart';
import '../../../controller/functions/audio_record1.dart';
import '../../../controller/functions/tts.dart';
import '../../../controller/home/map_passenger_controller.dart';
import '../../../print.dart';
GetBuilder<MapPassengerController> leftMainMenuIcons() {
final textToSpeechController = Get.put(TextToSpeechController());