| Server IP : 54.94.228.101 / Your IP : 172.28.20.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/Http/Controllers/Website/ |
Upload File : |
<?php
namespace App\Http\Controllers\Website;
use App\Http\Requests;
use App\Modules\PedidoVenda\Models\PedidoVenda;
use Illuminate\Http\Request;
use App\Http\Controllers\BaseController;
use App\Modules\Oferta\Models\Oferta;
use App\Modules\OfertaReserva\Models\OfertaReserva;
use App\Modules\Produto\Models\Produto;
use App\Modules\Noticia\Models\Noticia;
use App\Modules\BannerFooter\Models\BannerFooter;
use App\Modules\Tema\Models\Tema;
use App\Modules\Canal\Models\Canal;
use App\Services\CartService;
use App\Services\GeralService;
use App\Services\OfertaService;
use App\BasicInfo;
use DB;
class OfertaDoDiaController extends BaseController
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$data = array();
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'do Dia';
$data['oferta'] = Oferta::where('data',date('Y-m-d'))->where('tipo', 'D')->with('produtos')->first();
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => true
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
return view('site/oferta-do-dia',$data);
}
public function casada()
{
$data = array();
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
$data['oferta'] = Oferta::where('data',date('Y-m-d'))->where('tipo', 'CS')->with('produtos')->orderBy('oferta.id', 'DESC')->first();
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => true
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
return view('site/oferta-casada',$data);
}
public function detalhe($slug, Request $request){
$tempo_reserva = OfertaReserva::dataAtual();
$data = array();
$data = $request->input();
$data['bloquear_master_class'] = true;
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('slug',$slug)
->first();
if(!$data['oferta']){
return redirect('/');
}
$data['valido_adega_virada'] = GeralService::validarOfertaAdegaVirada($data['oferta']);
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
//Ajuste Data Canal
$canal = Canal::join('canal_has_oferta', 'canal.id', '=', 'canal_has_oferta.id_canal')->where('canal_has_oferta.id_oferta', $data['oferta']->id)->orderBy('canal_has_oferta.data_final', 'DESC')->first();
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$data['ofertasCart'] = CartService::buscarOfertasCart();
//$data['oferta']->grupo_produto == 'acessorios' ||
if(!empty($data['oferta']->grupo_produto) && $data['oferta']->grupo_vinho != 'vinhos' && ($data['oferta']->grupo_produto == 'vestuario')):
$view_oferta = 'oferta-'.$data['oferta']->grupo_produto;
elseif($data['oferta'] && $data['oferta']->tipo == 'CF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-confraria-colecao' : 'oferta-confraria');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'PR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-premium-colecao' : 'oferta-premium');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'):
$view_oferta = 'oferta-relampago-colecao';
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'CR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-cru-classe-colecao' : 'oferta-cru-classe');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'BF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-black-friday-colecao' : 'oferta-black-friday');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'OU'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-outlet-colecao' : 'oferta-outlet');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && count($data['oferta']->produtos) > 1):
$view_oferta = 'oferta-colecao';
elseif($data['oferta'] && $data['oferta']->tipo == 'CS'):
$view_oferta = 'oferta-casada';
elseif($data['oferta'] && $data['oferta']->tipo == 'MC'):
$view_oferta = 'oferta-master-class';
else:
$view_oferta = 'oferta-do-dia';
endif;
//$data['titulo_pagina'] = $canal ? $canal->nome : $data['oferta']->titulo;
//$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : $data['oferta']->sub_titulo;
if($data['oferta']->tipo == 'D' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Do dia';
}elseif($data['oferta']->tipo == 'CS' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
}elseif($data['oferta']->tipo == 'CF'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Confraria';
}elseif($data['oferta']->tipo == 'S'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Da Semana';
}elseif($data['oferta']->tipo == 'E'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Exclusiva';
}elseif($data['oferta']->tipo == 'M'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Mercado';
}elseif($data['oferta']->tipo == 'MC'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Master Class';
}elseif($canal && $view_oferta == 'oferta-colecao'){
$data['titulo_pagina'] = $canal ? $canal->nome . ' ' . $canal->subtitulo : '';
$data['subtitulo_pagina'] = '';
}else{
$data['titulo_pagina'] = $canal ? $canal->nome : '';
$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : '';
}
$data['data_oferta_semana'] = GeralService::dataOfertaSemana();
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['data_fim_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
$data['data_fim_oferta'] = date('Y-m-d', strtotime("+7 days",strtotime($data['oferta']->data)));
$data['canal'] = $canal;
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => false,
'random' => false
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['date_limite_exclusiva'] = date('Y-m-d', strtotime("-5 day"));
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
if($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'){
$data['ofertaRelampago'] = GeralService::buscarOfertaCanalRelampago();
}
if($data['oferta']->tipo == 'CF'){
$data['html_ficha_tecnica'] = view('confraria._ficha-tecnica', $data)->render();
}
$dataOfertaKit = GeralService::retornaData(date('m'), date('Y'));
$oferta_kit_confraria = GeralService::buscarOfertaConfraria($dataOfertaKit);
$data['kit_confraria'] = false;
if(isset($oferta_kit_confraria)){
if($oferta_kit_confraria->id == $data['oferta']->id){
$data['kit_confraria'] = true;
}
}
if(isset($data['clienteLogado']) && isset($data['oferta'])){
$produtosMasterClass = [];
foreach($data['oferta']->produtos as $produto){
if($produto->produto->tipo->slug == 'masterclass'){
$produtosMasterClass[] = $produto->produto->id;
}
}
$check = PedidoVenda::query()
->join('pedido_venda_has_produto', 'pedido_venda_has_produto.id_pedido_venda', 'pedido_venda.id')
->where('pedido_venda.id_cliente', $data['clienteLogado']->id)
->whereIn('pedido_venda.id_status_pedido_venda', [2, 3, 7])
->whereIn('pedido_venda_has_produto.id_produto', $produtosMasterClass)
->groupBy('pedido_venda.id')
->get()
->toArray();
if(isset($check) && count($check) > 0){
$data['bloquear_master_class'] = false;
}
}
return view("site/{$view_oferta}",$data);
}
public function previewOfertaConfraria($slug, Request $request){
$tempo_reserva = OfertaReserva::dataAtual();
$data = array();
$data = $request->input();
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('slug',$slug)
->first();
if(!$data['oferta']){
return redirect('/');
}
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['data_fim_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
if($data['oferta']->data != $data['data_oferta_confraria'] && $data['oferta']->data != $data['data_fim_oferta_confraria']){
$data['oferta']->data = date('Y-m', strtotime($data['oferta']->data)) . '-01';
}
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
//Ajuste Data Canal
$canal = Canal::join('canal_has_oferta', 'canal.id', '=', 'canal_has_oferta.id_canal')->where('canal_has_oferta.id_oferta', $data['oferta']->id)->orderBy('canal.data_inicio', 'DESC')->first();
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$data['ofertasCart'] = CartService::buscarOfertasCart();
//$data['oferta']->grupo_produto == 'acessorios' ||
if(!empty($data['oferta']->grupo_produto) && $data['oferta']->grupo_vinho != 'vinhos' && ($data['oferta']->grupo_produto == 'vestuario')):
$view_oferta = 'oferta-'.$data['oferta']->grupo_produto;
elseif($data['oferta'] && $data['oferta']->tipo == 'CF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-confraria-colecao' : 'oferta-confraria');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'PR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-premium-colecao' : 'oferta-premium');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'):
$view_oferta = 'oferta-relampago-colecao';
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'CR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-cru-classe-colecao' : 'oferta-cru-classe');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'BF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-black-friday-colecao' : 'oferta-black-friday');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'OU'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-outlet-colecao' : 'oferta-outlet');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && count($data['oferta']->produtos) > 1):
$view_oferta = 'oferta-colecao';
elseif($data['oferta'] && $data['oferta']->tipo == 'CS'):
$view_oferta = 'oferta-casada';
else:
$view_oferta = 'oferta-do-dia';
endif;
//$data['titulo_pagina'] = $canal ? $canal->nome : $data['oferta']->titulo;
//$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : $data['oferta']->sub_titulo;
if($data['oferta']->tipo == 'D' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Do dia';
}elseif($data['oferta']->tipo == 'CS' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
}elseif($data['oferta']->tipo == 'CF'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Confraria';
}elseif($data['oferta']->tipo == 'S'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Da Semana';
}elseif($data['oferta']->tipo == 'E'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Exclusiva';
}elseif($data['oferta']->tipo == 'M'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Mercado';
}elseif($canal && $view_oferta == 'oferta-colecao'){
$data['titulo_pagina'] = $canal ? $canal->nome . ' ' . $canal->subtitulo : '';
$data['subtitulo_pagina'] = '';
}else{
$data['titulo_pagina'] = $canal ? $canal->nome : '';
$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : '';
}
$data['data_oferta_semana'] = GeralService::dataOfertaSemana();
$data['data_fim_oferta'] = date('Y-m-d', strtotime("+7 days",strtotime($data['oferta']->data)));
$data['canal'] = $canal;
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => false,
'random' => false
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['date_limite_exclusiva'] = date('Y-m-d', strtotime("-5 day"));
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
if($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'){
$data['ofertaRelampago'] = GeralService::buscarOfertaCanalRelampago();
}
if($data['oferta']->tipo == 'CF'){
$data['html_ficha_tecnica'] = view('confraria._ficha-tecnica', $data)->render();
}
$dataOfertaKit = GeralService::retornaData(date('m'), date('Y'));
$oferta_kit_confraria = GeralService::buscarOfertaConfraria($dataOfertaKit);
$data['kit_confraria'] = false;
if(isset($oferta_kit_confraria)){
if($oferta_kit_confraria->id == $data['oferta']->id){
$data['kit_confraria'] = true;
}
}
return view("site/preview-confraria-colecao", $data);
}
public function ofertaConfraria(Request $request)
{
$tempo_reserva = OfertaReserva::dataAtual();
$data = array();
$data = $request->input();
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['oferta_confraria'] = GeralService::buscarOfertaConfraria($data['data_oferta_confraria']);
if(!$data['oferta_confraria']){
return redirect('/');
}
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('id', $data['oferta_confraria']->id)
->first();
if(!$data['oferta']){
return redirect('/');
}
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
//Ajuste Data Canal
$canal = Canal::join('canal_has_oferta', 'canal.id', '=', 'canal_has_oferta.id_canal')->where('canal_has_oferta.id_oferta', $data['oferta']->id)->orderBy('canal.data_inicio', 'DESC')->first();
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$data['ofertasCart'] = CartService::buscarOfertasCart();
//$data['oferta']->grupo_produto == 'acessorios' ||
if(!empty($data['oferta']->grupo_produto) && $data['oferta']->grupo_vinho != 'vinhos' && ($data['oferta']->grupo_produto == 'vestuario')):
$view_oferta = 'oferta-'.$data['oferta']->grupo_produto;
elseif($data['oferta'] && $data['oferta']->tipo == 'CF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-confraria-colecao' : 'oferta-confraria');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'PR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-premium-colecao' : 'oferta-premium');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'):
$view_oferta = 'oferta-relampago-colecao';
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'CR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-cru-classe-colecao' : 'oferta-cru-classe');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'BF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-black-friday-colecao' : 'oferta-black-friday');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'OU'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-outlet-colecao' : 'oferta-outlet');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && count($data['oferta']->produtos) > 1):
$view_oferta = 'oferta-colecao';
elseif($data['oferta'] && $data['oferta']->tipo == 'CS'):
$view_oferta = 'oferta-casada';
else:
$view_oferta = 'oferta-do-dia';
endif;
//$data['titulo_pagina'] = $canal ? $canal->nome : $data['oferta']->titulo;
//$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : $data['oferta']->sub_titulo;
if($data['oferta']->tipo == 'D' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Do dia';
}elseif($data['oferta']->tipo == 'CS' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
}elseif($data['oferta']->tipo == 'CF'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Confraria';
}elseif($data['oferta']->tipo == 'S'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Da Semana';
}elseif($data['oferta']->tipo == 'E'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Exclusiva';
}elseif($data['oferta']->tipo == 'M'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Mercado';
}elseif($canal && $view_oferta == 'oferta-colecao'){
$data['titulo_pagina'] = $canal ? $canal->nome . ' ' . $canal->subtitulo : '';
$data['subtitulo_pagina'] = '';
}else{
$data['titulo_pagina'] = $canal ? $canal->nome : '';
$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : '';
}
$data['data_oferta_semana'] = GeralService::dataOfertaSemana();
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['data_fim_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
$data['data_fim_oferta'] = date('Y-m-d', strtotime("+7 days",strtotime($data['oferta']->data)));
$data['canal'] = $canal;
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => false,
'random' => false
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['date_limite_exclusiva'] = date('Y-m-d', strtotime("-5 day"));
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
if($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'){
$data['ofertaRelampago'] = GeralService::buscarOfertaCanalRelampago();
}
if($data['oferta']->tipo == 'CF'){
$data['html_ficha_tecnica'] = view('confraria._ficha-tecnica', $data)->render();
}
$dataOfertaKit = GeralService::retornaData(date('m'), date('Y'));
$oferta_kit_confraria = GeralService::buscarOfertaConfraria($dataOfertaKit);
$data['kit_confraria'] = false;
if(isset($oferta_kit_confraria)){
if($oferta_kit_confraria->id == $data['oferta']->id){
$data['kit_confraria'] = true;
}
}
return view("site/{$view_oferta}", $data);
}
public function kitConfraria(Request $request)
{
$tempo_reserva = OfertaReserva::dataAtual();
$data = array();
$data = $request->input();
$data['data_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
$data['oferta_confraria'] = GeralService::buscarOfertaConfraria($data['data_oferta_confraria']);
if(!$data['oferta_confraria']){
return redirect('/');
}
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('id', $data['oferta_confraria']->id)
->first();
if(!$data['oferta']){
return redirect('/');
}
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
//Ajuste Data Canal
$canal = Canal::join('canal_has_oferta', 'canal.id', '=', 'canal_has_oferta.id_canal')->where('canal_has_oferta.id_oferta', $data['oferta']->id)->orderBy('canal.data_inicio', 'DESC')->first();
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$data['ofertasCart'] = CartService::buscarOfertasCart();
//$data['oferta']->grupo_produto == 'acessorios' ||
if(!empty($data['oferta']->grupo_produto) && $data['oferta']->grupo_vinho != 'vinhos' && ($data['oferta']->grupo_produto == 'vestuario')):
$view_oferta = 'oferta-'.$data['oferta']->grupo_produto;
elseif($data['oferta'] && $data['oferta']->tipo == 'CF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-confraria-colecao' : 'oferta-confraria');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'PR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-premium-colecao' : 'oferta-premium');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'):
$view_oferta = 'oferta-relampago-colecao';
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'CR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-cru-classe-colecao' : 'oferta-cru-classe');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'BF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-black-friday-colecao' : 'oferta-black-friday');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'OU'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-outlet-colecao' : 'oferta-outlet');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && count($data['oferta']->produtos) > 1):
$view_oferta = 'oferta-colecao';
elseif($data['oferta'] && $data['oferta']->tipo == 'CS'):
$view_oferta = 'oferta-casada';
else:
$view_oferta = 'oferta-do-dia';
endif;
//$data['titulo_pagina'] = $canal ? $canal->nome : $data['oferta']->titulo;
//$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : $data['oferta']->sub_titulo;
if($data['oferta']->tipo == 'D' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Do dia';
}elseif($data['oferta']->tipo == 'CS' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
}elseif($data['oferta']->tipo == 'CF'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Confraria';
}elseif($data['oferta']->tipo == 'S'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Da Semana';
}elseif($data['oferta']->tipo == 'E'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Exclusiva';
}elseif($data['oferta']->tipo == 'M'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Mercado';
}elseif($canal && $view_oferta == 'oferta-colecao'){
$data['titulo_pagina'] = $canal ? $canal->nome . ' ' . $canal->subtitulo : '';
$data['subtitulo_pagina'] = '';
}else{
$data['titulo_pagina'] = $canal ? $canal->nome : '';
$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : '';
}
$data['data_oferta_semana'] = GeralService::dataOfertaSemana();
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['data_fim_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
$data['data_fim_oferta'] = date('Y-m-d', strtotime("+7 days",strtotime($data['oferta']->data)));
$data['canal'] = $canal;
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => false,
'random' => false
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['date_limite_exclusiva'] = date('Y-m-d', strtotime("-5 day"));
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
if($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'){
$data['ofertaRelampago'] = GeralService::buscarOfertaCanalRelampago();
}
if($data['oferta']->tipo == 'CF'){
$data['html_ficha_tecnica'] = view('confraria._ficha-tecnica', $data)->render();
}
$dataOfertaKit = GeralService::retornaData(date('m'), date('Y'));
$oferta_kit_confraria = GeralService::buscarOfertaConfraria($dataOfertaKit);
$data['kit_confraria'] = false;
if(isset($oferta_kit_confraria)){
if($oferta_kit_confraria->id == $data['oferta']->id){
$data['kit_confraria'] = true;
}
}
return view("site/{$view_oferta}", $data);
}
public function ofertaConfrariaColecao($slug, Request $request)
{
$tempo_reserva = OfertaReserva::dataAtual();
$data = array();
$data = $request->input();
$dataOferta = explode("-", $slug);
$mesesAno = GeralService::mesesAno();
$mesSlug = strtolower($dataOferta[0]);
$mes = 0;
foreach ($mesesAno as $key => $mesExtenso) {
$mesExtenso = strtolower($mesExtenso);
if($mesSlug == $mesExtenso){
$mes = $key;
break;
}
}
$mes = str_pad($mes, 2, "0", STR_PAD_LEFT);
$data_fim_oferta = $dataOferta[1] . "-" . $mes . "-01";
$data['oferta_confraria'] = GeralService::buscarOfertaConfraria($data_fim_oferta);
if(!$data['oferta_confraria']){
return redirect('/');
}
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('id', $data['oferta_confraria']->id)
->first();
if(!$data['oferta']){
return redirect('/');
}
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
//Ajuste Data Canal
$canal = Canal::join('canal_has_oferta', 'canal.id', '=', 'canal_has_oferta.id_canal')->where('canal_has_oferta.id_oferta', $data['oferta']->id)->orderBy('canal.data_inicio', 'DESC')->first();
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$data['ofertasCart'] = CartService::buscarOfertasCart();
//$data['oferta']->grupo_produto == 'acessorios' ||
if(!empty($data['oferta']->grupo_produto) && $data['oferta']->grupo_vinho != 'vinhos' && ($data['oferta']->grupo_produto == 'vestuario')):
$view_oferta = 'oferta-'.$data['oferta']->grupo_produto;
elseif($data['oferta'] && $data['oferta']->tipo == 'CF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-confraria-colecao' : 'oferta-confraria');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'PR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-premium-colecao' : 'oferta-premium');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'):
$view_oferta = 'oferta-relampago-colecao';
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'CR'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-cru-classe-colecao' : 'oferta-cru-classe');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'BF'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-black-friday-colecao' : 'oferta-black-friday');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'OU'):
$view_oferta = (count($data['oferta']->produtos) > 1 ? 'oferta-outlet-colecao' : 'oferta-outlet');
elseif($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && count($data['oferta']->produtos) > 1):
$view_oferta = 'oferta-colecao';
elseif($data['oferta'] && $data['oferta']->tipo == 'CS'):
$view_oferta = 'oferta-casada';
else:
$view_oferta = 'oferta-do-dia';
endif;
//$data['titulo_pagina'] = $canal ? $canal->nome : $data['oferta']->titulo;
//$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : $data['oferta']->sub_titulo;
if($data['oferta']->tipo == 'D' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Do dia';
}elseif($data['oferta']->tipo == 'CS' && date('Y-m-d') == $data['oferta']->data){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Casada';
}elseif($data['oferta']->tipo == 'CF'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Confraria';
}elseif($data['oferta']->tipo == 'S'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Da Semana';
}elseif($data['oferta']->tipo == 'E'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Exclusiva';
}elseif($data['oferta']->tipo == 'M'){
$data['titulo_pagina'] = 'Oferta';
$data['subtitulo_pagina'] = 'Mercado';
}elseif($canal && $view_oferta == 'oferta-colecao'){
$data['titulo_pagina'] = $canal ? $canal->nome . ' ' . $canal->subtitulo : '';
$data['subtitulo_pagina'] = '';
}else{
$data['titulo_pagina'] = $canal ? $canal->nome : '';
$data['subtitulo_pagina'] = $canal ? $canal->subtitulo : '';
}
$data['data_oferta_semana'] = GeralService::dataOfertaSemana();
$data['data_oferta_confraria'] = GeralService::dataOfertaConfraria();
$data['data_fim_oferta_confraria'] = GeralService::retornaData(date('m'), date('Y'));
$data['data_fim_oferta'] = date('Y-m-d', strtotime("+7 days",strtotime($data['oferta']->data)));
$data['canal'] = $canal;
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => false,
'random' => false
]);
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['date_limite_exclusiva'] = date('Y-m-d', strtotime("-5 day"));
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
if($data['oferta'] && isset($data['oferta']->canalHasOferta->canal) && $data['oferta']->canalHasOferta->canal->tipo == 'R'){
$data['ofertaRelampago'] = GeralService::buscarOfertaCanalRelampago();
}
if($data['oferta']->tipo == 'CF'){
$data['html_ficha_tecnica'] = view('confraria._ficha-tecnica', $data)->render();
}
$dataOfertaKit = GeralService::retornaData(date('m'), date('Y'));
$oferta_kit_confraria = GeralService::buscarOfertaConfraria($dataOfertaKit);
$data['kit_confraria'] = false;
if(isset($oferta_kit_confraria)){
if($oferta_kit_confraria->id == $data['oferta']->id){
$data['kit_confraria'] = true;
}
}
return view("site/{$view_oferta}", $data);
}
public function detalheModal($slug, Request $request){
$tempo_reserva = OfertaReserva::dataAtual();
$data = [];
$data = $request->input();
$data['oferta'] = Oferta::select(
'oferta.*',
DB::raw("(SELECT 1 FROM oferta_reserva WHERE oferta.id = oferta_reserva.oferta_id AND oferta_reserva.data_expiracao >= '{$tempo_reserva}' LIMIT 1) AS 'oferta_reserva'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto ORDER BY ohp.ordem ASC, ohp.id ASC LIMIT 1) AS 'grupo_produto'"),
DB::raw("(SELECT tipo.grupo FROM oferta_has_produto ohp, produto p, tipo_de_produto tipo WHERE ohp.id_oferta = oferta.id AND p.id = ohp.id_produto AND tipo.id = p.id_tipo_produto AND tipo.grupo = 'vinhos' LIMIT 1) AS 'grupo_vinho'")
)->where('slug',$slug)
->first();
if(!$data['oferta']){
return response()->json(['success' => false]);
}
if(count($data['oferta']->produtos) > 0){
foreach ($data['oferta']->produtos as $key => $produto) {
$data['oferta']->produtos[$key]->listaImagens = $produto->produto->getListaImagens();
}
}
GeralService::checkoutTracking('oferta', ['id_tipo' => $data['oferta']->id]);
//Disponibilidad Produto
$disponibilidade = 0;
$variacoes = [];
if($data['oferta'] && $data['oferta']->produtos){
$disponibilidade = !empty($data['oferta']->produtos[0]->produto->disponibilidade) ? $data['oferta']->produtos[0]->produto->disponibilidade : 0;
$variacoes = isset($data['oferta']->produtos[0]->produto->tipo->variacoes) ? GeralService::buscarVariacoesProduto($data['oferta']->produtos[0]->produto) : [];
}
$data['disponibilidade'] = $disponibilidade;
$data['variacoes'] = $variacoes;
$html = view("site/_oferta-modal-vestuario", $data)->render();
$json = [
'success' => true,
'html' => $html
];
return response()->json($json);
}
public function preview($slug, Request $request){
$data = array();
$dataAtual = date('Y-m-d H:i');
$clienteLogado = GeralService::buscarClienteLogado();
$data = $request->input();
$data['listaCanais'] = GeralService::buscarListaCanais();
$data['ofertasRelacionadas'] = GeralService::buscarOfertasRelacionadas([
'limit' => 4,
'oferta_semana' => true,
'random' => false
]);
$data['listaNoticias'] = Noticia::orderBy('nome')->limit(2)->get();
$data['bannerFooter'] = BannerFooter::first();
$data['oferta'] = Oferta::where('slug', $slug)->where('tipo', 'D')->first();
$data['tema'] = Tema::where('id',$data['oferta']['tema_id'])->first();
$data['htmlPassouAqui'] = (GeralService::buscarPassouAqui())->getData()->html;
$data['cadastroSuccess'] = false;
$data['canaisLiberados'] = BasicInfo::first()->value('liberar_canais');
$data['htmlMailchimpCadastro'] = ($clienteLogado ? false : GeralService::buscarHtmlMailchimpCadastro());
$data['clienteLogado'] = $clienteLogado;
$data['dadosAdega'] = GeralService::buscarFreteAdegaAberta();
$data['oferta_semana'] = GeralService::buscarOfertaDaSemana();
return view('site/preview', $data);
}
public function changeProdutoCombo(Request $request){
$post = $request->input();
$data = [];
$data['clienteLogado'] = GeralService::buscarClienteLogado();
$data['id_oferta'] = isset($post['id_oferta']) ? $post['id_oferta'] : null;
$data['bloquear_master_class'] = true;
if(isset($data['clienteLogado']) && isset( $post['id_produto'])){
$check = PedidoVenda::query()
->join('pedido_venda_has_produto', 'pedido_venda_has_produto.id_pedido_venda', 'pedido_venda.id')
->where('pedido_venda.id_cliente', $data['clienteLogado']->id)
->whereIn('pedido_venda.id_status_pedido_venda', [2, 3, 7])
->where('pedido_venda_has_produto.id_produto', $post['id_produto'])
->groupBy('pedido_venda.id')
->get()
->toArray();
if(isset($check) && count($check) > 0){
$data['bloquear_master_class'] = false;
}
}
$data['vinho'] = Produto::with('caracteristicas','tipo','paisOrigem','fornecedor')->find($post['id_produto']);
$html = "";
$view_info = isset($post['premium']) ? 'informacoes-produto-premium' : 'informacoes-produto';
$html = view("site/{$view_info}", $data)->render();
return response()->json([
'status' => true,
'message' => 'Informações carregadas com sucesso!',
'html' => $html
]);
}
}