From c61acc26fe255572b969f553a8e01a906d71a9ac Mon Sep 17 00:00:00 2001 From: Dillon Date: Mon, 31 Jul 2023 18:34:52 +0800 Subject: [PATCH 01/13] Insert voucherify order source id + new component to list WELCOME50%OFF voucher to user --- .../CreateVoucherifyOrderObject.php | 15 ++- .../BookingToVoucherifyProcessor.php | 2 +- .../Voucherify/CreatesVoucherifyOrder.php | 1 + ...ers.vue => AvailableVouchersComponent.vue} | 7 +- .../elements/ListVouchersComponent.vue | 93 +++++++++++++++++++ .../BookingPaymentQuotationComponent.vue | 12 +-- 6 files changed, 116 insertions(+), 14 deletions(-) rename resources/assets/vue/components/bookings/elements/{ListVouchers.vue => AvailableVouchersComponent.vue} (90%) create mode 100644 resources/assets/vue/components/bookings/elements/ListVouchersComponent.vue diff --git a/app/Classes/Modules/Vouchers/DataTransferObjects/CreateVoucherifyOrderObject.php b/app/Classes/Modules/Vouchers/DataTransferObjects/CreateVoucherifyOrderObject.php index 92dfd592..c483d45e 100644 --- a/app/Classes/Modules/Vouchers/DataTransferObjects/CreateVoucherifyOrderObject.php +++ b/app/Classes/Modules/Vouchers/DataTransferObjects/CreateVoucherifyOrderObject.php @@ -14,6 +14,9 @@ class CreateVoucherifyOrderObject implements DataTransferObject /** @var int */ private $companyId; + /** @var int */ + private $transactionId; + /** @var float */ private $amount; @@ -27,14 +30,16 @@ class CreateVoucherifyOrderObject implements DataTransferObject * CreateVoucherifyOrderObject constructor. * @param User $employee * @param int $companyId + * @param int $transactionId * @param float $amount * @param bool $isNoVoucher * @param bool $isTopUpWallet */ - public function __construct(User $employee, int $companyId, float $amount, bool $isNoVoucher, bool $isTopUpWallet) + public function __construct(User $employee, int $companyId, int $transactionId, float $amount, bool $isNoVoucher, bool $isTopUpWallet) { $this->employee = $employee; $this->companyId = $companyId; + $this->transactionId = $transactionId; $this->amount = $amount; $this->isNoVoucher = $isNoVoucher; $this->isTopUpWallet = $isTopUpWallet; @@ -48,6 +53,14 @@ class CreateVoucherifyOrderObject implements DataTransferObject return $this->companyId; } + /** + * @return int + */ + public function getTransactionId(): int + { + return $this->transactionId; + } + /** * @return float */ diff --git a/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php b/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php index 3df08a4c..5e31f2eb 100644 --- a/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php +++ b/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php @@ -100,7 +100,7 @@ class BookingToVoucherifyProcessor $this->recordVoucherForUserInfo($user, $voucher); } else{ - $createVoucherifyOrderObject = new CreateVoucherifyOrderObject($user, $companyId, $amount, true, $transaction->type == TransactionType::TOP_UP); + $createVoucherifyOrderObject = new CreateVoucherifyOrderObject($user, $companyId, $transaction->id, $amount, true, $transaction->type == TransactionType::TOP_UP); $createVoucherufyOrderResult = $this->createsVoucherifyOrder->execute($createVoucherifyOrderObject); if($createVoucherufyOrderResult && isset($createVoucherufyOrderResult->id)){ diff --git a/app/Classes/Modules/Vouchers/Services/Voucherify/CreatesVoucherifyOrder.php b/app/Classes/Modules/Vouchers/Services/Voucherify/CreatesVoucherifyOrder.php index e5e6d404..90e5d682 100644 --- a/app/Classes/Modules/Vouchers/Services/Voucherify/CreatesVoucherifyOrder.php +++ b/app/Classes/Modules/Vouchers/Services/Voucherify/CreatesVoucherifyOrder.php @@ -31,6 +31,7 @@ class CreatesVoucherifyOrder { try { $orderObj = [ + "source_id" => $obj->getTransactionId(), "customer" => [ "source_id" => $obj->getEmployee()->id, "name" => $obj->getEmployee()->name, diff --git a/resources/assets/vue/components/bookings/elements/ListVouchers.vue b/resources/assets/vue/components/bookings/elements/AvailableVouchersComponent.vue similarity index 90% rename from resources/assets/vue/components/bookings/elements/ListVouchers.vue rename to resources/assets/vue/components/bookings/elements/AvailableVouchersComponent.vue index e59ff653..45722aaf 100644 --- a/resources/assets/vue/components/bookings/elements/ListVouchers.vue +++ b/resources/assets/vue/components/bookings/elements/AvailableVouchersComponent.vue @@ -1,7 +1,6 @@