This commit is contained in:
Hamza-Ayed
2024-06-18 17:51:25 +03:00
parent c6cc1cc0c9
commit 9a8829f3f1
5 changed files with 169 additions and 6 deletions

View File

@@ -71,6 +71,8 @@ class AppLink {
////-----------------DriverPayment------------------
static String addDrivePayment = "$ride/payment/add.php";
static String addSeferWallet = "$ride/seferWallet/add.php";
static String getSeferWallet = "$ride/seferWallet/get.php";
static String addDriverPaymentPoints = "$ride/driverPayment/add.php";
static String addPaymentTokenDriver =
"$ride/driverWallet/addPaymentToken.php"; //driverWallet/addPaymentToken.php

View File

@@ -168,6 +168,17 @@ class CaptainWalletController extends GetxController {
});
}
Future addSeferWallet(String paymentMethod, point) async {
var seferToken = await generateToken(point);
await CRUD().post(link: AppLink.addSeferWallet, payload: {
'amount': point.toString(),
'paymentMethod': paymentMethod,
'passengerId': 'driver',
'token': seferToken,
'driverId': box.read(BoxName.driverID).toString(),
});
}
Future addTransferDriversWallet(String paymentMethod1, paymentMethod2) async {
paymentID = await addDriverPaymentPoints(
paymentMethod1, amountFromBudgetController.text);
@@ -210,6 +221,15 @@ class CaptainWalletController extends GetxController {
onPressed: () async {
Get.back();
Get.back();
var seferToken = await Get.find<CaptainWalletController>()
.generateToken('5');
await CRUD().post(link: AppLink.addSeferWallet, payload: {
'amount': '5',
'paymentMethod': 'payout fee',
'passengerId': 'driver',
'token': seferToken,
'driverId': box.read(BoxName.driverID).toString(),
});
await refreshCaptainWallet();
}));
}

View File

@@ -43,6 +43,7 @@ class PaymobPayout extends GetxController {
return token;
}
int payOutFee = 5;
payToDriverWallet(
String token, String amount, String issuer, String msisdn) async {
var headers = {
@@ -66,16 +67,26 @@ class PaymobPayout extends GetxController {
var dec = jsonDecode(res.body);
if (dec['disbursement_status'] == 'successful') {
var paymentToken = await Get.find<CaptainWalletController>()
.generateToken(
((-1) * (double.parse(dec['amount'])) - 5).toStringAsFixed(0));
.generateToken(((-1) * (double.parse(dec['amount'])) - payOutFee)
.toStringAsFixed(0));
await CRUD().post(link: AppLink.addDrivePayment, payload: {
'rideId': DateTime.now().toIso8601String(),
'amount': ((-1) * (double.parse(dec['amount'])) - 5).toStringAsFixed(0),
'amount': ((-1) * (double.parse(dec['amount'])) - payOutFee)
.toStringAsFixed(0),
'payment_method': 'payout',
'passengerID': 'myself',
'token': paymentToken,
'driverID': box.read(BoxName.driverID).toString(),
});
var seferToken = await Get.find<CaptainWalletController>()
.generateToken(payOutFee.toString());
await CRUD().post(link: AppLink.addSeferWallet, payload: {
'amount': ((-1) * (double.parse(dec['amount']))).toStringAsFixed(0),
'paymentMethod': 'payout fee',
'passengerId': 'driver',
'token': seferToken,
'driverId': box.read(BoxName.driverID).toString(),
});
Get.snackbar('Transaction successful'.tr,
'${'Transaction successful'.tr} ${dec['amount']}',
backgroundColor: AppColor.greenColor);

View File

@@ -20,4 +20,132 @@ JOIN ride r ON
JOIN `passengers` p ON
c.passenger_id = p.id
WHERE
c.complaint_type = 'Passenger' AND c.passenger_id = '100393163265770158312';
c.complaint_type = 'Passenger' AND c.passenger_id = '100393163265770158312';
-- Admin panel dashboard
SELECT
(
SELECT
COUNT(`email`)
FROM
`passengers`
) AS countPassengers,
(
SELECT
COUNT(`email`)
FROM
`driver`
) AS countDriver,
(
SELECT
COUNT(`id`)
FROM
`ride`
) AS countRide,
(
SELECT
COUNT(`id`)
FROM
`passengers`
WHERE
`passengers`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS countPassengersThisMonth,
(
SELECT
COUNT(`id`)
FROM
`ride`
WHERE
`ride`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS countRideThisMonth,
(
SELECT
COUNT(`id`)
FROM
`driver`
WHERE
`driver`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS countDriverThisMonth,
(
SELECT
COUNT(`id`)
FROM
`CarRegistration`
WHERE
`CarRegistration`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS countCarRegistrationThisMonth,
(
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS countComplaintThisMonth,
(
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(
DATE_SUB(
CURRENT_DATE,
INTERVAL WEEKDAY(CURRENT_DATE) DAY
),
'%Y-%m-%d'
) AND DATE_FORMAT(
DATE_ADD(
DATE_SUB(
CURRENT_DATE,
INTERVAL WEEKDAY(CURRENT_DATE) DAY
),
INTERVAL 6 DAY
),
'%Y-%m-%d'
)
) AS countComplaintThisWeek,
(
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-%d') AND DATE_FORMAT(CURRENT_DATE, '%Y-%m-%d')
) AS countComplaintToday,
(
SELECT
SUM(`payments`.`amount`)
FROM
`payments` WHERE
`payments`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
AND
`payments`.`payment_method` IN('visa-in',
'visa',
'visaRide',
'TransferFrom',
'payout',
'TransferTo')
) AS payments,
(
SELECT
SUM(`driverWallet`.`amount`)
FROM
`driverWallet`
WHERE
`driverWallet`.`dateCreated` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
AND
`driverWallet`.`paymentMethod` IN('visa', '')
) AS driverWallet,
(
SELECT
SUM(`passengerWallet`.`balance`)
FROM
`passengerWallet`
WHERE
`passengerWallet`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
) AS passengerWallet
FROM
`passengers`
LIMIT 1

View File

@@ -48,10 +48,12 @@ class PointsCaptain extends StatelessWidget {
box.read(BoxName.countryCode) == 'Egypt'
? 'EGP'
: 'JOD', () async {
await captainWalletController.addDriverPaymentPoints(
'visa-in', pricePoint);
// await captainWalletController.addDriverPaymentPoints(
// 'visa-in', pricePoint);
await captainWalletController.addDriverWallet(
'visa-in', countPoint);
await captainWalletController.addSeferWallet(
'visa-in', pricePoint);
await captainWalletController
.getCaptainWalletFromBuyPoints();
});