2019-11-16 07:21:14 +00:00
|
|
|
<?php
|
|
|
|
|
|
2019-12-31 12:49:09 +00:00
|
|
|
namespace App\Imports\Sales;
|
2019-11-16 07:21:14 +00:00
|
|
|
|
2020-01-19 22:26:35 +00:00
|
|
|
use App\Abstracts\Import;
|
2019-11-16 07:21:14 +00:00
|
|
|
use App\Http\Requests\Common\Contact as Request;
|
2021-02-26 12:38:45 +00:00
|
|
|
use App\Models\Common\Contact as Model;
|
2019-11-16 07:21:14 +00:00
|
|
|
|
2020-01-19 22:26:35 +00:00
|
|
|
class Customers extends Import
|
2019-11-16 07:21:14 +00:00
|
|
|
{
|
2023-03-07 12:18:14 +00:00
|
|
|
public $request_class = Request::class;
|
|
|
|
|
|
2019-11-16 07:21:14 +00:00
|
|
|
public function model(array $row)
|
|
|
|
|
{
|
2021-02-26 14:16:48 +00:00
|
|
|
return new Model($row);
|
2019-11-16 07:21:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function map($row): array
|
|
|
|
|
{
|
2020-01-20 08:12:14 +00:00
|
|
|
$row = parent::map($row);
|
2019-11-16 07:21:14 +00:00
|
|
|
|
2021-11-07 23:40:40 +00:00
|
|
|
$country = array_search($row['country'], trans('countries'));
|
|
|
|
|
|
2020-01-20 08:12:14 +00:00
|
|
|
$row['type'] = 'customer';
|
2021-11-07 23:40:40 +00:00
|
|
|
$row['country'] = !empty($country) ? $country : null;
|
2022-07-19 09:09:04 +00:00
|
|
|
$row['currency_code'] = $this->getCurrencyCode($row);
|
2022-06-30 08:59:15 +00:00
|
|
|
$row['user_id'] = null;
|
2019-11-16 07:21:14 +00:00
|
|
|
|
2023-06-16 14:26:49 +00:00
|
|
|
if (isset($row['can_login']) && isset($row['email'])) {
|
2023-10-03 08:06:08 +00:00
|
|
|
$row['user_id'] = user_model_class()::where('email', $row['email'])->first()?->id ?? null;
|
2023-06-16 14:26:49 +00:00
|
|
|
}
|
|
|
|
|
|
2019-11-16 07:21:14 +00:00
|
|
|
return $row;
|
|
|
|
|
}
|
2020-01-19 22:26:35 +00:00
|
|
|
}
|