Saber quando uma mensagem foi respondida

Saber quando uma mensagem foi respondida

por Eduardo Reus Souza -
Número de respostas: 1

Boa tarde pessoal.

Estou com um problema aqui e gostaria de ver se alguém me sugere algum plugin ou luz de como proceder.

Tenho aqui na faculdade um B.I. que busca bastante informação direto da base de dados do Moodle e está funcionando que é uma beleza... Porém me foi pedido o seguinte: "Preciso ter um relatório onde eu consiga ver quando meu tutor respondeu uma mensagem".

Tipo, a ideia é fazer algo como um "tempo médio" para que um tutor (usuário do moodle) leva para responder as mensagens diretas que enviam para eles.

Durante meus testes eu montei a seguinte query que retorna todas as mensagens enviadas e recebidas onde passarei de parâmetro o ID do usuário do tutor...

SELECT 

    m.id, 

    m.useridfrom codigo_user_origem, 

    u1.firstname nome_user_origem, 

    u1.lastname sobrenome_user_origem, 

    u1.email email_user_origem, 

    mdm.userid as codigo_user_destino, 

    u2.firstname nome_user_destino, 

    u2.lastname sobrenome_user_destino, 

    u2.email email_user_destino, 

    m.fullmessage mensagem, 

    from_unixtime(m.timecreated) data_mensagem

FROM 

mdl_messages m

INNER JOIN mdl_message_conversations md

        ON md.id = m.conversationid

INNER JOIN mdl_message_conversation_members mdm

        ON mdm.conversationid = md.id 

INNER JOIN mdl_user u1 

ON m.useridfrom = u1.id 

INNER JOIN mdl_user u2 

ON mdm.userid = u2.id         

WHERE 

m.useridfrom <> mdm.userid

ORDER BY m.timecreated 


Só que não é bem isso que eu preciso. Para eu saber a resposta, terei que pegar uma mensagem que um tutor enviou para um determinado ID após este ID lhe ter enviado uma mensagem. E a complexidade da query começou a crescer... 

Alguém sabe de algum plugin que me dê essa informação ou alguma ideia de como ajustar a query? Conheci o base de dados do Moodle fazem 10 dias e posso ter deixado passar alguma relação.


Abraço!

Contagem das avaliações:  -
Em resposta à Eduardo Reus Souza

Re: Saber quando uma mensagem foi respondida

por Michael Meneses -

Eduardo,

Qual a versão do Moodle que você está usando?

Recentemente eu trabalhei em uma demanda que era verificar quais postagens no Fórum não haviam sido respondidas pelos tutores. Então criei um SQL para relacionar a árvore de postagens e identificar qual postagem não era "parent" de outra e assim defini-lá como "não respondida".

No seu caso você precisa fazer o relacionamento acima e calcular a diferença entre a mensagem A e a mensagem B.

Dependendo do seu cenário, pode haver a necessidade de considerar o "context" que houve a troca de mensagens.

Sucesso!!!

Contagem das avaliações:  -