Files
shipping-portal/app/Classes/Jobs/Commands/V2/TestExportExcelToS3BucketV2CommandJob.php
T

83 lines
2.9 KiB
PHP

<?php
namespace App\Classes\Jobs\Commands\V2;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use App\Classes\Modules\Exports\Services\ExportsNullDebtors;
use Illuminate\Support\Facades\Storage;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\BusinessType;
use App\Models\Company;
class TestExportExcelToS3BucketV2CommandJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function handle()
{
Log::info(Carbon::now() . ': Start job - Test Export Excel File to S3 Bucket.');
$start = new Carbon();
Log::info('company 0');
$company = Company::where(function($query){
$query->whereNull('debtor')->orWhere('debtor', '');
})->get();
Log::info('company 1: ' . json_encode($company));
$company = Company::where(function($query){
$query->whereNull('debtor')->orWhere('debtor', '');
})->whereHas('companyModules', function($query){
$query->where('type', BusinessType::IMPORTER);
})->get();
Log::info('company 2: ' . json_encode($company));
$company = Company::where(function($query){
$query->whereNull('debtor')->orWhere('debtor', '');
})->whereHas('companyModules', function($query){
$query->where('type', BusinessType::IMPORTER);
})->whereHas('parcels', function ($query) {
$query->where('packages.status', ApprovalStatus::APPROVED);
})
->with(['companyModules', 'parcels'])
->get();
Log::info('company 3: ' . json_encode($company));
$company = Company::where(function($query){
$query->whereNull('debtor')->orWhere('debtor', '');
})->whereHas('companyModules', function($query){
$query->where('type', BusinessType::IMPORTER);
})->whereHas('parcels')->where('status', ApprovalStatus::APPROVED)->get();
Log::info('company 4: ' . json_encode($company));
$export = new ExportsNullDebtors();
$filesystemDriver = Storage::getDefaultDriver();
if ($filesystemDriver === 's3') {
$filePathForS3 = 'temp/nullDebtor.xlsx'; //documents/exports
$excelFile = $export->store($filePathForS3, 's3');
$temporaryUrl = Storage::disk('s3')->temporaryUrl(
$filePathForS3,
Carbon::now()->addMinutes(10)
);
Log::info('temporaryUrl: ' . $temporaryUrl);
}
$end = new Carbon();
$elapsedTime = $start->diff($end)->format('%H:%I:%S');
Log::info(Carbon::now() . ': End job - Test Export Excel File to S3 Bucket. ElapsedTime: ' . $elapsedTime . '.');
}
}