This commit is contained in:
Hamza-Ayed
2024-06-18 14:37:18 +03:00
parent a8921df473
commit 93cddb2fb2
11 changed files with 113 additions and 70 deletions

View File

@@ -62,22 +62,22 @@ class AppLink {
static String deleteRides = "$ride/rides/delete.php";
//-----------------DriverPayment------------------
static String adddriverScam = "$ride/driver_scam/add.php";
static String getdriverScam = "$ride/driver_scam/get.php";
static String addDriverScam = "$ride/driver_scam/add.php";
static String getDriverScam = "$ride/driver_scam/get.php";
/////////---getKazanPercent===////////////
static String getKazanPercent = "$ride/kazan/get.php";
static String addKazanPercent = "$ride/kazan/add.php";
////-----------------DriverPayment------------------
static String addDriverpayment = "$ride/payment/add.php";
static String addDrivePayment = "$ride/payment/add.php";
static String addDriverPaymentPoints = "$ride/driverPayment/add.php";
static String addPaymentToken =
static String addPaymentTokenDriver =
"$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 getDriverPaymentToday = "$ride/payment/get.php";
static String getCountRide = "$ride/payment/getCountRide.php";
static String getAllPaymentFromRide = "$ride/payment/getAllPayment.php";
static String getAllPaymentVisa = "$ride/payment/getAllPaymentVisa.php";

View File

@@ -251,7 +251,7 @@ class HomeCaptainController extends GetxController {
getPaymentToday() async {
var res = await CRUD().get(
link: AppLink.getDriverpaymentToday,
link: AppLink.getDriverPaymentToday,
payload: {'driverID': box.read(BoxName.driverID).toString()});
if (res != 'failure') {
data = jsonDecode(res);

View File

@@ -252,7 +252,7 @@ class MapDriverController extends GetxController {
});
} else if (isSocialPressed == true) {
box.write(BoxName.statusDriverLocation, 'off');
await CRUD().post(link: AppLink.adddriverScam, payload: {
await CRUD().post(link: AppLink.addDriverScam, payload: {
'driverID': box.read(BoxName.driverID),
'passengerID': passengerId,
'rideID': rideId,
@@ -263,7 +263,7 @@ class MapDriverController extends GetxController {
}
Future<String> getDriverScam() async {
var res = await CRUD().post(link: AppLink.getdriverScam, payload: {
var res = await CRUD().post(link: AppLink.getDriverScam, payload: {
'driverID': box.read(BoxName.driverID),
});
if (res == 'failure') {
@@ -391,19 +391,24 @@ class MapDriverController extends GetxController {
? (distanceBetweenDriverAndPassengerWhenConfirm * .08) + (5 * 1)
: (distanceBetweenDriverAndPassengerWhenConfirm * .06) +
(5 * .06); //for Eygpt other like jordan .06 per minute
var res = await CRUD().post(link: AppLink.addDriverpayment, payload: {
var paymentTokenWait =
await generateTokenDriver(costOfWaiting5Minute.toString());
var res = await CRUD().post(link: AppLink.addDrivePayment, payload: {
'rideId': rideId,
'amount': costOfWaiting5Minute.toString(),
'payment_method': 'wait-cancel',
'passengerID': passengerId,
'token': paymentTokenWait,
'driverID': box.read(BoxName.driverID).toString(),
});
var paymentTokenWait1 =
await generateTokenDriver(costOfWaiting5Minute.toString());
var res1 =
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'paymentID': 'rideId$rideId',
'amount': (costOfWaiting5Minute).toStringAsFixed(0),
'paymentMethod': 'wait',
'token': paymentTokenWait1,
'driverID': box.read(BoxName.driverID).toString(),
});
print(res1);
@@ -414,9 +419,12 @@ class MapDriverController extends GetxController {
backgroundColor: AppColor.deepPurpleAccent,
);
}
var paymentTokenWaitPassenger1 =
await generateTokenPassenger((costOfWaiting5Minute * -1).toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId,
'balance': (costOfWaiting5Minute * -1).toString()
'balance': (costOfWaiting5Minute * -1).toString(),
'token': paymentTokenWaitPassenger1,
});
box.write(BoxName.statusDriverLocation, 'off');
Get.offAll(HomeCaptain());
@@ -444,8 +452,8 @@ class MapDriverController extends GetxController {
}
String paymentToken = '';
Future<String> generateToken(String amount) async {
var res = await CRUD().post(link: AppLink.addPaymentToken, payload: {
Future<String> generateTokenDriver(String amount) async {
var res = await CRUD().post(link: AppLink.addPaymentTokenDriver, payload: {
'driverID': box.read(BoxName.driverID).toString(),
'amount': amount.toString(),
});
@@ -506,18 +514,21 @@ class MapDriverController extends GetxController {
'token': paymentToken,
});
}
paymentToken = await generateToken(paymentAmount.toString());
await CRUD().post(link: AppLink.addDriverpayment, payload: {
paymentToken = await generateTokenDriver(paymentAmount.toString());
await CRUD().post(link: AppLink.addDrivePayment, payload: {
'rideId': rideId,
'amount': paymentAmount,
'payment_method': paymentMethod,
'payment_method':
walletChecked == 'true' ? "${paymentMethod}Ride" : 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());
// for zero passenger
var paymentToken1 = await generateTokenPassenger(
((-1) * double.parse(passengerWalletBurc)).toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId,
'token': paymentToken1,
@@ -526,15 +537,16 @@ class MapDriverController extends GetxController {
print('passengerWalletBurc aft ${double.parse(passengerWalletBurc)}');
}
double pointsSubstraction = 0;
pointsSubstraction = double.parse(paymentAmount) *
double pointsSubtraction = 0;
pointsSubtraction = double.parse(paymentAmount) *
(-1) *
double.parse(kazan) /
100; // for eygpt /100
var paymentToken2 = await generateToken(paymentAmount.toString());
100; // for Egypt /100
var paymentToken2 =
await generateTokenDriver((pointsSubtraction).toStringAsFixed(0));
var res = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'paymentID': 'rideId$rideId',
'amount': (pointsSubstraction).toStringAsFixed(0),
'amount': (pointsSubtraction).toStringAsFixed(0),
'paymentMethod': paymentMethod,
'token': paymentToken2,
'driverID': box.read(BoxName.driverID).toString(),
@@ -965,7 +977,7 @@ class MapDriverController extends GetxController {
void onInit() async {
mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY);
// Get the passenger location from the arguments.
await argumentLoading();
// await argumentLoading();
addCustomCarIcon();
addCustomPassengerIcon();
addCustomStartIcon();

View File

@@ -1,7 +1,9 @@
import 'dart:convert';
import 'package:SEFER/constant/colors.dart';
import 'package:SEFER/constant/style.dart';
import 'package:SEFER/controller/firebase/firbase_messge.dart';
import 'package:SEFER/views/widgets/elevated_btn.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:SEFER/constant/box_name.dart';
@@ -29,18 +31,22 @@ class CaptainWalletController extends GetxController {
? int.parse((amountFromBudgetController.text)) * 100
: int.parse((amountFromBudgetController.text));
await addDriverPayment('fromBudgetToPoints',
await addDriverPaymentPoints('fromBudgetToPoints',
int.parse((amountFromBudgetController.text)) * -1);
Future.delayed(const Duration(seconds: 2));
await addDriverWallet('fromBudget', pointFromBudget.toString());
update();
Get.back();
getCaptainWalletFromRide();
getCaptainWalletFromBuyPoints();
checkAccountCaptainBank();
await refreshCaptainWallet();
}
}
Future refreshCaptainWallet() async {
await getCaptainWalletFromRide();
await getCaptainWalletFromBuyPoints();
await checkAccountCaptainBank();
}
List amountToNewDriverMap = [];
bool isNewTransfer = false;
Future detectNewDriverFromMyBudget() async {
@@ -88,6 +94,7 @@ class CaptainWalletController extends GetxController {
link: AppLink.getAllPaymentFromRide,
payload: {'driverID': box.read(BoxName.driverID)},
);
isLoading = false;
walletDate = jsonDecode(res);
totalAmount = walletDate['message'][0]['total_amount'] ?? '0';
print(totalAmount);
@@ -98,17 +105,20 @@ class CaptainWalletController extends GetxController {
walletDateVisa = jsonDecode(res1);
totalAmountVisa = walletDateVisa['message'][0]['diff'] ?? '0';
print(totalAmountVisa);
isLoading = false;
update();
}
Future getCaptainWalletFromBuyPoints() async {
isLoading = true;
update();
var res = await CRUD().get(
link: AppLink.getDriverPaymentPoints,
payload: {'driverID': box.read(BoxName.driverID)},
);
isLoading = false;
// update();
walletDriverPointsDate = jsonDecode(res);
if (walletDriverPointsDate['message'][0]['driverID'].toString() ==
box.read(BoxName.driverID)) {
@@ -119,13 +129,12 @@ class CaptainWalletController extends GetxController {
totalPoints = '0';
}
isLoading = false;
update();
}
String paymentToken = '';
Future<String> generateToken(String amount) async {
var res = await CRUD().post(link: AppLink.addPaymentToken, payload: {
var res = await CRUD().post(link: AppLink.addPaymentTokenDriver, payload: {
'driverID': box.read(BoxName.driverID).toString(),
'amount': amount.toString(),
});
@@ -135,7 +144,7 @@ class CaptainWalletController extends GetxController {
}
late String paymentID;
Future<String> addDriverPayment(String paymentMethod, amount) async {
Future<String> addDriverPaymentPoints(String paymentMethod, amount) async {
// paymentToken = await generateToken(amount);
var res = await CRUD().post(link: AppLink.addDriverPaymentPoints, payload: {
'driverID': box.read(BoxName.driverID).toString(),
@@ -159,26 +168,21 @@ class CaptainWalletController extends GetxController {
});
}
Future addtransferDriversWallet(String paymentMethod1, paymentMethod2) async {
paymentID =
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(),
Future addTransferDriversWallet(String paymentMethod1, paymentMethod2) async {
paymentID = await addDriverPaymentPoints(
paymentMethod1, amountFromBudgetController.text);
paymentToken = await generateToken(
(int.parse(amountFromBudgetController.text) * -1).toString());
await CRUD().post(link: AppLink.addDrivePayment, payload: {
'amount': (int.parse(amountFromBudgetController.text) * -1).toString(),
'rideId': paymentID.toString(),
'payment_method': paymentMethod1,
'passengerID': 'To ${amountToNewDriverMap[0]['id']}',
'token': paymentToken,
'paymentMethod': paymentMethod1.toString(),
'driverID': box.read(BoxName.driverID).toString(),
});
// 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,
paymentID = await addDriverPaymentPoints(paymentMethod2,
(int.parse(amountFromBudgetController.text) - 5).toString());
paymentToken = await generateToken(amountFromBudgetController.text);
var res1 =
@@ -197,12 +201,23 @@ class CaptainWalletController extends GetxController {
amountToNewDriverMap[0]['token'].toString(),
[],
);
Get.defaultDialog(
title: 'transfer Successful'.tr,
middleText: '',
titleStyle: AppStyle.title,
confirm: MyElevatedButton(
title: 'Ok'.tr,
onPressed: () async {
Get.back();
Get.back();
await refreshCaptainWallet();
}));
}
}
//check if account bank is created or not
Future checkAccountCaptainBank() async {
isLoading = false;
isLoading = true;
update();
if (box.read(BoxName.accountIdStripeConnect).toString().isEmpty) {
var res = await CRUD().get(link: AppLink.getAccount, payload: {
@@ -214,7 +229,7 @@ class CaptainWalletController extends GetxController {
d['message'][0]['accountBank'].toString());
}
}
isLoading = true;
isLoading = false;
update();
}

View File

@@ -65,7 +65,7 @@ class PaymobPayout extends GetxController {
print('-----');
var dec = jsonDecode(res.body);
if (dec['disbursement_status'] == 'successful') {
await CRUD().post(link: AppLink.addDriverpayment, payload: {
await CRUD().post(link: AppLink.addDrivePayment, payload: {
'rideId': DateTime.now().toIso8601String(),
'amount': ((-1) * (double.parse(dec['amount'])) + 5).toStringAsFixed(0),
'payment_method': 'payout',

View File

@@ -759,7 +759,7 @@ class PaymentController extends GetxController {
if (box.read(BoxName.passengerWalletTotal) == null) {
box.write(BoxName.passengerWalletTotal, '0');
}
getPassengerWallet();
// getPassengerWallet();
final localAuth = LocalAuthentication();
super.onInit();
}

View File

@@ -1,6 +1,7 @@
import 'package:SEFER/constant/colors.dart';
import 'package:SEFER/controller/firebase/firbase_messge.dart';
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
import 'package:SEFER/controller/payment/payment_controller.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:SEFER/constant/box_name.dart';
@@ -43,29 +44,37 @@ class RateController extends GetxController {
double.parse(Get.find<MapDriverController>().paymentAmount);
double remainingFee = double.parse(passengerPayAmount.text) - priceOfTrip;
if (remainingFee > 0) {
var paymentToken2 = await Get.find<MapDriverController>()
.generateTokenPassenger(remainingFee.toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId,
'balance': remainingFee.toString()
'balance': remainingFee.toString(),
'token': paymentToken2,
}).then((value) async {
if (value != 'failure') {
Get.snackbar('Wallet Added'.tr, '',
backgroundColor: AppColor.greenColor);
await CRUD().post(link: AppLink.addDriverpayment, payload: {
var paymentToken3 = await Get.find<MapDriverController>()
.generateTokenPassenger(remainingFee.toString());
await CRUD().post(link: AppLink.addDrivePayment, payload: {
'rideId': 'remain$rideId',
'amount': remainingFee.toString(),
'payment_method': 'Remainder',
'passengerID': passengerId,
'token': paymentToken3,
'driverID': box.read(BoxName.driverID).toString(),
});
double pointsSubstraction = 0;
pointsSubstraction = remainingFee * (-1); // for eygpt /100
double pointsSubtraction = 0;
pointsSubtraction = remainingFee * (-1); // for egypt /100
var paymentToken4 = await Get.find<MapDriverController>()
.generateTokenPassenger((pointsSubtraction).toStringAsFixed(0));
var res = await CRUD()
.post(link: AppLink.addDriversWalletPoints, payload: {
'paymentID': 'rideId$rideId',
'amount': (pointsSubstraction).toStringAsFixed(0),
'amount': (pointsSubtraction).toStringAsFixed(0),
'paymentMethod': 'Remainder',
'token': paymentToken4,
'driverID': box.read(BoxName.driverID).toString(),
});

View File

@@ -16,13 +16,20 @@ import 'mapDriverWidgets/sos_connect.dart';
class PassengerLocationMapPage extends StatelessWidget {
PassengerLocationMapPage({super.key});
final LocationController locationController = Get.put(LocationController());
// final MapDriverController mapDriverController =
// Get.put(MapDriverController());
final MapDriverController mapDriverController =
Get.put(MapDriverController());
@override
Widget build(BuildContext context) {
Get.put(MapDriverController());
// Get.put(MapDriverController())
// .startTimerToShowPassengerInfoWindowFromDriver();
if (!mapDriverController.initialized) {
// Call a method to initialize the controller
mapDriverController.initialized;
} else {
Get.put(MapDriverController()).argumentLoading();
Get.put(MapDriverController())
.startTimerToShowPassengerInfoWindowFromDriver();
}
return MyScafolld(
title: 'Map Passenger'.tr,

View File

@@ -48,7 +48,7 @@ class PointsCaptain extends StatelessWidget {
box.read(BoxName.countryCode) == 'Egypt'
? 'EGP'
: 'JOD', () async {
await captainWalletController.addDriverPayment(
await captainWalletController.addDriverPaymentPoints(
'visa-in', pricePoint);
await captainWalletController.addDriverWallet(
'visa-in', countPoint);
@@ -69,7 +69,7 @@ class PointsCaptain extends StatelessWidget {
box.read(BoxName.countryCode) == 'Egypt'
? 'EGP'
: 'JOD', () async {
await captainWalletController.addDriverPayment(
await captainWalletController.addDriverPaymentPoints(
'visa-in', pricePoint);
await captainWalletController.addDriverWallet(
'visa-in', countPoint);
@@ -83,7 +83,7 @@ class PointsCaptain extends StatelessWidget {
: await paymentController.makePaymentStripe(pricePoint,
box.read(BoxName.countryCode) == 'Jordan' ? 'jod' : 'egp',
() async {
await captainWalletController.addDriverPayment(
await captainWalletController.addDriverPaymentPoints(
'visa-in', pricePoint);
await captainWalletController.addDriverWallet(
'visa-in', countPoint);

View File

@@ -108,7 +108,7 @@ class TransferBudgetPage extends StatelessWidget {
title: 'Transfer'.tr,
onPressed: () async {
await captainWalletController
.addtransferDriversWallet(
.addTransferDriversWallet(
'TransferFrom',
'TransferTo',
);

View File

@@ -29,7 +29,7 @@ class WalletCaptain extends StatelessWidget {
Get.put(CaptainWalletController());
@override
Widget build(BuildContext context) {
Get.put(MapDriverController()).totalPricePassenger = '0';
// Get.put(MapDriverController()).totalPricePassenger = '0';
return MyScafolld(
title: 'Driver Wallet'.tr,
body: [
@@ -424,8 +424,8 @@ class WalletCaptain extends StatelessWidget {
],
isleading: true,
action: InkWell(
onTap: () {
captainWalletController.getCaptainWalletFromBuyPoints();
onTap: () async {
captainWalletController.refreshCaptainWallet();
},
child: const Icon(Icons.refresh)),
);