flujo de solicitud de ayuda - ManuelJDonoso/Proyecto_daw GitHub Wiki
Flujo de Solicitudes de Ayuda
Propósito y Alcance
Este documento detalla el sistema de solicitudes de ayuda en Crónicas de Mérida, que permite a los usuarios enviar solicitudes de asistencia y a los moderadores/administradores responder a ellas. El sistema incluye una interfaz tipo chat para las presentaciones de los usuarios y una interfaz administrativa para procesar estas solicitudes a través de múltiples etapas. Para información sobre la funcionalidad de respuesta específica del administrador, consulta Sistema de Respuesta Administrativa.
Visión General del Sistema
El sistema de solicitudes de ayuda proporciona un canal de comunicación entre los usuarios y los administradores. Consta de un botón de chat flotante disponible en toda la aplicación, un sistema de almacenamiento en la base de datos y una interfaz administrativa para procesar las solicitudes.
Interfaz de Solicitud de Ayuda del Usuario
Los usuarios interactúan con el sistema de ayuda a través de una burbuja de chat flotante presente en toda la aplicación. Esta interfaz proporciona una forma sencilla de enviar preguntas o problemas a los administradores.
Cuando un usuario envía un mensaje:
- El frontend muestra el mensaje en la ventana de chat.
- Se envía una solicitud HTTP POST a
guardar_mensaje_help.php
. - El mensaje se almacena en la base de datos con el ID del usuario.
- Se envía una respuesta automática confirmando la recepción del mensaje.
Interfaz de Respuesta Administrativa
Los administradores y moderadores procesan las solicitudes de ayuda a través de la interfaz de notificaciones, que organiza los mensajes en tres secciones: nuevos mensajes, mensajes en proceso y mensajes completados.
La interfaz se divide en dos columnas principales:
- Columna izquierda: Lista los mensajes en diferentes etapas de procesamiento.
- Columna derecha: Muestra el contenido del mensaje seleccionado y proporciona opciones de respuesta.
Flujo de Procesamiento de Mensajes
Cuando los administradores o moderadores responden a las solicitudes de ayuda, los mensajes pasan por un flujo de trabajo definido con transiciones de estado distintas.
Las transiciones de los mensajes son:
- Solicitud Nueva: Solicitud inicial de ayuda almacenada en la tabla
help
. - En Proceso: Cuando un administrador responde, el mensaje original se mueve a la tabla
notificacion
y se elimina de la tablahelp
. - Respuestas Adicionales: Los administradores pueden añadir a la conversación sin cambiar su estado.
- Completado: El administrador marca la conversación como completada, cambiando el indicador
procesando
a 0. - Eliminación: Las conversaciones completadas pueden ser eliminadas permanentemente.
Estructura de la Base de Datos
El sistema de solicitudes de ayuda utiliza varias tablas y vistas de base de datos para gestionar el flujo de mensajes.
Tabla/Vista | Propósito | Campos Clave |
---|---|---|
help |
Almacena las solicitudes iniciales de ayuda de los usuarios | id , usuario_id , mensaje , fecha |
notificacion |
Almacena las respuestas de los administradores y conversaciones en curso | id , dirigido_a , de , mensaje , mensaje_original , procesando |
vista_mensaje_help |
Vista que une la información del usuario con las solicitudes de ayuda | id , usuario_id , nombre_usuario , mensaje , fecha |
vista_notificacion_procesando |
Vista para notificaciones en proceso | id , dirigido_a_id , dirigido_a_nombre , de_id , de_nombre , mensaje_original , mensaje , fecha , procesando |
vista_notificacion_procesando_finalizado |
Vista para notificaciones completadas | Similar a la anterior pero con procesando=0 |
Flujo de Mensajes
- Solicitud Nueva: El usuario envía una solicitud de ayuda a través de la interfaz de chat.
- Almacenamiento en
help
: La solicitud se almacena en la tablahelp
con el ID del usuario. - Respuesta Administrativa: Un administrador responde a la solicitud, moviendo el mensaje a la tabla
notificacion
. - Actualización de Estado: El estado de la solicitud se actualiza a "en proceso" cambiando el indicador
procesando
a 1. - Respuestas Adicionales: Los administradores pueden añadir a la conversación sin cambiar su estado.
- Completado: El administrador marca la conversación como completada, cambiando el indicador
procesando
a 0. - Eliminación: Las conversaciones completadas pueden ser eliminadas permanentemente.