| Server IP : 54.233.248.239 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/app/Services/ |
Upload File : |
<?php
namespace App\Services;
use App\Modules\Oferta\Models\Oferta;
use App\Modules\MailchimpCampaign\Models\MailchimpCampaign;
use Illuminate\Support\Facades\Log;
use Exception;
use DB;
class CanalService {
public static function setFastPass($canal_id, $fast_pass){
$query = Oferta::select(
'oferta.*',
'produto.id as produto_id'
)
->join('oferta_has_produto','oferta_has_produto.id_oferta','=','oferta.id')
->join('produto','produto.id','=','oferta_has_produto.id_produto')
->join('produto_caracteristica','produto.id','=','produto_caracteristica.id_produto')
->join('tipo_de_produto','tipo_de_produto.id','=','produto.id_tipo_produto')
->join('canal_has_oferta','canal_has_oferta.id_oferta','=','oferta.id')
->join('canal','canal_has_oferta.id_canal','=','canal.id')
->whereRaw('canal_has_oferta.deleted_at IS NULL')
->where('canal.id', $canal_id)
->groupBy('produto.id')
->orderBy('canal_has_oferta.ordenacao', 'asc');
$listaOfertas = $query->get();
$listaProdutos = [];
foreach ($listaOfertas as $oferta):
$listaProdutos[] = $oferta->produto_id;
endforeach;
$produtos = implode(",", $listaProdutos);
if(count($listaProdutos) > 0):
$sql = "UPDATE produto SET fast_pass = {$fast_pass} WHERE id IN ({$produtos})";
Log::info($sql);
DB::update($sql);
endif;
return true;
}
public static function updateOfertaCampaign($canal_id, $mailchimp_campaign_id){
$MailchimpCampaign = MailchimpCampaign::where('id', $mailchimp_campaign_id)->first();
if($MailchimpCampaign){
$sql = "UPDATE oferta SET campaign_id = '{$MailchimpCampaign->campaign_id}' WHERE EXISTS (SELECT 1 FROM canal_has_oferta cho WHERE cho.id_oferta = oferta.id AND cho.id_canal = {$canal_id});";
DB::update($sql);
}
return true;
}
}