From 0058b0f7a4b684607266d9a08d8dd394f0c84961 Mon Sep 17 00:00:00 2001 From: Obinna Ikeh Date: Sun, 8 Dec 2024 20:56:14 +0100 Subject: [PATCH] use correct paid_for_type on payment #396 - seed meter tokens table for demo company - use appropriate paid_for_type as expected on the frontend --- .../app/Console/Commands/DemoDataCreator.php | 18 ++++++++++++++++++ src/backend/app/Listeners/PaymentListener.php | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/backend/app/Console/Commands/DemoDataCreator.php b/src/backend/app/Console/Commands/DemoDataCreator.php index ccfede3f..0f6c17b4 100644 --- a/src/backend/app/Console/Commands/DemoDataCreator.php +++ b/src/backend/app/Console/Commands/DemoDataCreator.php @@ -5,6 +5,7 @@ use App\Models\MainSettings; use App\Models\MaintenanceUsers; use App\Models\Meter\Meter; +use App\Models\Meter\MeterToken; use App\Models\Person\Person; use App\Models\Token; use App\Models\Transaction\AgentTransaction; @@ -47,6 +48,7 @@ public function __construct( private AirtelTransaction $airtelTransaction, private Meter $meter, private Token $token, + private MeterToken $meterToken, private CalinTransaction $calinTransaction, private MainSettings $mainSettings, private TicketCategory $ticketCategory, @@ -265,6 +267,22 @@ private function generateTransaction(): void { $token->save(); $transactionData->token = $token; + // generate meter_token + $meterTokenData = [ + 'meter_id' => $randomMeter->id, + 'token' => Str::random(30), + 'energy' => round( + $transactionData->transaction->amount / + $randomMeter['tariff']['price'], + 2 + ), + 'transaction_id' => $transaction->id, + ]; + $meterToken = $this->meterToken->newQuery()->make(['meter_id' => $meterTokenData['meter_id'], + 'token' => $meterTokenData['token'], '' => $meterTokenData['energy'], + 'transaction_id' => $meterTokenData['transaction_id']]); + $meterToken->save(); + // payment event event( 'payment.successful', diff --git a/src/backend/app/Listeners/PaymentListener.php b/src/backend/app/Listeners/PaymentListener.php index 31dfab09..0723820e 100644 --- a/src/backend/app/Listeners/PaymentListener.php +++ b/src/backend/app/Listeners/PaymentListener.php @@ -86,11 +86,11 @@ public function onPaymentSuccess( $this->applianceRatePaymentHistoryService->assign(); break; case $paidFor instanceof Asset: - $paymentHistory->paid_for_type = Asset::class; + $paymentHistory->paid_for_type = 'appliance'; $paymentHistory->paid_for_id = $paidFor->id; break; case $paidFor instanceof Token: - $paymentHistory->paid_for_type = Token::class; + $paymentHistory->paid_for_type = 'token'; $paymentHistory->paid_for_id = $paidFor->id; break; }