Commit 7be069a6 by Vladislav

#20414 Загрузка и синхронизация VCards

1 parent 8036cb5a
......@@ -25,6 +25,8 @@ use App\Console\Commands\KeywordsAdd;
use App\Console\Commands\KeywordsDelete;
use App\Console\Commands\KeywordsUpdate;
use App\Console\Commands\RefreshLimits;
use App\Console\Commands\VCardsAdd;
use App\Console\Commands\VCardsLoad;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
......@@ -51,6 +53,7 @@ class Kernel extends ConsoleKernel
$schedule->command(RefreshLimits::class)->hourly();
$schedule->command(DictionariesLoad::class)->saturdays()->at('05:00');
$schedule->command(VCardsLoad::class)->at('00:00');
$schedule->command(CampaignsCheckChange::class)->hourlyAt(5);
$schedule->command(CampaignsLoadUpdated::class)->hourlyAt(10);
$schedule->command(CampaignsCheckUpdatedChildren::class)->hourlyAt(10);
......@@ -64,6 +67,7 @@ class Kernel extends ConsoleKernel
$schedule->command(AdGroupsLoadUpdated::class)->hourlyAt(20);
$schedule->command(AdGroupsLoadKeywords::class)->hourlyAt(30);
$schedule->command(VCardsAdd::class)->hourlyAt(25);
$schedule->command(AdExtensionsLoad::class)->hourlyAt(25);
$schedule->command(AdExtensionsAdd::class)->hourlyAt(30);
......
......@@ -13,7 +13,7 @@ class GoalVCard extends Pivot
{
use SoftDeletes;
protected $table = 'goal_v_card';
protected $table = 'goal_v_cards';
protected $fillable = [
'external_id',
......
......@@ -121,31 +121,69 @@ class AddVCards extends DirectRequest
$list = $lists[$goalVCard->dictionary_campaign_id];
}
return [
$data = [
'CampaignId' => $goalVCard->dictionary_campaign_external_id,
'Country' => StrReplaceByVariables::getInstance($goalVCard->vCard->country, $list)->get(),
'City' => StrReplaceByVariables::getInstance($goalVCard->vCard->city, $list)->get(),
'CompanyName' => StrReplaceByVariables::getInstance($goalVCard->vCard->company_name, $list)->get(),
'WorkTime' => StrReplaceByVariables::getInstance($goalVCard->vCard->work_time, $list)->get(),
'Phone' => array_map(function ($phone) use ($list) {
];
if ($goalVCard->vCard->street) {
$data['Street'] = StrReplaceByVariables::getInstance($goalVCard->vCard->street, $list)->get();
}
if ($goalVCard->vCard->house) {
$data['House'] = StrReplaceByVariables::getInstance($goalVCard->vCard->house, $list)->get();
}
if ($goalVCard->vCard->building) {
$data['Building'] = StrReplaceByVariables::getInstance($goalVCard->vCard->building, $list)->get();
}
if ($goalVCard->vCard->apartment) {
$data['Apartment'] = StrReplaceByVariables::getInstance($goalVCard->vCard->apartment, $list)->get();
}
if ($goalVCard->vCard->extra_message) {
$data['ExtraMessage'] = StrReplaceByVariables::getInstance($goalVCard->vCard->extra_message, $list)->get();
}
if ($goalVCard->vCard->contact_email) {
$data['ContactEmail'] = StrReplaceByVariables::getInstance($goalVCard->vCard->contact_email, $list)->get();
}
if ($goalVCard->vCard->ogrn) {
$data['Ogrn'] = StrReplaceByVariables::getInstance($goalVCard->vCard->ogrn, $list)->get();
}
if ($goalVCard->vCard->metro_station_id) {
$data['MetroStationId'] = StrReplaceByVariables::getInstance($goalVCard->vCard->metro_station_id, $list)->get();
}
if ($goalVCard->vCard->contact_person) {
$data['ContactPerson'] = StrReplaceByVariables::getInstance($goalVCard->vCard->contact_person, $list)->get();
}
if ($goalVCard->vCard->phone && count($goalVCard->vCard->phone)) {
$data['Phone'] = array_map(function ($phone) use ($list) {
return StrReplaceByVariables::getInstance($phone, $list)->get();
}, $goalVCard->vCard->phone),
'Street' => StrReplaceByVariables::getInstance($goalVCard->vCard->street, $list)->get(),
'House' => StrReplaceByVariables::getInstance($goalVCard->vCard->house, $list)->get(),
'Building' => StrReplaceByVariables::getInstance($goalVCard->vCard->building, $list)->get(),
'Apartment' => StrReplaceByVariables::getInstance($goalVCard->vCard->apartment, $list)->get(),
'InstantMessenger' => array_map(function ($instant_messenger) use ($list) {
}, $goalVCard->vCard->phone);
}
if ($goalVCard->vCard->instant_messenger && count($goalVCard->vCard->instant_messenger)) {
$data['InstantMessenger'] = array_map(function ($instant_messenger) use ($list) {
return StrReplaceByVariables::getInstance($instant_messenger, $list)->get();
}, $goalVCard->vCard->instant_messenger),
'ExtraMessage' => StrReplaceByVariables::getInstance($goalVCard->vCard->extra_message, $list)->get(),
'ContactEmail' => StrReplaceByVariables::getInstance($goalVCard->vCard->contact_email, $list)->get(),
'Ogrn' => StrReplaceByVariables::getInstance($goalVCard->vCard->ogrn, $list)->get(),
'MetroStationId' => StrReplaceByVariables::getInstance($goalVCard->vCard->metro_station_id, $list)->get(),
'PointOnMap' => array_map(function ($point_on_map) use ($list) {
}, $goalVCard->vCard->instant_messenger);
}
if ($goalVCard->vCard->point_on_map && count($goalVCard->vCard->point_on_map)) {
$data['PointOnMap'] = array_map(function ($point_on_map) use ($list) {
return StrReplaceByVariables::getInstance($point_on_map, $list)->get();
}, $goalVCard->vCard->point_on_map),
'ContactPerson' => StrReplaceByVariables::getInstance($goalVCard->vCard->contact_person, $list)->get(),
];
}, $goalVCard->vCard->point_on_map);
}
return $data;
})->toArray(),
]);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!