25-6-23/2

This commit is contained in:
Hamza-Ayed
2025-06-23 15:53:05 +03:00
parent 5050aab9b7
commit 6e45e45ef2
5 changed files with 17 additions and 40 deletions

View File

@@ -135,6 +135,8 @@ class AppLink {
"$seferPaymentServer/ride/payMob/paymob_driver/paymet_verfy.php"; "$seferPaymentServer/ride/payMob/paymob_driver/paymet_verfy.php";
static String updatePaymetToPaid = static String updatePaymetToPaid =
"$seferPaymentServer/ride/payment/updatePaymetToPaid.php"; "$seferPaymentServer/ride/payment/updatePaymetToPaid.php";
static String paymobPayoutDriverWallet =
"$seferPaymentServer/ride/payMob/paymob_driver/paymob_payout.php'";
static String addSeferWallet = "$seferPaymentServer/ride/seferWallet/add.php"; static String addSeferWallet = "$seferPaymentServer/ride/seferWallet/add.php";
static String getSeferWallet = "$seferPaymentServer/ride/seferWallet/get.php"; static String getSeferWallet = "$seferPaymentServer/ride/seferWallet/get.php";

View File

@@ -43,9 +43,9 @@ class CRUD {
'Bearer ${X.r(X.r(X.r(box.read(BoxName.jwt), cn), cC), cs).toString().split(AppInformation.addd)[0]}' 'Bearer ${X.r(X.r(X.r(box.read(BoxName.jwt), cn), cC), cs).toString().split(AppInformation.addd)[0]}'
}, },
); );
print(response.request); // print(response.request);
Log.print('response.body: ${response.body}'); // Log.print('response.body: ${response.body}');
print(payload); // print(payload);
if (response.statusCode == 200) { if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body); var jsonData = jsonDecode(response.body);
if (jsonData['status'] == 'success') { if (jsonData['status'] == 'success') {

View File

@@ -5,7 +5,6 @@ import 'package:sefer_driver/constant/box_name.dart';
import 'package:sefer_driver/main.dart'; import 'package:sefer_driver/main.dart';
import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:sefer_driver/views/widgets/error_snakbar.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import '../../../constant/links.dart'; import '../../../constant/links.dart';
import '../../../views/widgets/mydialoug.dart'; import '../../../views/widgets/mydialoug.dart';
@@ -28,18 +27,16 @@ class PaymobPayout extends GetxController {
sensitiveTransaction: true, sensitiveTransaction: true,
)); ));
if (didAuthenticate) { if (didAuthenticate) {
var dec = await CRUD().postWallet( var dec = await CRUD()
link: .postWallet(link: AppLink.paymobPayoutDriverWallet, payload: {
'wl.tripz-egypt.com/v1/main/ride/payMob/paymob_driver/paymob_payout.php', "issuer": issuer,
payload: { "method": "wallet",
"issuer": issuer, "amount": amount, //9.0,
"method": "wallet", "full_name":
"amount": amount, //9.0, '${box.read(BoxName.nameDriver)} ${box.read(BoxName.lastNameDriver)}',
"full_name": "msisdn": msisdn, //"01010101010",
'${box.read(BoxName.nameDriver)} ${box.read(BoxName.lastNameDriver)}', "bank_transaction_type": "cash_transfer"
"msisdn": msisdn, //"01010101010", });
"bank_transaction_type": "cash_transfer"
});
if (dec['disbursement_status'] == 'successful') { if (dec['disbursement_status'] == 'successful') {
var paymentToken = await Get.find<CaptainWalletController>() var paymentToken = await Get.find<CaptainWalletController>()
.generateToken( .generateToken(

Binary file not shown.

View File

@@ -1,14 +1,12 @@
import 'package:sefer_driver/constant/box_name.dart'; import 'package:sefer_driver/constant/box_name.dart';
import 'package:sefer_driver/controller/firebase/local_notification.dart'; import 'package:sefer_driver/controller/firebase/local_notification.dart';
import 'package:sefer_driver/main.dart'; import 'package:sefer_driver/main.dart';
import 'package:sefer_driver/print.dart';
import 'package:sefer_driver/views/home/Captin/driver_map_page.dart'; import 'package:sefer_driver/views/home/Captin/driver_map_page.dart';
import 'package:sefer_driver/views/home/Captin/orderCaptin/vip_order_page.dart'; import 'package:sefer_driver/views/home/Captin/orderCaptin/vip_order_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:sefer_driver/views/widgets/mydialoug.dart';
import '../../../../../constant/colors.dart'; import '../../../../../constant/colors.dart';
@@ -47,7 +45,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
Get.back(); Get.back();
}, },
); );
// Log.print(
// 'box.read(BoxName.rideArgumentsFromBackground): ${box.read(BoxName.rideArgumentsFromBackground)}'); // 'box.read(BoxName.rideArgumentsFromBackground): ${box.read(BoxName.rideArgumentsFromBackground)}');
}, },
icon: Icon( icon: Icon(
@@ -151,7 +148,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
// child: Builder(builder: (context) { // child: Builder(builder: (context) {
// return IconButton( // return IconButton(
// onPressed: () async { // onPressed: () async {
// Log.print('phoneDriver: ${box.read(BoxName.phoneDriver)}');
// }, // },
// icon: const Icon( // icon: const Icon(
// FontAwesome5.grin_tears, // FontAwesome5.grin_tears,
@@ -171,8 +167,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
); );
} }
void _log(String message) => print(message);
Future<void> checkForPendingOrderFromServer() async { Future<void> checkForPendingOrderFromServer() async {
bool _isProcessingOrder = false; bool _isProcessingOrder = false;
if (_isProcessingOrder) return; if (_isProcessingOrder) return;
@@ -191,20 +185,14 @@ Future<void> checkForPendingOrderFromServer() async {
// Assuming the server returns order data if found, or 'failure'/'none' if not // Assuming the server returns order data if found, or 'failure'/'none' if not
if (response != 'failure') { if (response != 'failure') {
Log.print('response: ${response}');
_log("MAIN_APP_LOG: Pending order DETECTED from server!");
final Map<String, dynamic> orderInfoFromServer = response['message']; final Map<String, dynamic> orderInfoFromServer = response['message'];
final Map<String, dynamic> rideArguments = final Map<String, dynamic> rideArguments =
_transformServerDataToAppArguments(orderInfoFromServer); _transformServerDataToAppArguments(orderInfoFromServer);
// 2. Build the new arguments map, matching your Flutter structure // 2. Build the new arguments map, matching your Flutter structure
_log("MAIN_APP_LOG: Constructed rideArguments map successfully.");
///////////// /////////////
final customerToken = (response)['message']['token_passenger']; final customerToken = (response)['message']['token_passenger'];
final orderId = (response)['message']['ride_id'].toString(); final orderId = (response)['message']['ride_id'].toString();
Log.print('orderId: ${orderId}');
box.write(BoxName.rideArgumentsFromBackground, rideArguments); box.write(BoxName.rideArgumentsFromBackground, rideArguments);
box.write(BoxName.statusDriverLocation, 'on'); box.write(BoxName.statusDriverLocation, 'on');
box.write(BoxName.rideStatus, 'Apply'); box.write(BoxName.rideStatus, 'Apply');
@@ -215,11 +203,9 @@ Future<void> checkForPendingOrderFromServer() async {
_sendAcceptanceNotification(customerToken, orderId.toString()); _sendAcceptanceNotification(customerToken, orderId.toString());
// await _bringAppToForegroundAndNavigate(orderId); // await _bringAppToForegroundAndNavigate(orderId);
} else { } else {
_log("MAIN_APP_LOG: No pending orders found on server.");
box.write(BoxName.rideArgumentsFromBackground, 'failure'); box.write(BoxName.rideArgumentsFromBackground, 'failure');
} }
} catch (e) { } catch (e) {
_log("Error while polling server: $e");
} finally { } finally {
_isProcessingOrder = false; // Release lock _isProcessingOrder = false; // Release lock
} }
@@ -227,8 +213,6 @@ Future<void> checkForPendingOrderFromServer() async {
Map<String, dynamic> _transformServerDataToAppArguments( Map<String, dynamic> _transformServerDataToAppArguments(
Map<String, dynamic> serverData) { Map<String, dynamic> serverData) {
_log("Transforming server data to match app's argument structure.");
// Helper function to safely get and convert values to String // Helper function to safely get and convert values to String
String _getString(String key, [String defaultValue = 'unknown']) { String _getString(String key, [String defaultValue = 'unknown']) {
// serverData[key] might be an int, double, or string. .toString() handles all. // serverData[key] might be an int, double, or string. .toString() handles all.
@@ -288,7 +272,6 @@ void _sendAcceptanceNotification(String? customerToken, rideId) {
if (customerToken == null) return; if (customerToken == null) return;
final FirebaseMessagesController _firebaseMessagesController = final FirebaseMessagesController _firebaseMessagesController =
Get.put(FirebaseMessagesController()); Get.put(FirebaseMessagesController());
_log("Attempting to send acceptance notification to passenger...");
List<String> bodyToPassenger = [ List<String> bodyToPassenger = [
box.read(BoxName.driverID).toString(), box.read(BoxName.driverID).toString(),
box.read(BoxName.nameDriver).toString(), box.read(BoxName.nameDriver).toString(),
@@ -301,11 +284,6 @@ void _sendAcceptanceNotification(String? customerToken, rideId) {
if (token != null && token.isNotEmpty) { if (token != null && token.isNotEmpty) {
_firebaseMessagesController.sendNotificationToDriverMAP('Accepted Ride', _firebaseMessagesController.sendNotificationToDriverMAP('Accepted Ride',
'your ride is applied'.tr, token, bodyToPassenger, 'start.wav'); 'your ride is applied'.tr, token, bodyToPassenger, 'start.wav');
_log("Acceptance notification task was fired."); } else {}
} else { } catch (e) {}
_log("Could not send notification: Customer token is missing or empty.");
}
} catch (e) {
_log("Error while firing notification task: $e");
}
} }