25-6-23/2
This commit is contained in:
@@ -135,6 +135,8 @@ class AppLink {
|
||||
"$seferPaymentServer/ride/payMob/paymob_driver/paymet_verfy.php";
|
||||
static String updatePaymetToPaid =
|
||||
"$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 getSeferWallet = "$seferPaymentServer/ride/seferWallet/get.php";
|
||||
|
||||
@@ -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]}'
|
||||
},
|
||||
);
|
||||
print(response.request);
|
||||
Log.print('response.body: ${response.body}');
|
||||
print(payload);
|
||||
// print(response.request);
|
||||
// Log.print('response.body: ${response.body}');
|
||||
// print(payload);
|
||||
if (response.statusCode == 200) {
|
||||
var jsonData = jsonDecode(response.body);
|
||||
if (jsonData['status'] == 'success') {
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:sefer_driver/constant/box_name.dart';
|
||||
import 'package:sefer_driver/main.dart';
|
||||
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
import '../../../constant/links.dart';
|
||||
import '../../../views/widgets/mydialoug.dart';
|
||||
@@ -28,18 +27,16 @@ class PaymobPayout extends GetxController {
|
||||
sensitiveTransaction: true,
|
||||
));
|
||||
if (didAuthenticate) {
|
||||
var dec = await CRUD().postWallet(
|
||||
link:
|
||||
'wl.tripz-egypt.com/v1/main/ride/payMob/paymob_driver/paymob_payout.php',
|
||||
payload: {
|
||||
"issuer": issuer,
|
||||
"method": "wallet",
|
||||
"amount": amount, //9.0,
|
||||
"full_name":
|
||||
'${box.read(BoxName.nameDriver)} ${box.read(BoxName.lastNameDriver)}',
|
||||
"msisdn": msisdn, //"01010101010",
|
||||
"bank_transaction_type": "cash_transfer"
|
||||
});
|
||||
var dec = await CRUD()
|
||||
.postWallet(link: AppLink.paymobPayoutDriverWallet, payload: {
|
||||
"issuer": issuer,
|
||||
"method": "wallet",
|
||||
"amount": amount, //9.0,
|
||||
"full_name":
|
||||
'${box.read(BoxName.nameDriver)} ${box.read(BoxName.lastNameDriver)}',
|
||||
"msisdn": msisdn, //"01010101010",
|
||||
"bank_transaction_type": "cash_transfer"
|
||||
});
|
||||
if (dec['disbursement_status'] == 'successful') {
|
||||
var paymentToken = await Get.find<CaptainWalletController>()
|
||||
.generateToken(
|
||||
|
||||
BIN
lib/env.zip
BIN
lib/env.zip
Binary file not shown.
@@ -1,14 +1,12 @@
|
||||
import 'package:sefer_driver/constant/box_name.dart';
|
||||
import 'package:sefer_driver/controller/firebase/local_notification.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/orderCaptin/vip_order_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||
import 'package:get/get.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 '../../../../../constant/colors.dart';
|
||||
@@ -47,7 +45,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
|
||||
Get.back();
|
||||
},
|
||||
);
|
||||
// Log.print(
|
||||
// 'box.read(BoxName.rideArgumentsFromBackground): ${box.read(BoxName.rideArgumentsFromBackground)}');
|
||||
},
|
||||
icon: Icon(
|
||||
@@ -151,7 +148,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
|
||||
// child: Builder(builder: (context) {
|
||||
// return IconButton(
|
||||
// onPressed: () async {
|
||||
// Log.print('phoneDriver: ${box.read(BoxName.phoneDriver)}');
|
||||
// },
|
||||
// icon: const Icon(
|
||||
// FontAwesome5.grin_tears,
|
||||
@@ -171,8 +167,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
|
||||
);
|
||||
}
|
||||
|
||||
void _log(String message) => print(message);
|
||||
|
||||
Future<void> checkForPendingOrderFromServer() async {
|
||||
bool _isProcessingOrder = false;
|
||||
if (_isProcessingOrder) return;
|
||||
@@ -191,20 +185,14 @@ Future<void> checkForPendingOrderFromServer() async {
|
||||
|
||||
// Assuming the server returns order data if found, or 'failure'/'none' if not
|
||||
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> rideArguments =
|
||||
_transformServerDataToAppArguments(orderInfoFromServer);
|
||||
// 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 orderId = (response)['message']['ride_id'].toString();
|
||||
Log.print('orderId: ${orderId}');
|
||||
box.write(BoxName.rideArgumentsFromBackground, rideArguments);
|
||||
box.write(BoxName.statusDriverLocation, 'on');
|
||||
box.write(BoxName.rideStatus, 'Apply');
|
||||
@@ -215,11 +203,9 @@ Future<void> checkForPendingOrderFromServer() async {
|
||||
_sendAcceptanceNotification(customerToken, orderId.toString());
|
||||
// await _bringAppToForegroundAndNavigate(orderId);
|
||||
} else {
|
||||
_log("MAIN_APP_LOG: No pending orders found on server.");
|
||||
box.write(BoxName.rideArgumentsFromBackground, 'failure');
|
||||
}
|
||||
} catch (e) {
|
||||
_log("Error while polling server: $e");
|
||||
} finally {
|
||||
_isProcessingOrder = false; // Release lock
|
||||
}
|
||||
@@ -227,8 +213,6 @@ Future<void> checkForPendingOrderFromServer() async {
|
||||
|
||||
Map<String, dynamic> _transformServerDataToAppArguments(
|
||||
Map<String, dynamic> serverData) {
|
||||
_log("Transforming server data to match app's argument structure.");
|
||||
|
||||
// Helper function to safely get and convert values to String
|
||||
String _getString(String key, [String defaultValue = 'unknown']) {
|
||||
// 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;
|
||||
final FirebaseMessagesController _firebaseMessagesController =
|
||||
Get.put(FirebaseMessagesController());
|
||||
_log("Attempting to send acceptance notification to passenger...");
|
||||
List<String> bodyToPassenger = [
|
||||
box.read(BoxName.driverID).toString(),
|
||||
box.read(BoxName.nameDriver).toString(),
|
||||
@@ -301,11 +284,6 @@ void _sendAcceptanceNotification(String? customerToken, rideId) {
|
||||
if (token != null && token.isNotEmpty) {
|
||||
_firebaseMessagesController.sendNotificationToDriverMAP('Accepted Ride',
|
||||
'your ride is applied'.tr, token, bodyToPassenger, 'start.wav');
|
||||
_log("Acceptance notification task was fired.");
|
||||
} else {
|
||||
_log("Could not send notification: Customer token is missing or empty.");
|
||||
}
|
||||
} catch (e) {
|
||||
_log("Error while firing notification task: $e");
|
||||
}
|
||||
} else {}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user