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.

imagen

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.

imagen

Cuando un usuario envía un mensaje:

  1. El frontend muestra el mensaje en la ventana de chat.
  2. Se envía una solicitud HTTP POST a guardar_mensaje_help.php.
  3. El mensaje se almacena en la base de datos con el ID del usuario.
  4. 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:

  1. Solicitud Nueva: Solicitud inicial de ayuda almacenada en la tabla help.
  2. En Proceso: Cuando un administrador responde, el mensaje original se mueve a la tabla notificacion y se elimina de la tabla help.
  3. Respuestas Adicionales: Los administradores pueden añadir a la conversación sin cambiar su estado.
  4. Completado: El administrador marca la conversación como completada, cambiando el indicador procesando a 0.
  5. 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

imagen

  1. Solicitud Nueva: El usuario envía una solicitud de ayuda a través de la interfaz de chat.
  2. Almacenamiento en help: La solicitud se almacena en la tabla help con el ID del usuario.
  3. Respuesta Administrativa: Un administrador responde a la solicitud, moviendo el mensaje a la tabla notificacion.
  4. Actualización de Estado: El estado de la solicitud se actualiza a "en proceso" cambiando el indicador procesando a 1.
  5. Respuestas Adicionales: Los administradores pueden añadir a la conversación sin cambiar su estado.
  6. Completado: El administrador marca la conversación como completada, cambiando el indicador procesando a 0.
  7. Eliminación: Las conversaciones completadas pueden ser eliminadas permanentemente.