Quick fix on error when lock booking info forwarded to voucherify

This commit is contained in:
Dillon Ngo
2024-08-13 14:55:05 +08:00
parent ca1d36bac6
commit 45533c9179
@@ -18,6 +18,7 @@ use App\Classes\ValueObjects\Constants\VoucherifyEntityType;
use App\Models\User;
use App\Models\Transaction;
use App\Models\Voucher;
use App\Models\VoucherCampaign;
use Illuminate\Support\Facades\Log;
class BookingToVoucherifyProcessor
@@ -98,7 +99,7 @@ class BookingToVoucherifyProcessor
$voucherify_customer_id = $redeemVoucherResult->customer->id;
}
$voucher = $this->recordVoucherInfo($redeemedVoucher, $transaction);
$voucher = $this->recordVoucherInfo($redeemedVoucher);
$this->createsVoucherRedemption->execute($transaction, $voucher, $redemptionId, $voucherDiscountAmount);
$this->recordVoucherForUserInfo($user, $voucher);
}
@@ -126,9 +127,14 @@ class BookingToVoucherifyProcessor
//Create records at 3 tables
$voucherValue = isset($redeemedVoucher->discount->amount_off) ? $redeemedVoucher->discount->amount_off : $redeemedVoucher->discount->percent_off;
$voucherType = $redeemedVoucher->discount ? $redeemedVoucher->discount->type : null;
$voucherCampaignId = isset($redeemedVoucher->campaign_id) ? $redeemedVoucher->campaign_id : null;
$voucherifyCampaignId = isset($redeemedVoucher->campaign_id) ? $redeemedVoucher->campaign_id : null;
$voucherObject= new VoucherObject($redeemedVoucher->code, isset($redeemedVoucher->metadata->name) ? $redeemedVoucher->metadata->name : "", $voucherType, $voucherValue, $voucherCampaignId);
$voucherCampaign = null;
if($voucherifyCampaignId){
$voucherCampaign = VoucherCampaign::where('campaign_id', $voucherifyCampaignId)->first();
}
$voucherObject= new VoucherObject($redeemedVoucher->code, isset($redeemedVoucher->metadata->displayname) ? $redeemedVoucher->metadata->displayname : "", $voucherType, $voucherValue, $voucherCampaign ? $voucherCampaign->id : null);
$voucher = $this->createsVoucher->execute($voucherObject);
if(!$voucher) $voucher = $this->fetchesVoucher->execute(['code' => $voucherObject->getCode()]);