This commit is contained in:
Hamza-Ayed
2024-06-18 12:17:24 +03:00
parent 95228ad855
commit a8921df473
14 changed files with 107 additions and 50 deletions

View File

@@ -7,9 +7,9 @@ buildscript {
dependencies { dependencies {
// START: FlutterFire Configuration // START: FlutterFire Configuration
classpath 'com.google.gms:google-services:4.3.15' classpath 'com.google.gms:google-services:4.4.2'
// END: FlutterFire Configuration // 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" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
} }

View File

@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M # org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
org.gradle.jvmargs=-Xmx4096m

View File

@@ -74,6 +74,8 @@ class AppLink {
static String addDriverPaymentPoints = "$ride/driverPayment/add.php"; static String addDriverPaymentPoints = "$ride/driverPayment/add.php";
static String addPaymentToken = static String addPaymentToken =
"$ride/driverWallet/addPaymentToken.php"; //driverWallet/addPaymentToken.php "$ride/driverWallet/addPaymentToken.php"; //driverWallet/addPaymentToken.php
static String addPaymentTokenPassenger =
"$ride/passengerWallet/addPaymentTokenPassenger.php";
static String getDriverPaymentPoints = "$ride/driverWallet/get.php"; static String getDriverPaymentPoints = "$ride/driverWallet/get.php";
static String getDriverpaymentToday = "$ride/payment/get.php"; static String getDriverpaymentToday = "$ride/payment/get.php";
static String getCountRide = "$ride/payment/getCountRide.php"; static String getCountRide = "$ride/payment/getCountRide.php";

View File

@@ -54,7 +54,7 @@ class MapDriverController extends GetxController {
late String distance; late String distance;
late String passengerName; late String passengerName;
late String passengerEmail; late String passengerEmail;
late String totalPassenger; late String totalPricePassenger;
late String passengerPhone; late String passengerPhone;
late String rideId; late String rideId;
late String isHaveSteps; late String isHaveSteps;
@@ -443,6 +443,29 @@ class MapDriverController extends GetxController {
})); }));
} }
String paymentToken = '';
Future<String> 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<String> 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 { void finishRideFromDriver1() async {
double distanceToDestination = Geolocator.distanceBetween( double distanceToDestination = Geolocator.distanceBetween(
latLngPassengerDestination.latitude, latLngPassengerDestination.latitude,
@@ -455,11 +478,14 @@ class MapDriverController extends GetxController {
isRideFinished = true; isRideFinished = true;
isRideStarted = false; isRideStarted = false;
isPriceWindow = false; isPriceWindow = false;
totalCost = totalCost = price < 30
carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady' ? carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady'
? totalPassenger ? '20'
: price < double.parse(totalPassenger) : '30'
? totalPassenger : price < double.parse(totalPricePassenger)
? totalPricePassenger
: carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady'
? totalPricePassenger
: price.toStringAsFixed(2); : price.toStringAsFixed(2);
paymentAmount = totalCost; paymentAmount = totalCost;
box.write(BoxName.statusDriverLocation, 'off'); box.write(BoxName.statusDriverLocation, 'off');
@@ -472,22 +498,29 @@ class MapDriverController extends GetxController {
}); });
print('walletChecked is $walletChecked'); print('walletChecked is $walletChecked');
if (walletChecked == 'true') { if (walletChecked == 'true') {
paymentToken = await generateTokenPassenger(
((-1) * double.parse(paymentAmount)).toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: { await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId, '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: { await CRUD().post(link: AppLink.addDriverpayment, payload: {
'rideId': rideId, 'rideId': rideId,
'amount': paymentAmount, 'amount': paymentAmount,
'payment_method': paymentMethod, 'payment_method': paymentMethod,
'passengerID': passengerId, 'passengerID': passengerId,
'token': paymentToken,
'driverID': box.read(BoxName.driverID).toString(), 'driverID': box.read(BoxName.driverID).toString(),
}); });
print('passengerWalletBurc bef ${double.parse(passengerWalletBurc)}'); print('passengerWalletBurc bef ${double.parse(passengerWalletBurc)}');
if (double.parse(passengerWalletBurc) < 0) { if (double.parse(passengerWalletBurc) < 0) {
var paymentToken1 = await generateToken(paymentAmount.toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: { await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId, 'passenger_id': passengerId,
'token': paymentToken1,
'balance': ((-1) * double.parse(passengerWalletBurc)).toString() 'balance': ((-1) * double.parse(passengerWalletBurc)).toString()
}); });
print('passengerWalletBurc aft ${double.parse(passengerWalletBurc)}'); print('passengerWalletBurc aft ${double.parse(passengerWalletBurc)}');
@@ -498,10 +531,12 @@ class MapDriverController extends GetxController {
(-1) * (-1) *
double.parse(kazan) / double.parse(kazan) /
100; // for eygpt /100 100; // for eygpt /100
var paymentToken2 = await generateToken(paymentAmount.toString());
var res = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { var res = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'paymentID': 'rideId$rideId', 'paymentID': 'rideId$rideId',
'amount': (pointsSubstraction).toStringAsFixed(0), 'amount': (pointsSubstraction).toStringAsFixed(0),
'paymentMethod': paymentMethod, 'paymentMethod': paymentMethod,
'token': paymentToken2,
'driverID': box.read(BoxName.driverID).toString(), 'driverID': box.read(BoxName.driverID).toString(),
}); });
print(res); print(res);
@@ -851,11 +886,13 @@ class MapDriverController extends GetxController {
duration = Get.arguments['Duration']; duration = Get.arguments['Duration'];
totalCost = Get.arguments['totalCost']; totalCost = Get.arguments['totalCost'];
passengerId = Get.arguments['passengerId']; passengerId = Get.arguments['passengerId'];
print('passengerID argument =${Get.arguments['passengerId']} ');
print('passengerID =$passengerId ');
driverId = Get.arguments['driverId']; driverId = Get.arguments['driverId'];
distance = Get.arguments['Distance']; distance = Get.arguments['Distance'];
passengerName = Get.arguments['name']; passengerName = Get.arguments['name'];
passengerEmail = Get.arguments['email']; passengerEmail = Get.arguments['email'];
totalPassenger = Get.arguments['totalPassenger']; totalPricePassenger = Get.arguments['totalPassenger'];
passengerPhone = Get.arguments['phone']; passengerPhone = Get.arguments['phone'];
walletChecked = Get.arguments['WalletChecked']; walletChecked = Get.arguments['WalletChecked'];
tokenPassenger = Get.arguments['tokenPassenger']; tokenPassenger = Get.arguments['tokenPassenger'];

View File

@@ -159,19 +159,27 @@ class CaptainWalletController extends GetxController {
}); });
} }
Future addtransferDriversWallet(String paymentMethod) async { Future addtransferDriversWallet(String paymentMethod1, paymentMethod2) async {
paymentID = paymentID =
await addDriverPayment(paymentMethod, amountFromBudgetController.text); await addDriverPayment(paymentMethod1, amountFromBudgetController.text);
paymentToken = await generateToken(amountFromBudgetController.text); paymentToken = await generateToken(amountFromBudgetController.text);
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'driverID': box.read(BoxName.driverID).toString(), 'driverID': box.read(BoxName.driverID).toString(),
'paymentID': paymentID.toString(), 'paymentID': paymentID.toString(),
'amount': (int.parse(amountFromBudgetController.text) * -1).toString(), 'amount': (int.parse(amountFromBudgetController.text) * -1).toString(),
'token': paymentToken, 'token': paymentToken,
'paymentMethod': paymentMethod.toString(), 'paymentMethod': paymentMethod1.toString(),
}); });
paymentID = // paymentToken = await generateToken(amountFromBudgetController.text);
await addDriverPayment(paymentMethod, 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); paymentToken = await generateToken(amountFromBudgetController.text);
var res1 = var res1 =
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
@@ -179,7 +187,7 @@ class CaptainWalletController extends GetxController {
'paymentID': paymentID.toString(), 'paymentID': paymentID.toString(),
'amount': (int.parse(amountFromBudgetController.text) - 5).toString(), 'amount': (int.parse(amountFromBudgetController.text) - 5).toString(),
'token': paymentToken, 'token': paymentToken,
'paymentMethod': paymentMethod.toString(), 'paymentMethod': paymentMethod2.toString(),
}); });
if (res1 != 'failure') { if (res1 != 'failure') {
FirebaseMessagesController().sendNotificationToDriverMAP( FirebaseMessagesController().sendNotificationToDriverMAP(

View File

@@ -30,7 +30,7 @@ class PaymentController extends GetxController {
final formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
final promo = TextEditingController(); final promo = TextEditingController();
double totalPassenger = double totalPassenger =
double.parse(Get.find<MapDriverController>().totalPassenger); double.parse(Get.find<MapDriverController>().totalPricePassenger);
int? selectedAmount = 0; int? selectedAmount = 0;
List<dynamic> totalPassengerWalletDetails = []; List<dynamic> totalPassengerWalletDetails = [];
String passengerTotalWalletAmount = ''; String passengerTotalWalletAmount = '';

View File

@@ -120,7 +120,7 @@ class RateController extends GetxController {
Get.find<MapDriverController>().passengerDestination.toString(), Get.find<MapDriverController>().passengerDestination.toString(),
'name': Get.find<MapDriverController>().passengerName.toString(), 'name': Get.find<MapDriverController>().passengerName.toString(),
'timeOfTrip': Get.find<MapDriverController>().timeOfOrder.toString(), 'timeOfTrip': Get.find<MapDriverController>().timeOfOrder.toString(),
'fee': Get.find<MapDriverController>().totalPassenger.toString(), 'fee': Get.find<MapDriverController>().totalPricePassenger.toString(),
'duration': Get.find<MapDriverController>().duration.toString(), 'duration': Get.find<MapDriverController>().duration.toString(),
'phone': Get.find<MapDriverController>().passengerPhone.toString(), 'phone': Get.find<MapDriverController>().passengerPhone.toString(),
'email': Get.find<MapDriverController>().passengerEmail.toString(), 'email': Get.find<MapDriverController>().passengerEmail.toString(),

View File

@@ -21,6 +21,8 @@ class PassengerLocationMapPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
Get.put(MapDriverController()); Get.put(MapDriverController());
// Get.put(MapDriverController())
// .startTimerToShowPassengerInfoWindowFromDriver();
return MyScafolld( return MyScafolld(
title: 'Map Passenger'.tr, title: 'Map Passenger'.tr,

View File

@@ -156,24 +156,25 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
), ),
), ),
), ),
// AnimatedContainer( AnimatedContainer(
// duration: const Duration(microseconds: 200), duration: const Duration(microseconds: 200),
// width: controller.widthMapTypeAndTraffic, width: controller.widthMapTypeAndTraffic,
// decoration: BoxDecoration( decoration: BoxDecoration(
// color: AppColor.secondaryColor, color: AppColor.secondaryColor,
// border: Border.all(color: AppColor.blueColor), border: Border.all(color: AppColor.blueColor),
// borderRadius: BorderRadius.circular(15)), borderRadius: BorderRadius.circular(15)),
// child: IconButton( child: IconButton(
// onPressed: () { onPressed: () {
Get.to(() => PassengerLocationMapPage(),
// }, arguments: box.read(BoxName.rideArguments));
// icon: const Icon( },
// FontAwesome5.grin_tears, icon: const Icon(
// size: 29, FontAwesome5.grin_tears,
// color: AppColor.blueColor, size: 29,
// ), color: AppColor.blueColor,
// ), ),
// ), ),
),
], ],
)), )),
); );

