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