diff --git a/android/build.gradle b/android/build.gradle index 216e3bd..19c865e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,9 +7,9 @@ buildscript { dependencies { // START: FlutterFire Configuration - classpath 'com.google.gms:google-services:4.3.15' + classpath 'com.google.gms:google-services:4.4.2' // END: FlutterFire Configuration - classpath 'com.android.tools.build:gradle:7.3.0' + classpath 'com.android.tools.build:gradle:7.3.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/android/gradle.properties b/android/gradle.properties index 94adc3a..bdce12a 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,4 @@ -org.gradle.jvmargs=-Xmx1536M +# org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true +org.gradle.jvmargs=-Xmx4096m \ No newline at end of file diff --git a/lib/constant/links.dart b/lib/constant/links.dart index d9bc1e6..6a8f6d4 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -74,6 +74,8 @@ class AppLink { static String addDriverPaymentPoints = "$ride/driverPayment/add.php"; static String addPaymentToken = "$ride/driverWallet/addPaymentToken.php"; //driverWallet/addPaymentToken.php + static String addPaymentTokenPassenger = + "$ride/passengerWallet/addPaymentTokenPassenger.php"; static String getDriverPaymentPoints = "$ride/driverWallet/get.php"; static String getDriverpaymentToday = "$ride/payment/get.php"; static String getCountRide = "$ride/payment/getCountRide.php"; diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 39f417b..660e6c2 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -54,7 +54,7 @@ class MapDriverController extends GetxController { late String distance; late String passengerName; late String passengerEmail; - late String totalPassenger; + late String totalPricePassenger; late String passengerPhone; late String rideId; late String isHaveSteps; @@ -443,6 +443,29 @@ class MapDriverController extends GetxController { })); } + String paymentToken = ''; + Future generateToken(String amount) async { + var res = await CRUD().post(link: AppLink.addPaymentToken, payload: { + 'driverID': box.read(BoxName.driverID).toString(), + 'amount': amount.toString(), + }); + var d = jsonDecode(res); + print('paymentToken ${d['message']}'); + return d['message']; + } + + String paymentTokenPassenger = ''; + Future generateTokenPassenger(String amount) async { + var res = + await CRUD().post(link: AppLink.addPaymentTokenPassenger, payload: { + 'passengerId': passengerId, + 'amount': amount.toString(), + }); + var d = jsonDecode(res); + print('paymentToken ${d['message']}'); + return d['message']; + } + void finishRideFromDriver1() async { double distanceToDestination = Geolocator.distanceBetween( latLngPassengerDestination.latitude, @@ -455,11 +478,14 @@ class MapDriverController extends GetxController { isRideFinished = true; isRideStarted = false; isPriceWindow = false; - totalCost = - carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady' - ? totalPassenger - : price < double.parse(totalPassenger) - ? totalPassenger + totalCost = price < 30 + ? carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady' + ? '20' + : '30' + : price < double.parse(totalPricePassenger) + ? totalPricePassenger + : carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady' + ? totalPricePassenger : price.toStringAsFixed(2); paymentAmount = totalCost; box.write(BoxName.statusDriverLocation, 'off'); @@ -472,22 +498,29 @@ class MapDriverController extends GetxController { }); print('walletChecked is $walletChecked'); if (walletChecked == 'true') { + paymentToken = await generateTokenPassenger( + ((-1) * double.parse(paymentAmount)).toString()); await CRUD().post(link: AppLink.addPassengersWallet, payload: { 'passenger_id': passengerId, - 'balance': ((-1) * double.parse(paymentAmount)).toString() + 'balance': ((-1) * double.parse(paymentAmount)).toString(), + 'token': paymentToken, }); } + paymentToken = await generateToken(paymentAmount.toString()); await CRUD().post(link: AppLink.addDriverpayment, payload: { 'rideId': rideId, 'amount': paymentAmount, 'payment_method': paymentMethod, 'passengerID': passengerId, + 'token': paymentToken, 'driverID': box.read(BoxName.driverID).toString(), }); print('passengerWalletBurc bef ${double.parse(passengerWalletBurc)}'); if (double.parse(passengerWalletBurc) < 0) { + var paymentToken1 = await generateToken(paymentAmount.toString()); await CRUD().post(link: AppLink.addPassengersWallet, payload: { 'passenger_id': passengerId, + 'token': paymentToken1, 'balance': ((-1) * double.parse(passengerWalletBurc)).toString() }); print('passengerWalletBurc aft ${double.parse(passengerWalletBurc)}'); @@ -498,10 +531,12 @@ class MapDriverController extends GetxController { (-1) * double.parse(kazan) / 100; // for eygpt /100 + var paymentToken2 = await generateToken(paymentAmount.toString()); var res = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { 'paymentID': 'rideId$rideId', 'amount': (pointsSubstraction).toStringAsFixed(0), 'paymentMethod': paymentMethod, + 'token': paymentToken2, 'driverID': box.read(BoxName.driverID).toString(), }); print(res); @@ -851,11 +886,13 @@ class MapDriverController extends GetxController { duration = Get.arguments['Duration']; totalCost = Get.arguments['totalCost']; passengerId = Get.arguments['passengerId']; + print('passengerID argument =${Get.arguments['passengerId']} '); + print('passengerID =$passengerId '); driverId = Get.arguments['driverId']; distance = Get.arguments['Distance']; passengerName = Get.arguments['name']; passengerEmail = Get.arguments['email']; - totalPassenger = Get.arguments['totalPassenger']; + totalPricePassenger = Get.arguments['totalPassenger']; passengerPhone = Get.arguments['phone']; walletChecked = Get.arguments['WalletChecked']; tokenPassenger = Get.arguments['tokenPassenger']; diff --git a/lib/controller/home/payment/captain_wallet_controller.dart b/lib/controller/home/payment/captain_wallet_controller.dart index 9deca93..659cf32 100644 --- a/lib/controller/home/payment/captain_wallet_controller.dart +++ b/lib/controller/home/payment/captain_wallet_controller.dart @@ -159,19 +159,27 @@ class CaptainWalletController extends GetxController { }); } - Future addtransferDriversWallet(String paymentMethod) async { + Future addtransferDriversWallet(String paymentMethod1, paymentMethod2) async { paymentID = - await addDriverPayment(paymentMethod, amountFromBudgetController.text); + await addDriverPayment(paymentMethod1, amountFromBudgetController.text); paymentToken = await generateToken(amountFromBudgetController.text); await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { 'driverID': box.read(BoxName.driverID).toString(), 'paymentID': paymentID.toString(), 'amount': (int.parse(amountFromBudgetController.text) * -1).toString(), 'token': paymentToken, - 'paymentMethod': paymentMethod.toString(), + 'paymentMethod': paymentMethod1.toString(), }); - paymentID = - await addDriverPayment(paymentMethod, amountFromBudgetController.text); + // paymentToken = await generateToken(amountFromBudgetController.text); + // await CRUD().post(link: AppLink.addDriverpayment, payload: { + // 'driverID': box.read(BoxName.driverID).toString(), + // 'paymentID': paymentID.toString(), + // 'amount': (int.parse(amountFromBudgetController.text) * -1).toString(), + // 'token': paymentToken, + // 'paymentMethod': paymentMethod1.toString(), + // }); + paymentID = await addDriverPayment(paymentMethod2, + (int.parse(amountFromBudgetController.text) - 5).toString()); paymentToken = await generateToken(amountFromBudgetController.text); var res1 = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { @@ -179,7 +187,7 @@ class CaptainWalletController extends GetxController { 'paymentID': paymentID.toString(), 'amount': (int.parse(amountFromBudgetController.text) - 5).toString(), 'token': paymentToken, - 'paymentMethod': paymentMethod.toString(), + 'paymentMethod': paymentMethod2.toString(), }); if (res1 != 'failure') { FirebaseMessagesController().sendNotificationToDriverMAP( diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index 21b82b3..38b9654 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -30,7 +30,7 @@ class PaymentController extends GetxController { final formKey = GlobalKey(); final promo = TextEditingController(); double totalPassenger = - double.parse(Get.find().totalPassenger); + double.parse(Get.find().totalPricePassenger); int? selectedAmount = 0; List totalPassengerWalletDetails = []; String passengerTotalWalletAmount = ''; diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 099fbd3..2f238bd 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -120,7 +120,7 @@ class RateController extends GetxController { Get.find().passengerDestination.toString(), 'name': Get.find().passengerName.toString(), 'timeOfTrip': Get.find().timeOfOrder.toString(), - 'fee': Get.find().totalPassenger.toString(), + 'fee': Get.find().totalPricePassenger.toString(), 'duration': Get.find().duration.toString(), 'phone': Get.find().passengerPhone.toString(), 'email': Get.find().passengerEmail.toString(), diff --git a/lib/views/home/Captin/driver_map_page.dart b/lib/views/home/Captin/driver_map_page.dart index 94f189e..e6ed49d 100644 --- a/lib/views/home/Captin/driver_map_page.dart +++ b/lib/views/home/Captin/driver_map_page.dart @@ -21,6 +21,8 @@ class PassengerLocationMapPage extends StatelessWidget { @override Widget build(BuildContext context) { Get.put(MapDriverController()); + // Get.put(MapDriverController()) + // .startTimerToShowPassengerInfoWindowFromDriver(); return MyScafolld( title: 'Map Passenger'.tr, diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index 9a9e4b8..af44ceb 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -156,24 +156,25 @@ GetBuilder leftMainMenuCaptainIcons() { ), ), ), - // AnimatedContainer( - // duration: const Duration(microseconds: 200), - // width: controller.widthMapTypeAndTraffic, - // decoration: BoxDecoration( - // color: AppColor.secondaryColor, - // border: Border.all(color: AppColor.blueColor), - // borderRadius: BorderRadius.circular(15)), - // child: IconButton( - // onPressed: () { - - // }, - // icon: const Icon( - // FontAwesome5.grin_tears, - // size: 29, - // color: AppColor.blueColor, - // ), - // ), - // ), + AnimatedContainer( + duration: const Duration(microseconds: 200), + width: controller.widthMapTypeAndTraffic, + decoration: BoxDecoration( + color: AppColor.secondaryColor, + border: Border.all(color: AppColor.blueColor), + borderRadius: BorderRadius.circular(15)), + child: IconButton( + onPressed: () { + Get.to(() => PassengerLocationMapPage(), + arguments: box.read(BoxName.rideArguments)); + }, + icon: const Icon( + FontAwesome5.grin_tears, + size: 29, + color: AppColor.blueColor, + ), + ), + ), ], )), ); diff --git a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart index 01aa0a1..12ed1ee 100644 --- a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart +++ b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart @@ -169,7 +169,8 @@ class PassengerInfoWindow extends StatelessWidget { Text("cost is ".tr, style: AppStyle.title), Text( - controller.totalPassenger.toString(), + controller.totalPricePassenger + .toString(), style: AppStyle.number, ), ], diff --git a/lib/views/home/Captin/orderCaptin/order_request_page.dart b/lib/views/home/Captin/orderCaptin/order_request_page.dart index 0e048d0..b6071b1 100644 --- a/lib/views/home/Captin/orderCaptin/order_request_page.dart +++ b/lib/views/home/Captin/orderCaptin/order_request_page.dart @@ -329,7 +329,7 @@ class OrderRequestPage extends StatelessWidget { bodyToPassenger, ); Get.back(); - Get.to(() => PassengerLocationMapPage(), arguments: { + box.write(BoxName.rideArguments, { 'passengerLocation': myList[0].toString(), 'passengerDestination': myList[1].toString(), 'Duration': myList[4].toString(), @@ -357,7 +357,7 @@ class OrderRequestPage extends StatelessWidget { 'step2': myList[23].toString(), 'step3': myList[24].toString(), 'step4': myList[25].toString(), - 'passengerWalletBurc': myList[27].toString(), + 'passengerWalletBurc': myList[26].toString(), 'timeOfOrder': DateTime.now().toString(), 'totalPassenger': myList[2].toString(), 'carType': myList[31].toString(), @@ -365,6 +365,10 @@ class OrderRequestPage extends StatelessWidget { 'startNameLocation': myList[29].toString(), 'endNameLocation': myList[30].toString(), }); + print( + 'passengerID =${box.read(BoxName.rideArguments)}'); + Get.to(() => PassengerLocationMapPage(), + arguments: box.read(BoxName.rideArguments)); }, ), GetBuilder( diff --git a/lib/views/home/my_wallet/points_captain.dart b/lib/views/home/my_wallet/points_captain.dart index 72a7996..d9faa15 100644 --- a/lib/views/home/my_wallet/points_captain.dart +++ b/lib/views/home/my_wallet/points_captain.dart @@ -49,9 +49,9 @@ class PointsCaptain extends StatelessWidget { ? 'EGP' : 'JOD', () async { await captainWalletController.addDriverPayment( - 'visa', pricePoint); + 'visa-in', pricePoint); await captainWalletController.addDriverWallet( - 'visa', countPoint); + 'visa-in', countPoint); await captainWalletController .getCaptainWalletFromBuyPoints(); }); @@ -70,9 +70,9 @@ class PointsCaptain extends StatelessWidget { ? 'EGP' : 'JOD', () async { await captainWalletController.addDriverPayment( - 'visa', pricePoint); + 'visa-in', pricePoint); await captainWalletController.addDriverWallet( - 'visa', countPoint); + 'visa-in', countPoint); await captainWalletController .getCaptainWalletFromBuyPoints(); }); @@ -84,9 +84,9 @@ class PointsCaptain extends StatelessWidget { box.read(BoxName.countryCode) == 'Jordan' ? 'jod' : 'egp', () async { await captainWalletController.addDriverPayment( - 'visa', pricePoint); + 'visa-in', pricePoint); await captainWalletController.addDriverWallet( - 'visa', countPoint); + 'visa-in', countPoint); await captainWalletController.getCaptainWalletFromBuyPoints(); }); }, diff --git a/lib/views/home/my_wallet/transfer_budget_page.dart b/lib/views/home/my_wallet/transfer_budget_page.dart index c90305f..c7113c5 100644 --- a/lib/views/home/my_wallet/transfer_budget_page.dart +++ b/lib/views/home/my_wallet/transfer_budget_page.dart @@ -8,7 +8,6 @@ import 'package:SEFER/views/widgets/mycircular.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import '../../../constant/colors.dart'; import '../../../controller/home/payment/captain_wallet_controller.dart'; class TransferBudgetPage extends StatelessWidget { @@ -110,7 +109,9 @@ class TransferBudgetPage extends StatelessWidget { onPressed: () async { await captainWalletController .addtransferDriversWallet( - 'Transfer'); + 'TransferFrom', + 'TransferTo', + ); }) : const SizedBox() ], diff --git a/lib/views/home/my_wallet/walet_captain.dart b/lib/views/home/my_wallet/walet_captain.dart index 311afae..0cbb2cd 100644 --- a/lib/views/home/my_wallet/walet_captain.dart +++ b/lib/views/home/my_wallet/walet_captain.dart @@ -29,7 +29,7 @@ class WalletCaptain extends StatelessWidget { Get.put(CaptainWalletController()); @override Widget build(BuildContext context) { - Get.put(MapDriverController()).totalPassenger = '0'; + Get.put(MapDriverController()).totalPricePassenger = '0'; return MyScafolld( title: 'Driver Wallet'.tr, body: [ @@ -222,7 +222,7 @@ class WalletCaptain extends StatelessWidget { ), ), confirm: MyElevatedButton( - title: 'Pay', + title: 'Pay'.tr, onPressed: () async { if (double.parse( captainWalletController