UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_6fbfb04ec4c8
/
app
/
Console
/
Commands
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
CheckRecurrences.php
<?php namespace EstudioLMS\Console\Commands; use Carbon\Carbon; use EstudioLMS\Models\Config\PagarmeRecipient; use EstudioLMS\Repositories\Auth\UserRepository; use EstudioLMS\Repositories\Financial\HireSubscriptionInterface; use EstudioLMS\Repositories\Financial\PayableInterface; use EstudioLMS\Repositories\Financial\RecurringInterface; use EstudioLMS\Services\PagarMeService; use Illuminate\Console\Command; /** * */ class CheckRecurrences extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'check:recurrence'; /** * The console command description. * * @var string */ protected $description = 'Verifica as recorrências de uma assinatura e gera uma nova, caso seja necessário.'; /** * @var PayableInterface */ private $payable; /** * @var UserRepository */ private $user; /** * @var PagarMeService */ private $pagarMeService; /** * @var PagarmeRecipient */ private $pagarmeRecipient; /** * Create a new command instance. * * @return void */ public function __construct( HireSubscriptionInterface $hireSubscription, RecurringInterface $recurring, PayableInterface $payable, UserRepository $user, PagarMeService $pagarMeService, PagarmeRecipient $pagarmeRecipient ) { parent::__construct(); $this->hireSubscription = $hireSubscription; $this->recurring = $recurring; $this->payable = $payable; $this->user = $user; $this->pagarMeService = $pagarMeService; $this->pagarmeRecipient = $pagarmeRecipient; } /** * Execute the console command. * * @return void */ public function handle() { $subscriptions = $this->hireSubscription ->findWhere([ ['status', '=', 1] ]); $countSubs = 0; foreach ($subscriptions as $key => $subscription) { $recurrence = \DB::table('recurrings') ->where('subscription_hash', '=', $subscription->subscription_hash) ->orderBy('id', 'DESC')->limit(1)->first(); /* Se a recorrência foi um cancelamento, cancelar a assinatura também */ if(!$recurrence) { continue; } if ($recurrence->status == 6) { $subscription->status = 4; $subscription->save(); $countSubs++; continue; } $today = Carbon::now()->format('Y-m-d'); $periodicityId = $subscription->periodicity_id; $periodicity = \DB::table('periodicities') ->where('id', '=', $periodicityId)->first(); $lastDue = Carbon::parse($recurrence->due_date); switch ($periodicity->periodicity) { case 30: $nextDue = Carbon::parse($lastDue)->addMonth()->format('Y-m-d'); break; case 90: $nextDue = Carbon::parse($lastDue)->addMonth(3)->format('Y-m-d'); break; case 180: $nextDue = Carbon::parse($lastDue)->addMonth(6)->format('Y-m-d'); break; case 365: $nextDue = Carbon::parse($lastDue)->addYear()->format('Y-m-d'); break; } if ($nextDue < $today) { $countSubs++; continue; } $user = \DB::table('users')->where('id', '=', $subscription->user_id)->first(); if (!$user) { $countSubs++; continue; } if ($recurrence->status == 1) { $countRecurrences = $this->recurring->countSubscriptionRecurrences($subscription->subscription_hash); $chargeNumber = $countRecurrences + 1; $newRecurrence = [ 'user_id' => $user->id, 'subscription_hash' => $recurrence->subscription_hash, 'gateway_id' => 1, 'due_date' => $nextDue, 'next_attempt_date' => $nextDue, 'payment_type' => $recurrence->payment_type, 'card_id' => $recurrence->card_id, 'payment_date' => null, 'attempts' => 0, 'gross_amount' => $recurrence->gross_amount, 'discount_amount' => null, 'fee_amount' => 0.00, 'extra_amount' => null, 'net_amount' => $recurrence->gross_amount, 'charge_number' => $chargeNumber, 'status' => 0 ]; $this->recurring->create($newRecurrence); $this->info('Recorrência gerada para a assinatura: ' . $subscription->subscription_hash); \Log::useDailyFiles(storage_path() . '/logs/command.log'); \Log::info('Recorrência gerada para a assinatura: ' . $subscription->subscription_hash); } $countSubs++; } \Log::useDailyFiles(storage_path() . '/logs/command.log'); \Log::alert('check:recurrence - Executado - ' . date('Y-m-d H:i:s')); \Log::alert('Assinaturas ativas encontradas: ' . count($subscriptions) . ' - Assinutaruras percorridas: ' . $countSubs); } }
Copyright © 2026 - UnknownSec