<?php

namespace App\Http\Controllers\Network;

use App\Http\Controllers\Network\Classes\Jumia as JumiaApi;
use Carbon\Carbon;
use Yajny\Member\Models\Network;
use Yajny\Member\Models\Sale;


class Jumia extends BaseNetwork
{
    public function __construct(Network $network)
    {
        parent::__construct($network, new JumiaApi($network->api_key, $network->affiliate_id, $network->website_id));
    }

    public function mapNetworkSaleToYajnySale($saleOrder): ?Sale
    {
        $sale = Sale::withoutGlobalScopes()->firstOrNew(['network_id' => $this->network->id, 'network_transaction_id' => $saleOrder->conversion_id]);

        if (!$sale->exists) {
            $sale->click_id = $saleOrder->subid_2;
            $sale->order_id = $saleOrder->order_id;
            $sale->campaign_id = $saleOrder->offer_id;
            $sale->transaction_time = Carbon::parse($saleOrder->conversion_date)->toDateTimeString();
            $sale->currency = 'EGP';
        }
        $sale->local_order_amount = $saleOrder->order_total;
        $sale->local_comission = $saleOrder->price;
        $sale->network_status = $saleOrder->disposition;
        $sale->setStatus($this->network->sale_statuses);
        return $sale;
    }
}
