12/3/1
This commit is contained in:
93
lib/controller/home/captin/help/help_controller.dart
Normal file
93
lib/controller/home/captin/help/help_controller.dart
Normal file
@@ -0,0 +1,93 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../../constant/box_name.dart';
|
||||
import '../../../../constant/links.dart';
|
||||
import '../../../../constant/style.dart';
|
||||
import '../../../../main.dart';
|
||||
import '../../../../views/widgets/elevated_btn.dart';
|
||||
import '../../../functions/crud.dart';
|
||||
|
||||
class HelpController extends GetxController {
|
||||
bool isLoading = false;
|
||||
final formKey = GlobalKey<FormState>();
|
||||
final helpQuestionController = TextEditingController();
|
||||
Map helpQuestionDate = {};
|
||||
Map helpQuestionRepleyDate = {};
|
||||
String status = '';
|
||||
String qustion = '';
|
||||
late int indexQuestion = 0;
|
||||
getindex(int i, String qustion1) async {
|
||||
indexQuestion = i;
|
||||
qustion = qustion1;
|
||||
update();
|
||||
}
|
||||
|
||||
void addHelpQuestion() async {
|
||||
isLoading = true;
|
||||
update();
|
||||
var res = await CRUD().post(link: AppLink.addhelpCenter, payload: {
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
'helpQuestion': helpQuestionController.text
|
||||
});
|
||||
var d = jsonDecode(res);
|
||||
// print(d);
|
||||
isLoading = false;
|
||||
update();
|
||||
if (d['status'].toString() == 'success') {
|
||||
getHelpQuestion();
|
||||
// Get.snackbar('Feedback data saved successfully'.tr, '',
|
||||
// backgroundColor: AppColor.greenColor,
|
||||
// snackPosition: SnackPosition.BOTTOM);
|
||||
}
|
||||
}
|
||||
|
||||
void getHelpQuestion() async {
|
||||
isLoading = true;
|
||||
update();
|
||||
var res = await CRUD().get(link: AppLink.gethelpCenter, payload: {
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
});
|
||||
if (res == "failure") {
|
||||
// print(res);
|
||||
Get.defaultDialog(
|
||||
title: 'There is no help Question here'.tr,
|
||||
titleStyle: AppStyle.title,
|
||||
middleText: '',
|
||||
confirm: MyElevatedButton(
|
||||
title: 'Back',
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
Get.back();
|
||||
}));
|
||||
}
|
||||
helpQuestionDate = jsonDecode(res);
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
|
||||
Future getHelpRepley(String id) async {
|
||||
isLoading = true;
|
||||
update();
|
||||
var res = await CRUD().get(link: AppLink.getByIdhelpCenter, payload: {
|
||||
'id': id,
|
||||
});
|
||||
print(res);
|
||||
if (res == "failure") {
|
||||
status = 'not yet';
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
helpQuestionRepleyDate = jsonDecode(res);
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
getHelpQuestion();
|
||||
super.onInit();
|
||||
}
|
||||
}
|
||||
@@ -186,7 +186,7 @@ class HomeCaptainController extends GetxController {
|
||||
|
||||
getAllPayment() async {
|
||||
var res = await CRUD().get(
|
||||
link: AppLink.getAllPayment,
|
||||
link: AppLink.getAllPaymentFromRide,
|
||||
payload: {'driverID': box.read(BoxName.driverID).toString()});
|
||||
data = jsonDecode(res);
|
||||
|
||||
|
||||
@@ -198,12 +198,26 @@ class MapDriverController extends GetxController {
|
||||
'passengerID': passengerId,
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
});
|
||||
|
||||
await CRUD().post(link: AppLink.updateRides, payload: {
|
||||
'id': rideId,
|
||||
'rideTimeStart': DateTime.now().toString(),
|
||||
'status': 'Begin'
|
||||
});
|
||||
rideIsBeginPassengerTimer();
|
||||
double pointsSubstraction = 0;
|
||||
pointsSubstraction = double.parse(paymentAmount) * -100;
|
||||
var res = await CRUD().post(link: AppLink.addDriversWallet, payload: {
|
||||
'paymentID': 'rideId$rideId',
|
||||
'amount': (pointsSubstraction).toString(),
|
||||
'paymentMethod': paymentMethod,
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
});
|
||||
var d = jsonDecode(res);
|
||||
print('...................');
|
||||
print(d);
|
||||
print('...................');
|
||||
|
||||
// FirebaseMessagesController().sendNotificationToAnyWithoutData(
|
||||
// 'RideIsBegin', box.read(BoxName.name).toString(), tokenPassenger);
|
||||
}
|
||||
@@ -225,8 +239,10 @@ class MapDriverController extends GetxController {
|
||||
'passengerId': passengerId,
|
||||
'driverId': driverId
|
||||
});
|
||||
// FirebaseMessagesController().sendNotificationToAnyWithoutData(
|
||||
// 'isRideFinished', box.read(BoxName.name).toString(), tokenPassenger);
|
||||
FirebaseMessagesController().sendNotificationToAnyWithoutData(
|
||||
'Captain Finish Trip',
|
||||
box.read(BoxName.name).toString(),
|
||||
tokenPassenger);
|
||||
}
|
||||
|
||||
String canelString = '';
|
||||
|
||||
@@ -347,7 +347,7 @@ class MapPassengerController extends GetxController {
|
||||
}
|
||||
|
||||
void delayAndFetchRideStatus(String rideId) {
|
||||
Timer(const Duration(seconds: 1), () async {
|
||||
Timer(const Duration(milliseconds: 200), () async {
|
||||
if (shouldFetch) {
|
||||
// print('shouldFetch is =$shouldFetch');
|
||||
var res = await CRUD()
|
||||
@@ -357,13 +357,18 @@ class MapPassengerController extends GetxController {
|
||||
print(decod['data']);
|
||||
if (decod['data'].toString() == 'Apply') {
|
||||
shouldFetch = false; // Stop further fetches
|
||||
// rideConfirm = false;
|
||||
rideConfirm = false;
|
||||
update();
|
||||
startTimer();
|
||||
} else if (decod['data'].toString() == 'Refused') {
|
||||
if (dataCarsLocationByPassenger.length > carsOrder) {
|
||||
carsOrder++;
|
||||
update();
|
||||
carsOrder = carsOrder + 1;
|
||||
update();
|
||||
print(dataCarsLocationByPassenger['message'].length);
|
||||
print(dataCarsLocationByPassenger['message']);
|
||||
print(carsOrder);
|
||||
|
||||
if (carsOrder < dataCarsLocationByPassenger['message'].length) {
|
||||
print('55555555555555555555');
|
||||
changeConfirmRide();
|
||||
} else {
|
||||
Get.defaultDialog(
|
||||
@@ -374,7 +379,7 @@ class MapPassengerController extends GetxController {
|
||||
onPressed: () => Get.offAll(const MapPagePassenger()),
|
||||
));
|
||||
|
||||
// cancelRide();
|
||||
cancelRideAfterRejectFromAll();
|
||||
}
|
||||
} else {
|
||||
delayAndFetchRideStatus(
|
||||
@@ -548,6 +553,26 @@ class MapPassengerController extends GetxController {
|
||||
update();
|
||||
}
|
||||
|
||||
Future<void> cancelRideAfterRejectFromAll() async {
|
||||
clearPlaces();
|
||||
clearPolyline();
|
||||
data = [];
|
||||
await CRUD().post(link: AppLink.updateDriverOrder, payload: {
|
||||
"order_id": rideId.toString(), // Convert to String
|
||||
"status": 'Cancel'
|
||||
});
|
||||
rideConfirm = false;
|
||||
shouldFetch = false;
|
||||
isPassengerChosen = false;
|
||||
isCashConfirmPageShown = false;
|
||||
isCashSelectedBeforeConfirmRide = false;
|
||||
timeToPassengerFromDriverAfterApplied = 0;
|
||||
changeCancelRidePageShow();
|
||||
remainingTime = 0;
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
Future cancelRide() async {
|
||||
print("rideConfirm=$rideConfirm");
|
||||
|
||||
@@ -558,8 +583,9 @@ class MapPassengerController extends GetxController {
|
||||
changeCancelRidePageShow();
|
||||
rideConfirm = false;
|
||||
shouldFetch = false;
|
||||
isCashSelectedBeforeConfirmRide = false;
|
||||
isCashConfirmPageShown = false;
|
||||
isPassengerChosen = false;
|
||||
isCashSelectedBeforeConfirmRide = false;
|
||||
timeToPassengerFromDriverAfterApplied = 0;
|
||||
update();
|
||||
} else {
|
||||
@@ -573,6 +599,7 @@ class MapPassengerController extends GetxController {
|
||||
rideConfirm = false;
|
||||
shouldFetch = false;
|
||||
isPassengerChosen = false;
|
||||
isCashConfirmPageShown = false;
|
||||
isCashSelectedBeforeConfirmRide = false;
|
||||
timeToPassengerFromDriverAfterApplied = 0;
|
||||
changeCancelRidePageShow();
|
||||
|
||||
73
lib/controller/home/payment/captain_wallet_controller.dart
Normal file
73
lib/controller/home/payment/captain_wallet_controller.dart
Normal file
@@ -0,0 +1,73 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:ride/constant/box_name.dart';
|
||||
import 'package:ride/constant/links.dart';
|
||||
import 'package:ride/controller/functions/crud.dart';
|
||||
import 'package:ride/main.dart';
|
||||
|
||||
class CaptainWalletController extends GetxController {
|
||||
bool isLoading = false;
|
||||
Map walletDate = {};
|
||||
Map walletDriverPointsDate = {};
|
||||
final formKey = GlobalKey<FormState>();
|
||||
String totalAmount = '0';
|
||||
String totalPoints = '0';
|
||||
Future getCaptainWalletFromRide() async {
|
||||
isLoading = true;
|
||||
update();
|
||||
var res = await CRUD().get(
|
||||
link: AppLink.getAllPaymentFromRide,
|
||||
payload: {'driverID': box.read(BoxName.driverID)},
|
||||
);
|
||||
walletDate = jsonDecode(res);
|
||||
totalAmount = walletDate['message'][0]['total_amount'].toString() == null
|
||||
? '0'
|
||||
: walletDate['message'][0]['total_amount'];
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
|
||||
Future getCaptainWalletFromBuyPoints() async {
|
||||
isLoading = true;
|
||||
update();
|
||||
var res = await CRUD().get(
|
||||
link: AppLink.getDriverPaymentPoints,
|
||||
payload: {'driverID': box.read(BoxName.driverID)},
|
||||
);
|
||||
walletDriverPointsDate = jsonDecode(res);
|
||||
totalPoints =
|
||||
walletDriverPointsDate['message'][0]['total_amount'].toString();
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
|
||||
late String paymentID;
|
||||
Future addDriverPayment(String paymentMethod, amount) async {
|
||||
var res = await CRUD().post(link: AppLink.addDriverPaymentPoints, payload: {
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
'amount': amount.toString(),
|
||||
'payment_method': paymentMethod.toString(),
|
||||
});
|
||||
var d = jsonDecode(res);
|
||||
paymentID = d['message'].toString();
|
||||
// print(paymentID);
|
||||
}
|
||||
|
||||
Future addDriverWallet(String paymentMethod, point) async {
|
||||
await CRUD().post(link: AppLink.addDriversWallet, payload: {
|
||||
'driverID': box.read(BoxName.driverID).toString(),
|
||||
'paymentID': paymentID.toString(),
|
||||
'amount': point,
|
||||
'paymentMethod': paymentMethod.toString(),
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
getCaptainWalletFromRide();
|
||||
getCaptainWalletFromBuyPoints();
|
||||
super.onInit();
|
||||
}
|
||||
}
|
||||
@@ -19,11 +19,6 @@ class CreditCardController extends GetxController {
|
||||
String? expiryDate = await SecureStorage().readData(BoxName.expiryDate);
|
||||
String? cvvCode = await SecureStorage().readData(BoxName.cvvCode);
|
||||
|
||||
print('cardNumber: $cardNumber');
|
||||
print('cardHolderName: $cardHolderName');
|
||||
print('expiryDate: $expiryDate');
|
||||
print('cvvCode: $cvvCode');
|
||||
|
||||
if (cvvCode != null && cvvCode.isNotEmpty) {
|
||||
final maskedCardNumber = DigitObscuringFormatter()
|
||||
.formatEditUpdate(
|
||||
@@ -32,8 +27,6 @@ class CreditCardController extends GetxController {
|
||||
)
|
||||
.text;
|
||||
|
||||
print('maskedCardNumber: $maskedCardNumber');
|
||||
|
||||
cardNumberController.text = maskedCardNumber;
|
||||
cardHolderNameController.text = cardHolderName ?? '';
|
||||
expiryDateController.text = expiryDate ?? '';
|
||||
|
||||
Reference in New Issue
Block a user