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 {
// 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"
}
}

View File

@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
# org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=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 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";

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(

View File

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

View File

@@ -120,7 +120,7 @@ class RateController extends GetxController {
Get.find<MapDriverController>().passengerDestination.toString(),
'name': Get.find<MapDriverController>().passengerName.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(),
'phone': Get.find<MapDriverController>().passengerPhone.toString(),
'email': Get.find<MapDriverController>().passengerEmail.toString(),

View File

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

View File

@@ -156,24 +156,25 @@ GetBuilder<HomeCaptainController> 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,
),
),
),
],
)),
);

View File

@@ -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,
),
],

View File

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

View File

@@ -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();
});
},

View File

@@ -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()
],

View File

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