Viewing File: /home/ubuntu/efidemo/app/Jobs/EfipayoutJob.php
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Imports\EFIPayoutImport;
use App\Exports\EFIPayoutExport;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Arr;
use Log;
class EfipayoutJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$response_data = [];
// $zyro_export_data = Excel::toArray(new EFIPayoutImport, public_path('imports/zyro-sample.xlsx'));
// $efipay_export_data = Excel::toArray(new EFIPayoutImport, public_path('imports/efipay-sample.xlsx'));
$zyro_export_data = Excel::toArray(new EFIPayoutImport, public_path('imports/zyro-apr2024.xlsx'));
$efipay_export_data = Excel::toArray(new EFIPayoutImport, public_path('imports/efipay-apr2024.xlsx'));
$empty_efipay_data = array_keys($efipay_export_data[0][0]);
$zyro_data = collect($zyro_export_data[0]);
$efipay_data = collect($efipay_export_data[0]);
Log::info("Export data from excel completed.");
Log::info("Export data started.");
foreach($zyro_data as $z_data) {
$check_order = $efipay_data->firstWhere('efipay_order_id',$z_data['zyro_order_id']);
$single_data = array_merge($z_data, $check_order ?: $empty_efipay_data);
array_push($response_data, $single_data);
}
Log::info("Export data processed.");
Excel::store(new EFIPayoutExport($response_data), 'payout-april-2024-compare.xlsx');
Log::info("Export data generated as file.");
}
}
Back to Directory
File Manager