Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Письменов Дмитрий Иванович
/
yourroomads
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit ed83aacf
authored
Sep 20, 2021
by
Vladislav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Оптимизация изменения удаления
1 parent
b94659bc
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
179 additions
and
151 deletions
app/Console/Commands/BidModifiersAdd.php
app/Service/DirectResponseHelper.php
app/Service/Requests/Direct/DeleteAdGroups.php
app/Service/Requests/Direct/DeleteAds.php
app/Service/Requests/Direct/DeleteAudienceTarget.php
app/Service/Requests/Direct/DeleteVCards.php
app/Service/Requests/Direct/SetBidModifiers.php
app/Service/Requests/Direct/UpdateAdGroups.php
app/Service/Requests/Direct/UpdateAds.php
app/Service/Requests/Direct/UpdateCampaigns.php
app/Service/Requests/Direct/UpdateKeywords.php
app/Service/Requests/Direct/UpdateNegativeKeywordSharedSets.php
app/Service/Requests/Direct/UpdateRetargetinglists.php
app/Console/Commands/BidModifiersAdd.php
View file @
ed83aac
...
@@ -69,11 +69,13 @@ class BidModifiersAdd extends Command
...
@@ -69,11 +69,13 @@ class BidModifiersAdd extends Command
->
groupBy
([
->
groupBy
([
'goal_bid_modifiers.dictionary_campaign_external_id'
,
'goal_bid_modifiers.dictionary_campaign_external_id'
,
'goal_bid_modifiers.goal_ad_group_external_id'
,
'goal_bid_modifiers.goal_ad_group_external_id'
,
'dictionaries.region_id'
,
'dictionaries.token_id'
,
'bid_modifiers.mobile_adjustment'
,
'bid_modifiers.mobile_adjustment'
,
'bid_modifiers.desktop_adjustment'
,
'bid_modifiers.desktop_adjustment'
,
'bid_modifiers.video_adjustment'
,
'bid_modifiers.video_adjustment'
,
'dictionaries.region_id'
,
DB
::
raw
(
'bid_modifiers.demographics_adjustment IS NOT NULL'
)
,
'dictionaries.token_id'
,
DB
::
raw
(
'bid_modifiers.retargeting_adjustment IS NOT NULL'
)
,
])
])
->
select
([
->
select
([
DB
::
raw
(
'json_arrayagg(goal_bid_modifiers.id) as ids'
),
DB
::
raw
(
'json_arrayagg(goal_bid_modifiers.id) as ids'
),
...
...
app/Service/DirectResponseHelper.php
0 → 100644
View file @
ed83aac
<?php
namespace
App\Service
;
class
DirectResponseHelper
{
static
function
getExternalIdsChunkByResult
(
$data
)
{
return
array_chunk
(
array_column
(
array_filter
(
$data
,
function
(
$result
)
{
return
isset
(
$result
[
'Id'
]);
},
ARRAY_FILTER_USE_BOTH
),
'Id'
),
1000
);
}
}
app/Service/Requests/Direct/DeleteAdGroups.php
View file @
ed83aac
...
@@ -5,7 +5,9 @@ namespace App\Service\Requests\Direct;
...
@@ -5,7 +5,9 @@ namespace App\Service\Requests\Direct;
use
App\Jobs\ProcessCallLimitedAPI
;
use
App\Jobs\ProcessCallLimitedAPI
;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
Carbon\Carbon
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
class
DeleteAdGroups
extends
DirectRequest
class
DeleteAdGroups
extends
DirectRequest
...
@@ -37,9 +39,16 @@ class DeleteAdGroups extends DirectRequest
...
@@ -37,9 +39,16 @@ class DeleteAdGroups extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'DeleteResults'
])
as
$external_ids
)
{
GoalAdGroup
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
if
(
!
isset
(
$delete_result
[
'Id'
]))
{
if
(
isset
(
$delete_result
[
'Id'
]))
{
continue
;
}
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
...
@@ -68,13 +77,6 @@ class DeleteAdGroups extends DirectRequest
...
@@ -68,13 +77,6 @@ class DeleteAdGroups extends DirectRequest
'reserve_delete_at'
=>
null
,
'reserve_delete_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$delete_result
[
'Id'
];
GoalAdGroup
::
where
(
'external_id'
,
$external_id
)
->
delete
();
}
}
}
}
...
...
app/Service/Requests/Direct/DeleteAds.php
View file @
ed83aac
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
use
App\Models\Advertisement
;
use
App\Models\Advertisement
;
use
App\Models\Pivots\GoalAdvertisement
;
use
App\Models\Pivots\GoalAdvertisement
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
...
@@ -38,11 +39,23 @@ class DeleteAds extends DirectRequest
...
@@ -38,11 +39,23 @@ class DeleteAds extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'DeleteResults'
])
as
$external_ids
)
{
if
(
$this
->
getToken
()
->
isMain
())
{
Advertisement
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
else
{
GoalAdvertisement
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
}
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
if
(
isset
(
$delete_result
[
'Id'
]))
{
continue
;
}
if
(
!
isset
(
$delete_result
[
'Id'
]))
{
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
if
(
if
(
isset
(
$delete_result
[
'Errors'
][
0
][
'Code'
])
isset
(
$delete_result
[
'Errors'
][
0
][
'Code'
])
...
@@ -77,11 +90,11 @@ class DeleteAds extends DirectRequest
...
@@ -77,11 +90,11 @@ class DeleteAds extends DirectRequest
continue
;
continue
;
}
}
}
}
else
{
Log
::
debug
(
"DeleteAds, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
Log
::
debug
(
"DeleteAds, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
Log
::
debug
(
$delete_result
);
Log
::
debug
(
$delete_result
);
Log
::
debug
(
$external_id
);
Log
::
debug
(
$external_id
);
}
if
(
$this
->
getToken
()
->
isMain
())
{
if
(
$this
->
getToken
()
->
isMain
())
{
Advertisement
::
whereExternalId
(
$external_id
)
Advertisement
::
whereExternalId
(
$external_id
)
...
@@ -95,20 +108,6 @@ class DeleteAds extends DirectRequest
...
@@ -95,20 +108,6 @@ class DeleteAds extends DirectRequest
]);
]);
}
}
continue
;
}
$external_id
=
(
string
)
$delete_result
[
'Id'
];
if
(
$this
->
getToken
()
->
isMain
())
{
Advertisement
::
where
(
'external_id'
,
$external_id
)
->
delete
();
}
else
{
GoalAdvertisement
::
where
(
'external_id'
,
$external_id
)
->
delete
();
}
}
}
}
}
...
...
app/Service/Requests/Direct/DeleteAudienceTarget.php
View file @
ed83aac
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
use
App\Models\AudienceTarget
;
use
App\Models\AudienceTarget
;
use
App\Models\Pivots\GoalAudienceTarget
;
use
App\Models\Pivots\GoalAudienceTarget
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
...
@@ -38,13 +39,26 @@ class DeleteAudienceTarget extends DirectRequest
...
@@ -38,13 +39,26 @@ class DeleteAudienceTarget extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'DeleteResults'
])
as
$external_ids
)
{
if
(
$this
->
getToken
()
->
isMain
())
{
AudienceTarget
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
else
{
GoalAudienceTarget
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
}
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
if
(
!
isset
(
$delete_result
[
'Id'
]))
{
if
(
isset
(
$delete_result
[
'Id'
]))
{
continue
;
}
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
if
(
isset
(
$delete_result
[
'Errors'
])
&&
count
(
$delete_result
[
'Errors'
]))
{
if
(
isset
(
$delete_result
[
'Errors'
])
&&
count
(
$delete_result
[
'Errors'
]))
{
if
(
$this
->
getToken
()
->
isMain
())
{
if
(
$this
->
getToken
()
->
isMain
())
{
$model
=
AudienceTarget
::
whereExternalId
(
$external_id
)
->
first
();
$model
=
AudienceTarget
::
whereExternalId
(
$external_id
)
->
first
();
}
else
{
}
else
{
...
@@ -79,20 +93,6 @@ class DeleteAudienceTarget extends DirectRequest
...
@@ -79,20 +93,6 @@ class DeleteAudienceTarget extends DirectRequest
]);
]);
}
}
continue
;
}
$external_id
=
(
string
)
$delete_result
[
'Id'
];
if
(
$this
->
getToken
()
->
isMain
())
{
AudienceTarget
::
whereExternalId
(
$external_id
)
->
delete
();
}
else
{
GoalAudienceTarget
::
whereExternalId
(
$external_id
)
->
delete
();
}
}
}
}
}
...
...
app/Service/Requests/Direct/DeleteVCards.php
View file @
ed83aac
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
use
App\Models\Pivots\GoalVCard
;
use
App\Models\Pivots\GoalVCard
;
use
App\Models\VCard
;
use
App\Models\VCard
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
...
@@ -38,11 +39,23 @@ class DeleteVCards extends DirectRequest
...
@@ -38,11 +39,23 @@ class DeleteVCards extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'DeleteResults'
])
as
$external_ids
)
{
if
(
$this
->
getToken
()
->
isMain
())
{
VCard
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
else
{
GoalVCard
::
whereIn
(
'external_id'
,
$external_ids
)
->
delete
();
}
}
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
foreach
(
$response
[
'result'
][
'DeleteResults'
]
as
$key
=>
$delete_result
)
{
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
$external_id
=
$this
->
getParams
()[
'SelectionCriteria'
][
'Ids'
][
$key
];
if
(
!
isset
(
$delete_result
[
'Id'
]))
{
if
(
isset
(
$delete_result
[
'Id'
]))
{
continue
;
}
if
(
if
(
isset
(
$delete_result
[
'Errors'
][
0
][
'Code'
])
isset
(
$delete_result
[
'Errors'
][
0
][
'Code'
])
...
@@ -92,20 +105,6 @@ class DeleteVCards extends DirectRequest
...
@@ -92,20 +105,6 @@ class DeleteVCards extends DirectRequest
]);
]);
}
}
continue
;
}
$external_id
=
(
string
)
$delete_result
[
'Id'
];
if
(
$this
->
getToken
()
->
isMain
())
{
VCard
::
whereExternalId
(
$external_id
)
->
delete
();
}
else
{
GoalVCard
::
whereExternalId
(
$external_id
)
->
delete
();
}
}
}
}
}
...
...
app/Service/Requests/Direct/SetBidModifiers.php
View file @
ed83aac
...
@@ -5,7 +5,9 @@ namespace App\Service\Requests\Direct;
...
@@ -5,7 +5,9 @@ namespace App\Service\Requests\Direct;
use
App\Jobs\ProcessCallLimitedAPI
;
use
App\Jobs\ProcessCallLimitedAPI
;
use
App\Models\Pivots\GoalBidModifier
;
use
App\Models\Pivots\GoalBidModifier
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
Carbon\Carbon
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
class
SetBidModifiers
extends
DirectRequest
class
SetBidModifiers
extends
DirectRequest
...
@@ -37,16 +39,29 @@ class SetBidModifiers extends DirectRequest
...
@@ -37,16 +39,29 @@ class SetBidModifiers extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'SetResults'
])
as
$external_ids
)
{
GoalBidModifier
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'SetResults'
]
as
$key
=>
$set_result
)
{
foreach
(
$response
[
'result'
][
'SetResults'
]
as
$key
=>
$set_result
)
{
if
(
!
isset
(
$set_result
[
'Id'
]))
{
if
(
isset
(
$set_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'BidModifiers'
][
$key
];
$data
=
$this
->
getParams
()[
'BidModifiers'
][
$key
];
$external_id
=
$data
[
'Id'
];
$external_id
=
$data
[
'Id'
];
if
(
isset
(
$set_result
[
'Errors'
][
0
][
'Message'
])
&&
$set_result
[
'Errors'
][
0
][
'Message'
]
===
'Object not found'
)
{
if
(
isset
(
$set_result
[
'Errors'
][
0
][
'Message'
])
&&
$set_result
[
'Errors'
][
0
][
'Message'
]
===
'Object not found'
)
{
GoalBidModifier
::
whereExternalId
(
$external_id
)
->
delete
();
GoalBidModifier
::
whereExternalId
(
$external_id
)
->
delete
();
}
elseif
(
isset
(
$set_result
[
'Errors'
])
&&
count
(
$set_result
[
'Errors'
]))
{
}
elseif
(
isset
(
$set_result
[
'Errors'
])
&&
count
(
$set_result
[
'Errors'
]))
{
$model
=
GoalBidModifier
::
whereExternalId
(
$external_id
)
->
first
();
$model
=
GoalBidModifier
::
whereExternalId
(
$external_id
)
->
first
();
...
@@ -70,16 +85,6 @@ class SetBidModifiers extends DirectRequest
...
@@ -70,16 +85,6 @@ class SetBidModifiers extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$set_result
[
'Id'
];
GoalBidModifier
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
}
}
...
...
app/Service/Requests/Direct/UpdateAdGroups.php
View file @
ed83aac
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
...
@@ -6,6 +6,7 @@ use App\Jobs\ProcessCallLimitedAPI;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Carbon\Carbon
;
...
@@ -40,9 +41,20 @@ class UpdateAdGroups extends DirectRequest
...
@@ -40,9 +41,20 @@ class UpdateAdGroups extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
GoalAdGroup
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'AdGroups'
][
$key
];
$data
=
$this
->
getParams
()[
'AdGroups'
][
$key
];
...
@@ -70,17 +82,6 @@ class UpdateAdGroups extends DirectRequest
...
@@ -70,17 +82,6 @@ class UpdateAdGroups extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
GoalAdGroup
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
$this
->
getToken
()
->
update
([
$this
->
getToken
()
->
update
([
...
...
app/Service/Requests/Direct/UpdateAds.php
View file @
ed83aac
...
@@ -7,6 +7,7 @@ use App\Models\Advertisement;
...
@@ -7,6 +7,7 @@ use App\Models\Advertisement;
use
App\Models\Pivots\GoalAdvertisement
;
use
App\Models\Pivots\GoalAdvertisement
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Carbon\Carbon
;
...
@@ -41,9 +42,20 @@ class UpdateAds extends DirectRequest
...
@@ -41,9 +42,20 @@ class UpdateAds extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
GoalAdvertisement
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'Ads'
][
$key
];
$data
=
$this
->
getParams
()[
'Ads'
][
$key
];
...
@@ -84,17 +96,6 @@ class UpdateAds extends DirectRequest
...
@@ -84,17 +96,6 @@ class UpdateAds extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
GoalAdvertisement
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
$this
->
getToken
()
->
update
([
$this
->
getToken
()
->
update
([
...
...
app/Service/Requests/Direct/UpdateCampaigns.php
View file @
ed83aac
...
@@ -8,6 +8,7 @@ use App\Models\Pivots\DictionaryCampaign;
...
@@ -8,6 +8,7 @@ use App\Models\Pivots\DictionaryCampaign;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Models\Pivots\GoalAdGroup
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Carbon\Carbon
;
...
@@ -42,9 +43,20 @@ class UpdateCampaigns extends DirectRequest
...
@@ -42,9 +43,20 @@ class UpdateCampaigns extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
DictionaryCampaign
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'Campaigns'
][
$key
];
$data
=
$this
->
getParams
()[
'Campaigns'
][
$key
];
...
@@ -74,16 +86,6 @@ class UpdateCampaigns extends DirectRequest
...
@@ -74,16 +86,6 @@ class UpdateCampaigns extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
DictionaryCampaign
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
$this
->
getToken
()
->
update
([
$this
->
getToken
()
->
update
([
...
...
app/Service/Requests/Direct/UpdateKeywords.php
View file @
ed83aac
...
@@ -7,8 +7,10 @@ use App\Models\Keyword;
...
@@ -7,8 +7,10 @@ use App\Models\Keyword;
use
App\Models\Pivots\GoalKeyword
;
use
App\Models\Pivots\GoalKeyword
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
class
UpdateKeywords
extends
DirectRequest
class
UpdateKeywords
extends
DirectRequest
...
@@ -40,15 +42,30 @@ class UpdateKeywords extends DirectRequest
...
@@ -40,15 +42,30 @@ class UpdateKeywords extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
GoalKeyword
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'Keywords'
][
$key
];
$data
=
$this
->
getParams
()[
'Keywords'
][
$key
];
$external_id
=
$data
[
'Id'
];
$external_id
=
$data
[
'Id'
];
if
(
isset
(
$update_result
[
'Errors'
])
&&
count
(
$update_result
[
'Errors'
]))
{
if
(
isset
(
$data
[
'Errors'
][
0
][
'Details'
])
&&
$data
[
'Errors'
][
0
][
'Details'
]
===
'Keyword not found'
)
{
GoalKeyword
::
whereExternalId
(
$external_id
)
->
delete
();
}
elseif
(
isset
(
$update_result
[
'Errors'
])
&&
count
(
$update_result
[
'Errors'
]))
{
$goalKeyword
=
GoalKeyword
::
whereExternalId
(
$external_id
)
->
first
();
$goalKeyword
=
GoalKeyword
::
whereExternalId
(
$external_id
)
->
first
();
if
(
$goalKeyword
)
{
if
(
$goalKeyword
)
{
...
@@ -59,10 +76,6 @@ class UpdateKeywords extends DirectRequest
...
@@ -59,10 +76,6 @@ class UpdateKeywords extends DirectRequest
'params'
=>
$data
,
'params'
=>
$data
,
'errors'
=>
$update_result
[
'Errors'
],
'errors'
=>
$update_result
[
'Errors'
],
]);
]);
$goalKeyword
->
update
([
'reserve_update_at'
=>
null
,
]);
continue
;
}
}
}
else
{
}
else
{
Log
::
debug
(
"UpdateKeywords, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
Log
::
debug
(
"UpdateKeywords, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
...
@@ -75,17 +88,6 @@ class UpdateKeywords extends DirectRequest
...
@@ -75,17 +88,6 @@ class UpdateKeywords extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
GoalKeyword
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
}
}
...
...
app/Service/Requests/Direct/UpdateNegativeKeywordSharedSets.php
View file @
ed83aac
...
@@ -7,8 +7,10 @@ use App\Models\NegativeKeywordSharedSet;
...
@@ -7,8 +7,10 @@ use App\Models\NegativeKeywordSharedSet;
use
App\Models\Pivots\GoalNegativeKeywordSharedSet
;
use
App\Models\Pivots\GoalNegativeKeywordSharedSet
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Illuminate\Database\Eloquent\Collection
;
use
Illuminate\Database\Eloquent\Collection
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
...
@@ -53,11 +55,22 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest
...
@@ -53,11 +55,22 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
GoalNegativeKeywordSharedSet
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
$goalNegativeKeywordSharedSet
=
$this
->
goalNegativeKeywordSharedSets
->
get
(
$key
);
$goalNegativeKeywordSharedSet
=
$this
->
goalNegativeKeywordSharedSets
->
get
(
$key
);
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'NegativeKeywordSharedSets'
][
$key
];
$data
=
$this
->
getParams
()[
'NegativeKeywordSharedSets'
][
$key
];
...
@@ -80,17 +93,6 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest
...
@@ -80,17 +93,6 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
continue
;
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
GoalNegativeKeywordSharedSet
::
where
(
'external_id'
,
$external_id
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
]);
}
}
}
}
...
...
app/Service/Requests/Direct/UpdateRetargetinglists.php
View file @
ed83aac
...
@@ -6,8 +6,10 @@ use App\Jobs\ProcessCallLimitedAPI;
...
@@ -6,8 +6,10 @@ use App\Jobs\ProcessCallLimitedAPI;
use
App\Models\Pivots\GoalRetargetinglist
;
use
App\Models\Pivots\GoalRetargetinglist
;
use
App\Models\Variable
;
use
App\Models\Variable
;
use
App\Service\Contract\APIRequest
;
use
App\Service\Contract\APIRequest
;
use
App\Service\DirectResponseHelper
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\Requests\DirectRequest
;
use
App\Service\StrReplaceByVariables
;
use
App\Service\StrReplaceByVariables
;
use
Carbon\Carbon
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Facades\Log
;
class
UpdateRetargetinglists
extends
DirectRequest
class
UpdateRetargetinglists
extends
DirectRequest
...
@@ -41,9 +43,20 @@ class UpdateRetargetinglists extends DirectRequest
...
@@ -41,9 +43,20 @@ class UpdateRetargetinglists extends DirectRequest
return
;
return
;
}
}
foreach
(
DirectResponseHelper
::
getExternalIdsChunkByResult
(
$response
[
'result'
][
'UpdateResults'
])
as
$external_ids
)
{
GoalRetargetinglist
::
whereIn
(
'external_id'
,
$external_ids
)
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'updated_at'
=>
Carbon
::
now
(),
]);
}
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
foreach
(
$response
[
'result'
][
'UpdateResults'
]
as
$key
=>
$update_result
)
{
if
(
!
isset
(
$update_result
[
'Id'
]))
{
if
(
isset
(
$update_result
[
'Id'
]))
{
continue
;
}
$data
=
$this
->
getParams
()[
'RetargetingLists'
][
$key
];
$data
=
$this
->
getParams
()[
'RetargetingLists'
][
$key
];
...
@@ -58,30 +71,15 @@ class UpdateRetargetinglists extends DirectRequest
...
@@ -58,30 +71,15 @@ class UpdateRetargetinglists extends DirectRequest
'params'
=>
$data
,
'params'
=>
$data
,
'errors'
=>
$update_result
[
'Errors'
],
'errors'
=>
$update_result
[
'Errors'
],
]);
]);
$goalRetargetinglist
->
update
([
'reserve_update_at'
=>
null
,
]);
continue
;
}
}
}
}
else
{
Log
::
debug
(
"AddRetargetinglist, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
Log
::
debug
(
"AddRetargetinglist, empty Id, token_id
{
$this
->
getToken
()
->
getKey
()
}
"
);
Log
::
debug
(
$update_result
);
Log
::
debug
(
$update_result
);
Log
::
debug
(
$data
);
Log
::
debug
(
$data
);
GoalRetargetinglist
::
where
(
'external_id'
,
$data
[
'Id'
])
->
update
([
'reserve_update_at'
=>
null
,
]);
continue
;
}
}
$external_id
=
(
string
)
$update_result
[
'Id'
];
GoalRetargetinglist
::
where
(
'external_id'
,
$data
[
'Id'
])
GoalRetargetinglist
::
where
(
'external_id'
,
$external_id
)
->
update
([
->
update
([
'updated_need'
=>
null
,
'reserve_update_at'
=>
null
,
'reserve_update_at'
=>
null
,
]);
]);
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment