Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Damon

Montando logica atendimento de chat

Recommended Posts

Tenho duas tabelas uma chamada Atendimento e a outra Mensagem

 

Na tabela atendimento ela recebe o ID do cliente e ID do atendente e gera um atendimento.

 

As mensagem do cliente e do atendente selecionados recebe o ID atendimento.

 

Para aparecer as mensagens eu estou fazendo um select no ultimo ID atendimento na tabela mensagem.

 

 

Agora eu preciso da ajuda de vocês eu não quero fazer mais dessa forma usando este select, eu queria usar uma trigger ou uma logica que comparece e entrega-se as mensagens dos cliente e atendente que estão dentro do atendimento.

 

Alguém pode me ajudar a montar dando ideias?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confesso não ter entendido ?

 

O que seria "entregar" a mensagem ?

 

A sql basica seria

 

select *
from atendimento a,mensagem m
where m.id-atendimento = a.id

 

?

 

A trigger seria disparada em que evento ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta

 


Tabela ATENDIMENTO

ID_Atendimento	DataHoraInicio	DataHoraTermino	     ID_Cliente	ID_Atendente
1	2013-12-11 15:07:53.540	2013-12-11 15:15:53.540	 1	4
2	2013-12-11 15:15:53.540	2013-12-11 15:26:53.562	 2	1
3	2013-12-11 15:20:53.540	2013-12-11 15:25:53.285	 3	2



Tabela MENSAGEM
ID_Mesagem 	Mensagem 	QuemEnviou	Data	    NomeEnviou ID_Atendimento
1	      Olá tudo bem...	  Cliente	2013-12-11 	Thais 	       1
2	      Tudo jóia ...	  Atendente	2013-12-11 	Joao	       1
3	      Preciso de Ajuda... Cliente	2013-12-11 	Thais	       1
4	      Olá tudo bem...	  Cliente	2013-12-11 	Amanda	       2
5	      Tudo Joia...	  Atendente	2013-12-11 	Pedro	       2

Entregar mensagem seria mostra as mensagens usando o select :

 

Isto eu estou fazendo buscando o ultimo ID_Atendimento.

 

Mas acontece o seguinte se eu tiver dois atendimento ao mesmo tempo isso não sera possível usando esta logica.

 

Eu quero tratar isso por que caso eu tiver dois atendimento ao mesmo tempo cada mensagem deve ser entregue aos seus respetivos endereçados no caso os ids do Atendimento que se refere ao cliente e ao Atendente.

 

Tava pensando em usar uma trigger, para armazenar os ids das pessoas que entra e na hora que a mensagem fosse inserida na tabela MENSAGEM também seria inserida na trigger e faria um select na trigger em vez de ser na mensagem.

 

Mais queria saber se tem outro modo mais fácil ou mais seguro para tratar esta situação!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Damon.

 

Acredito ser possivel resolver seu problema alterando o Tipo de Dados do campo Data na tabela MENSAGEM. Grave DateTime ao invés de apenas Data. Filtrando o ID_Atendimento, organizando por data (desc) e retornando top 1, vc pegará somente a última mensagem de um determinado atendimento.

 

Exemplo

select top 1 * from Mensagem where id_atendimento = 1 order by data desc

Fico à disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom lembrar que o nome DATA deve ser evitado pois é palavra reservada , melhor usar DATA_DE_ENVIO , DATA_DE_COMPRA etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.