Last active
February 16, 2017 14:33
-
-
Save LukasTsunami/74238386cbd5d8fccaa0843d4a26ad8e to your computer and use it in GitHub Desktop.
Lista de Desejo - Leilão
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT DISTINCT | |
/*Informacoes do Objeto*/ | |
o.id, | |
o.nome, | |
o.descricao, | |
o.observacao, | |
/*Pre Lances por Objeto, num leilão específico*/ | |
C.lista_leiloes_pre_lances, | |
/*Valores do Objeto e Informações de Venda*/ | |
o.vendido, | |
o.recebeu_lance, | |
o.valor_pre_lance, | |
o.valor_custo, | |
o.valor_venda, | |
o.valor_vitrine, | |
o.total, | |
/*Imagens*/ | |
IF(i.excluido IS NULL,0,i.excluido) as imagem_excluida, | |
o.excluido as objeto_excluido, | |
IF(o.imagem IS NULL OR o.imagem = '','noimage.gif',o.imagem) as imagem_principal, | |
/*IF(i.url IS NULL,'noimage.gif',i.url) AS imagem_alternativa,*/ | |
IF(i.lista_imagens_objeto IS NULL,'noimage.gif',i.lista_imagens_objeto) AS lista_imagens_objeto, | |
/*Informações do Fornecedor*/ | |
f.nome as fornecedor, | |
f.email as fornecedor_email, | |
f.cpf_cnpj as fornecedor_cpf_cnpj, | |
f.cep as fornecedor_cep, | |
f.rua as fornecedor_rua, | |
f.cidade as fornecedor_cidade, | |
f.estado as fornecedor_estado, | |
f.telefone as fornecedor_telefone, | |
/*Outras Informações do Objeto*/ | |
o.quantidade, | |
o.dentrada, | |
o.tipoaquisicao_id, | |
o.destaque, | |
o.disponivel, | |
o.visivel, | |
/*Informações sobre os Objetos de Desejo no Leilão*/ | |
lo.posicao, | |
/*Informações sobre o Usuário*/ | |
u.id as usuario_id, | |
u.senha as senha, | |
/*Informações sobre a Pessoa*/ | |
p.nome as pessoa_nome, | |
p.email as pessoa_email | |
FROM obj_desejo o | |
INNER JOIN fornecedor as f | |
ON o.fornecedor_id = f.id | |
INNER JOIN leilao_obj_desejo as lo | |
ON lo.obj_desejo_id = o.id | |
/* | |
Pega as Imagens Opcionais referentes ao Objeto; | |
Caso elas estiverem vazias, retorna a url de uma imagem padrão; | |
Retorna uma Lista de Imagens separadas por vírgula | |
*/ | |
LEFT JOIN (select GROUP_CONCAT(IF(ii.url IS NULL OR ii.url = '','noimage.gif',ii.url)) AS lista_imagens_objeto,ii.obj_desejo_id,ii.excluido,ii.url FROM imagens ii INNER JOIN obj_desejo ooo ON ii.obj_desejo_id = ooo.id WHERE ooo.excluido=0 AND ii.excluido=0 GROUP BY ii.obj_desejo_id) i | |
ON i.obj_desejo_id = o.id | |
INNER JOIN leilao l | |
ON l.id = lo.leilao_id | |
/*Pega um vetor de JSON com os Leilões e Pré Lances*/ | |
LEFT JOIN | |
(SELECT DISTINCT oo.id as oid,p.excluido,p.usuario_id, | |
REPLACE( | |
REPLACE( | |
REPLACE( | |
REPLACE( | |
JSON_MERGE( | |
JSON_OBJECT("_%_%Leiloes_%_%", | |
REPLACE( | |
JSON_ARRAY( | |
COALESCE( | |
REPLACE( | |
GROUP_CONCAT( | |
DISTINCT JSON_OBJECT( | |
"leilao_id",l.id, | |
"leilao_nome",l.nome, | |
"shora_inicio",TIME_FORMAT(l.hora_inicio, '%H:%i'), | |
'shora_fim',TIME_FORMAT(l.hora_fim, '%H:%i'), | |
'data_inicio',l.data_inicio, | |
'data_fim',l.data_fim, | |
'ativo',l.ativo, | |
'finalizado',l.finalizado, | |
'retornado',l.retornado, | |
'enviado',l.enviado, | |
'leilao_excluido',l.excluido, | |
'hora_agora',TIME_TO_SEC(TIME_FORMAT(TIME(CURRENT_TIMESTAMP), '%H:%i')), | |
'data_atual',DATE(CURRENT_TIMESTAMP), | |
'hora_inicio',TIME_TO_SEC(TIME_FORMAT(hora_inicio, '%H:%i')), | |
'hora_fim',TIME_TO_SEC(TIME_FORMAT(hora_fim, '%H:%i')) | |
) | |
) | |
,"""","***") | |
) | |
) /*ARRAY*/ | |
,"""","") /*replace*/ | |
)/*OBJECT*/ | |
, | |
JSON_OBJECT("_%_%Pre_Lances_%_%", | |
REPLACE( | |
JSON_ARRAY( | |
COALESCE( | |
REPLACE( | |
GROUP_CONCAT( | |
JSON_OBJECT( | |
'pre_lance_id', p.id, | |
'valor', p.valor, | |
'usuario_id', p.usuario_id, | |
'obj_desejo_id', p.obj_desejo_id, | |
'leilao_id', p.leilao_id, | |
'excluido:', p.excluido | |
) | |
ORDER BY p.leilao_id,p.valor ASC | |
) | |
,"""","***") | |
) | |
) | |
,"""","") /*replace*/ | |
) | |
) | |
,"""","") | |
,"***",'''') | |
,"_%_%","""") | |
,'''',"""") as lista_leiloes_pre_lances | |
FROM pre_lance p | |
INNER JOIN obj_desejo oo ON p.obj_desejo_id = oo.id | |
INNER JOIN leilao l ON l.id = p.leilao_id | |
INNER JOIN usuario u ON u.id=p.usuario_id | |
WHERE oo.excluido=0 AND p.excluido=0 AND l.excluido=0 AND u.excluido=0 | |
GROUP BY p.obj_desejo_id | |
) C | |
ON C.oid = o.id | |
INNER JOIN usuario u | |
ON u.id = C.usuario_id | |
INNER JOIN pessoa p | |
ON p.id = u.pessoa_id | |
INNER JOIN lista_desejo ld | |
ON u.id=ld.usuario_id | |
AND l.id = ld.leilao_id | |
WHERE o.excluido=0 | |
AND f.excluido=0 | |
AND lo.excluido=0 | |
AND l.excluido=0 | |
AND C.excluido=0 | |
AND u.excluido=0 | |
AND p.excluido=0 | |
AND ld.excluido=0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment