From fc81405b7a32703e01833e624a996eb2fb905cac Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Mon, 14 Oct 2024 14:42:47 +0300 Subject: [PATCH] 10/14/1 --- lib/constant/links.dart | 30 ++-- lib/controller/auth/login_controller.dart | 7 + .../home/map_passenger_controller.dart | 168 ++++++++++++------ lib/models/model/painter_copoun.dart | 1 + .../map_widget.dart/left_main_menu_icons.dart | 6 - 5 files changed, 129 insertions(+), 83 deletions(-) diff --git a/lib/constant/links.dart b/lib/constant/links.dart index f8a36b7..78c4f36 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -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"; diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index 20aa194..851ffbd 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -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 }, diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 35a3da5..36e5dbd 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -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); diff --git a/lib/models/model/painter_copoun.dart b/lib/models/model/painter_copoun.dart index 3aaab2d..6149857 100644 --- a/lib/models/model/painter_copoun.dart +++ b/lib/models/model/painter_copoun.dart @@ -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( diff --git a/lib/views/home/map_widget.dart/left_main_menu_icons.dart b/lib/views/home/map_widget.dart/left_main_menu_icons.dart index 4ec375f..c9a53d6 100644 --- a/lib/views/home/map_widget.dart/left_main_menu_icons.dart +++ b/lib/views/home/map_widget.dart/left_main_menu_icons.dart @@ -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 leftMainMenuIcons() { final textToSpeechController = Get.put(TextToSpeechController());