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

@@ -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<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 {
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'];

View File

@@ -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(