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

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