From 338b8dd648be1bfd46f5e16964f8e6936a5d6f87 Mon Sep 17 00:00:00 2001 From: ahmedsophyudden Date: Sat, 28 Aug 2021 10:28:38 +0800 Subject: [PATCH] Add update transaction status to refunded transaction --- .../CreateBookingRefundLogic.php | 21 ++++++++----------- .../ValueObjects/Constants/ApprovalStatus.php | 2 +- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php index 21cc5406..0ec53d9b 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php @@ -6,11 +6,10 @@ namespace App\Classes\Modules\Bookings\ControllersLogic; use App\Classes\Exceptions\MalformedRequestException; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Transactions\Services\FetchesTransaction; +use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus; use App\Classes\Modules\Companies\Services\FetchesCompanyPaymentAttemptLimit; use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject; -use App\Classes\Modules\Transactions\DataTransferObjects\TransactionDetailObject; use App\Classes\Modules\Transactions\Services\CreatesTransaction; -use App\Classes\Modules\Transactions\Services\CreatesTransactionDetail; use App\Classes\Modules\Transactions\Services\GeneratesTransactionBillNumber; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\TransactionType; @@ -36,6 +35,9 @@ class CreateBookingRefundLogic extends AbstractControllerLogic /** @var FetchesTransaction */ private $fetchesTransaction; + /** @var UpdatesTransactionStatus */ + private $updatesTransactionStatus; + /** @var FetchesCompanyPaymentAttemptLimit */ private $fetchesCompanyPaymentAttemptLimit; @@ -45,24 +47,21 @@ class CreateBookingRefundLogic extends AbstractControllerLogic /** @var CreatesTransaction */ private $createsTransaction; - /** @var CreatesTransactionDetail */ - private $createsTransactionDetail; - /** * CreateBookingPaymentLogic constructor. * @param FetchesTransaction $fetchesTransaction - * + * @param UpdatesTransactionStatus $updatesTransactionStatus * @param FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit * @param GeneratesTransactionBillNumber $generatesTransactionBillNumber * @param CreatesTransaction $createsTransaction */ - public function __construct(FetchesTransaction $fetchesTransaction, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CreatesTransactionDetail $createsTransactionDetail) + public function __construct(FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction) { $this->fetchesTransaction = $fetchesTransaction; + $this->updatesTransactionStatus = $updatesTransactionStatus; $this->fetchesCompanyPaymentAttemptLimit = $fetchesCompanyPaymentAttemptLimit; $this->generatesTransactionBillNumber = $generatesTransactionBillNumber; $this->createsTransaction = $createsTransaction; - $this->createsTransactionDetail = $createsTransactionDetail; } /** @@ -88,10 +87,8 @@ class CreateBookingRefundLogic extends AbstractControllerLogic $transaction->tax, $transaction->service_charge, Carbon::now()->addMinutes($paymentAttemptLimit), ApprovalStatus::PENDING_VERIFICATION); $transaction = $this->createsTransaction->execute($booking, $object); - - $detailObject = new TransactionDetailObject($transaction->bill_no, 'Payment refund for '.$transaction->bill_no, 1, $transaction->original_amount); - - $this->createsTransactionDetail->execute($transaction, $detailObject); + + $this->updatesTransactionStatus->execute($transaction, ApprovalStatus::REFUNDED); return $this->resourceResponse(new TransactionResource($transaction)); } diff --git a/app/Classes/ValueObjects/Constants/ApprovalStatus.php b/app/Classes/ValueObjects/Constants/ApprovalStatus.php index 6f9932ff..154db2ca 100644 --- a/app/Classes/ValueObjects/Constants/ApprovalStatus.php +++ b/app/Classes/ValueObjects/Constants/ApprovalStatus.php @@ -18,5 +18,5 @@ final class ApprovalStatus { public const EXPIRED = 6; - public const REFUNDED = 6; + public const REFUNDED = 7; }