File: /var/www/vhost/disk-apps/teamdemo.sports-crowd.com/app/Console/Commands/ShippingGuides.php
<?php
namespace App\Console\Commands;
use App\Core\Servientrega\Application\ServientregaService;
use App\Models\Membership\MembershipSubscriber;
use Illuminate\Console\Command;
class ShippingGuides extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'sportscrowd:shippingGuides';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Genera guia de las membresias';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$membershipSubscribers = MembershipSubscriber::select('membership_subscribers.*')
->join('payment_transactions', 'payment_transactions.id', '=', 'membership_subscribers.payment_transaction_id')
->where('membership_subscribers.status', 'CONFIRMED')
->whereNotNull('payment_transactions.gateway_payments_id')
->whereNull('membership_subscribers.tracking_code')
->get();
foreach ($membershipSubscribers as $membershipSubscriber) {
$servientregaService = new ServientregaService();
$servientregaService->createShipment($membershipSubscriber);
}
}
}