From 606492e8a0123a3401268552b0d314855053805f Mon Sep 17 00:00:00 2001 From: orangdeso Date: Sat, 19 Apr 2025 13:33:11 +0700 Subject: [PATCH] Feat: add client side expirity time transaction --- lib/_core/service/transaction_expiry_service.dart | 12 ++++++++++++ .../home/pages/ticket_booking_step4_screen.dart | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/_core/service/transaction_expiry_service.dart b/lib/_core/service/transaction_expiry_service.dart index c410ab1..1e0fce2 100644 --- a/lib/_core/service/transaction_expiry_service.dart +++ b/lib/_core/service/transaction_expiry_service.dart @@ -1,6 +1,9 @@ import 'dart:async'; import 'dart:developer'; +import 'package:get/get.dart'; + import '../../data/repositories/transaction_repository_impl.dart'; +import '../../presentation/controllers/history_controller.dart'; class TransactionExpiryService { static final TransactionExpiryService _instance = TransactionExpiryService._internal(); @@ -37,6 +40,15 @@ class TransactionExpiryService { log('[TransactionExpiryService] Memulai pengecekan transaksi kedaluwarsa...'); try { await _repository.checkAndCancelExpiredTransactions(); + + try { + final historyController = Get.find(); + historyController.checkExpiredPendingTransactions(); + } catch (e) { + // HistoryController mungkin belum ter-inject, itu normal + log('[TransactionExpiryService] HistoryController belum tersedia: $e'); + } + log('[TransactionExpiryService] Pengecekan transaksi kedaluwarsa selesai'); } catch (e) { log('[TransactionExpiryService] Error saat memeriksa transaksi kedaluwarsa: $e'); diff --git a/lib/presentation/screens/home/pages/ticket_booking_step4_screen.dart b/lib/presentation/screens/home/pages/ticket_booking_step4_screen.dart index e257f16..c457a71 100644 --- a/lib/presentation/screens/home/pages/ticket_booking_step4_screen.dart +++ b/lib/presentation/screens/home/pages/ticket_booking_step4_screen.dart @@ -266,7 +266,7 @@ class _TicketBookingStep4ScreenState extends State { // Persiapkan data expiry time final DateTime currentTime = DateTime.now(); - final DateTime expiryTime = currentTime.add(Duration(seconds: 20)); + final DateTime expiryTime = currentTime.add(Duration(days: 1)); // Persiapkan data bandara final bandaraData = {