View File

@@ -169,7 +169,8 @@ class PassengerInfoWindow extends StatelessWidget {
Text("cost is ".tr, Text("cost is ".tr,
style: AppStyle.title), style: AppStyle.title),
Text( Text(
controller.totalPassenger.toString(), controller.totalPricePassenger
.toString(),
style: AppStyle.number, style: AppStyle.number,
), ),
], ],

View File

@@ -329,7 +329,7 @@ class OrderRequestPage extends StatelessWidget {
bodyToPassenger, bodyToPassenger,
); );
Get.back(); Get.back();
Get.to(() => PassengerLocationMapPage(), arguments: { box.write(BoxName.rideArguments, {
'passengerLocation': myList[0].toString(), 'passengerLocation': myList[0].toString(),
'passengerDestination': myList[1].toString(), 'passengerDestination': myList[1].toString(),
'Duration': myList[4].toString(), 'Duration': myList[4].toString(),
@@ -357,7 +357,7 @@ class OrderRequestPage extends StatelessWidget {
'step2': myList[23].toString(), 'step2': myList[23].toString(),
'step3': myList[24].toString(), 'step3': myList[24].toString(),
'step4': myList[25].toString(), 'step4': myList[25].toString(),
'passengerWalletBurc': myList[27].toString(), 'passengerWalletBurc': myList[26].toString(),
'timeOfOrder': DateTime.now().toString(), 'timeOfOrder': DateTime.now().toString(),
'totalPassenger': myList[2].toString(), 'totalPassenger': myList[2].toString(),
'carType': myList[31].toString(), 'carType': myList[31].toString(),
@@ -365,6 +365,10 @@ class OrderRequestPage extends StatelessWidget {
'startNameLocation': myList[29].toString(), 'startNameLocation': myList[29].toString(),
'endNameLocation': myList[30].toString(), 'endNameLocation': myList[30].toString(),
}); });
print(
'passengerID =${box.read(BoxName.rideArguments)}');
Get.to(() => PassengerLocationMapPage(),
arguments: box.read(BoxName.rideArguments));
}, },
), ),
GetBuilder<OrderRequestController>( GetBuilder<OrderRequestController>(

View File

@@ -49,9 +49,9 @@ class PointsCaptain extends StatelessWidget {
? 'EGP' ? 'EGP'
: 'JOD', () async { : 'JOD', () async {
await captainWalletController.addDriverPayment( await captainWalletController.addDriverPayment(
'visa', pricePoint); 'visa-in', pricePoint);
await captainWalletController.addDriverWallet( await captainWalletController.addDriverWallet(
'visa', countPoint); 'visa-in', countPoint);
await captainWalletController await captainWalletController
.getCaptainWalletFromBuyPoints(); .getCaptainWalletFromBuyPoints();
}); });
@@ -70,9 +70,9 @@ class PointsCaptain extends StatelessWidget {
? 'EGP' ? 'EGP'
: 'JOD', () async { : 'JOD', () async {
await captainWalletController.addDriverPayment( await captainWalletController.addDriverPayment(
'visa', pricePoint); 'visa-in', pricePoint);
await captainWalletController.addDriverWallet( await captainWalletController.addDriverWallet(
'visa', countPoint); 'visa-in', countPoint);
await captainWalletController await captainWalletController
.getCaptainWalletFromBuyPoints(); .getCaptainWalletFromBuyPoints();
}); });
@@ -84,9 +84,9 @@ class PointsCaptain extends StatelessWidget {
box.read(BoxName.countryCode) == 'Jordan' ? 'jod' : 'egp', box.read(BoxName.countryCode) == 'Jordan' ? 'jod' : 'egp',
() async { () async {
await captainWalletController.addDriverPayment( await captainWalletController.addDriverPayment(
'visa', pricePoint); 'visa-in', pricePoint);
await captainWalletController.addDriverWallet( await captainWalletController.addDriverWallet(
'visa', countPoint); 'visa-in', countPoint);
await captainWalletController.getCaptainWalletFromBuyPoints(); await captainWalletController.getCaptainWalletFromBuyPoints();
}); });
}, },

View File

@@ -8,7 +8,6 @@ import 'package:SEFER/views/widgets/mycircular.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../../constant/colors.dart';
import '../../../controller/home/payment/captain_wallet_controller.dart'; import '../../../controller/home/payment/captain_wallet_controller.dart';
class TransferBudgetPage extends StatelessWidget { class TransferBudgetPage extends StatelessWidget {
@@ -110,7 +109,9 @@ class TransferBudgetPage extends StatelessWidget {
onPressed: () async { onPressed: () async {
await captainWalletController await captainWalletController
.addtransferDriversWallet( .addtransferDriversWallet(
'Transfer'); 'TransferFrom',
'TransferTo',
);
}) })
: const SizedBox() : const SizedBox()
], ],

View File

@@ -29,7 +29,7 @@ class WalletCaptain extends StatelessWidget {
Get.put(CaptainWalletController()); Get.put(CaptainWalletController());
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
Get.put(MapDriverController()).totalPassenger = '0'; Get.put(MapDriverController()).totalPricePassenger = '0';
return MyScafolld( return MyScafolld(
title: 'Driver Wallet'.tr, title: 'Driver Wallet'.tr,
body: [ body: [
@@ -222,7 +222,7 @@ class WalletCaptain extends StatelessWidget {
), ),
), ),
confirm: MyElevatedButton( confirm: MyElevatedButton(
title: 'Pay', title: 'Pay'.tr,
onPressed: () async { onPressed: () async {
if (double.parse( if (double.parse(
captainWalletController captainWalletController