Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1.3Disposición de la estructura de la tesis.
Capitulo 2Análisis de requisitos del sistema.
2.1Análisis de viabilidad del sistema.
2.1.1Análisis de viabilidad técnica.
2.1.2Análisis de viabilidad económica.
2.1.3Análisis de viabilidad jurídica
2.1.4Análisis de viabilidad operativa
2.2Análisis de requisitos funcionales del sistema.
2.3Análisis sistemático de requisitos.
2.4Análisis de casos de uso del sistema.
2.5Análisis de procesos del sistema.
2.5.2Modificar el flujo de datos
2.5.3Eliminar proceso de datos
Capítulo 3Diseño general del sistema
3.1Diseño del módulo de funciones del sistema.
3.2.1Diseño de estructura conceptual de base de datos.
3.2.2Diseño de tablas de base de datos.
Capítulo 4Diseño e implementación de módulos clave.
4.3Módulo de modificación de contraseña
4.4Módulo de mapas de navegación
4.5Módulo de gestión de atracciones populares.
4.6Módulo de gestión de compra de entradas para atracciones.
4.7Módulo de gestión de recomendaciones de hoteles.
4.8Módulo de gestión de reservas de hotel
Capítulo 5Experimentos del sistema y análisis de resultados.
5.2Casos de prueba del sistema
Sistema de navegación de viaje SpringBoot
Resumen
Con el rápido desarrollo de Internet, cada vez más personas optan por obtener información de viajes y planificar itinerarios a través de Internet. Como país con un rico paisaje natural y una larga historia y cultura, China atrae la atención de un gran número de turistas cada año. El objetivo de este sitio web es proporcionar a los turistas información de viaje precisa y completa y brindar servicios convenientes de navegación y planificación de rutas. Al integrar varios recursos turísticos, incluidas presentaciones de atracciones, tipos de comida, información de alojamiento, etc., los usuarios pueden obtener la información relevante que necesitan en el sitio web.
Este proyecto utiliza el marco Spring Boot como herramienta de desarrollo back-end. Es simple y eficiente y puede crear rápidamente aplicaciones web confiables. El uso de Java como lenguaje de programación principal garantiza la estabilidad y escalabilidad del sistema. Como base de datos back-end, MySQL se utiliza para almacenar y administrar datos importantes, como información del usuario, datos de viajes y comentarios de los usuarios. Al utilizar MySQL, se puede lograr un almacenamiento y recuperación de datos eficientes, brindando a los usuarios una buena experiencia de usuario.
Este estudio tiene como objetivo los antecedentes y la importancia del diseño y desarrollo de un sistema de navegación turística. Al desarrollar este sitio web, nuestro objetivo es brindar a los turistas servicios convenientes de información sobre viajes y mejorar su experiencia de viaje. Al mismo tiempo, este proyecto también ayudará a promover el desarrollo del turismo y proporcionará referencia para el desarrollo de sistemas de navegación turística en otras regiones.
Palabras clave: Sistema de navegación de viajes; lenguaje JAVA; base de datos MYSQL;
Sistema de navegación turística SpringBoot
Abstracto
Con el rápido desarrollo de Internet, cada vez más personas optan por obtener información turística y planificar sus viajes a través de Internet. Como país con un rico paisaje natural y una larga historia y cultura, China atrae la atención de un gran número de turistas cada año. El objetivo de este sitio web es proporcionar a los visitantes información turística precisa y completa, así como servicios de navegación y planificación de rutas convenientes. Al integrar varios recursos turísticos, incluida la presentación de atracciones, el tipo de comida, la información de alojamiento, etc., los usuarios pueden obtener la información relevante que necesitan en el sitio web.
Este proyecto utiliza el framework Spring Boot como herramienta de desarrollo back-end, que es simple y eficiente, y puede crear rápidamente aplicaciones web confiables. El uso de Java como lenguaje de programación principal garantiza la estabilidad y escalabilidad del sistema. MySQL se utiliza como base de datos back-end para almacenar y administrar datos importantes como información de usuario, datos de viaje y comentarios de los usuarios. Al usar MySQL, puede almacenar y recuperar datos de manera eficiente y brindarles a los usuarios una buena experiencia de usuario.
El objetivo de este estudio es diseñar y desarrollar un sistema de navegación turística para el contexto y la importancia de la región. Con el desarrollo de este sitio web, pretendemos proporcionar a los visitantes un servicio de información turística conveniente y mejorar su experiencia de viaje. Al mismo tiempo, este proyecto también ayudará a promover el desarrollo del turismo y proporcionará una referencia para el desarrollo de sistemas de navegación turística en otras regiones.
Palabras clave: Sistema de navegación de viajes, lenguaje JAVA, framework SpringBoot, base de datos MYSQL
En las últimas décadas, a medida que la industria del turismo mundial ha experimentado un auge, también ha aumentado la demanda de experiencias de viaje por parte de la gente. Los antecedentes de la investigación sobre los sistemas de navegación para viajes se remontan a la urgente necesidad de las personas de contar con métodos de viaje más convenientes y eficientes. Los métodos de viaje tradicionales a menudo se basan en mapas, manuales guía u orientación oral, pero estos métodos tienen muchas limitaciones, como que la información no se actualiza de manera oportuna, se pierde fácilmente y las barreras de comunicación del idioma.
Con el desarrollo continuo de la tecnología, la gente ha comenzado a explorar cómo utilizar la tecnología informática e Internet para mejorar la experiencia de navegación en viajes. Esta demanda impulsa la investigación y el desarrollo de sistemas de navegación turística. Los primeros sistemas de navegación para viajes se basaban principalmente en la tecnología GPS. Podían determinar la ubicación del usuario mediante posicionamiento por satélite y proporcionar planificación de rutas y orientación de navegación. Este tipo de sistema simplifica enormemente el proceso de viaje de las personas, permitiéndoles encontrar sus destinos más fácilmente, ahorrando tiempo y energía. Sin embargo, los sistemas de navegación GPS tradicionales todavía presentan algunos problemas, como la incapacidad de proporcionar información del tráfico en tiempo real y la falta de recomendaciones personalizadas. Para resolver estos problemas, los investigadores comenzaron a introducir tecnología de inteligencia artificial en los sistemas de navegación para viajes. Al analizar big data y utilizar algoritmos de aprendizaje automático, la nueva generación de sistemas de navegación para viajes puede predecir con mayor precisión las condiciones del tráfico, recomendar rutas de viaje personalizadas y proporcionar información de servicios circundantes en tiempo real.
Además, con la popularización de Internet móvil, los teléfonos inteligentes se han convertido en una herramienta importante para viajar, lo que también brinda nuevas oportunidades para el desarrollo de sistemas de navegación para viajes. Las aplicaciones modernas de navegación para viajes no solo pueden proporcionar servicios de navegación en teléfonos móviles, sino que también combinan la tecnología AR (realidad aumentada) para presentar a los usuarios una experiencia de navegación más intuitiva y vívida. Por ejemplo, los usuarios pueden ver las escenas de las calles circundantes a través de la cámara del teléfono móvil y mostrar la mejor ruta en la pantalla, lo que mejora enormemente la comodidad y practicidad de la navegación.
Además de los viajeros individuales, los sistemas de navegación para viajes también desempeñan un papel importante en el desarrollo de la industria turística. Las empresas turísticas pueden utilizar estos sistemas para mejorar la calidad del servicio y atraer más clientes. Por ejemplo, algunas atracciones turísticas pueden proporcionar servicios de comentarios de voz a través de sistemas de navegación para brindar a los turistas una experiencia de visita más rica. Las agencias de viajes pueden utilizar el sistema para analizar las preferencias de los usuarios, recomendar rutas de viaje más adecuadas y mejorar la satisfacción y lealtad del cliente.
doméstico, La investigación y aplicación de los sistemas de navegación turística han recibido cierta atención y desarrollo. Muchos estudios se dedican a integrar y mostrar información relacionada con el turismo, incluidas presentaciones de atracciones, guías de transporte, reservas de hoteles, etc. Estos estudios proporcionan información turística detallada mediante el desarrollo de sitios web o aplicaciones que ayuden a los usuarios a comprender las características y los diversos servicios del destino. Para proporcionar servicios de navegación convenientes, algunas investigaciones se centran en el desarrollo de algoritmos de planificación de rutas y navegación de viajes. Estos algoritmos se basan en datos de geolocalización e información de tráfico para proporcionar a los usuarios las mejores rutas de viaje y métodos de transporte. Para mejorar la experiencia del usuario, algunas investigaciones se centran en el diseño de la interfaz de usuario y el desarrollo de sistemas de recomendación personalizados. Al analizar los intereses y preferencias de los usuarios, estos sistemas pueden proporcionarles recomendaciones de viajes personalizadas y servicios personalizados. Con el desarrollo de la tecnología de Internet, la seguridad de los datos y la protección de la privacidad se han convertido en cuestiones importantes en la investigación de los sistemas de navegación para viajes. Algunas investigaciones se dedican al desarrollo de mecanismos seguros de transmisión y almacenamiento de datos para proteger la seguridad de la información personal de los usuarios. Para mejorar la calidad y el nivel de servicio de los sistemas de navegación para viajes, algunos estudios se centran en la recopilación y análisis de opiniones y comentarios de los usuarios. Al analizar las reseñas y opiniones de los usuarios, se pueden descubrir problemas a tiempo y se pueden realizar mejoras para brindar una mejor experiencia y servicios al usuario.
El desarrollo de sistemas de navegación turística en países extranjeros es relativamente maduro. La investigación extranjera se centra en el desarrollo de sistemas inteligentes de navegación y recomendación, que utilizan tecnologías de aprendizaje automático e inteligencia artificial para proporcionar recomendaciones de viaje personalizadas y servicios de navegación basados en los intereses y preferencias de los usuarios. Debido a la popularidad de los dispositivos móviles, la investigación extranjera se centra en el desarrollo de aplicaciones multiplataforma y la utilización de tecnología móvil para proporcionar servicios de navegación para viajes. Estos estudios están dedicados a proporcionar aplicaciones móviles convenientes que admitan funciones como navegación en tiempo real, recomendaciones de atracciones y mapas interactivos. Los estudios extranjeros han incluido las redes sociales y el contenido generado por los usuarios en el ámbito de investigación de los sistemas de navegación para viajes. Al integrar datos de redes sociales y reseñas de usuarios, los investigadores pueden brindarles información de viajes más completa y comentarios sobre la experiencia real del usuario. Con el desarrollo de las tecnologías de realidad virtual (VR) y realidad aumentada (AR), algunas investigaciones extranjeras se dedican a aplicarlas al campo de la navegación turística. Al utilizar la tecnología VR y AR, los usuarios pueden experimentar atracciones y servicios de navegación de una manera más intuitiva e inmersiva. La investigación extranjera presta gran atención al turismo sostenible y la protección del medio ambiente. Algunos estudios se dedican a proporcionar recomendaciones de viajes sostenibles y planificación de rutas de viaje respetuosas con el medio ambiente para promover el desarrollo sostenible y proteger el medio ambiente natural.
En general, la investigación sobre sistemas de navegación turística en el extranjero cubre sistemas inteligentes de navegación y recomendación, aplicaciones multiplataforma y tecnología móvil, redes sociales y contenido generado por el usuario, realidad virtual y tecnología de realidad aumentada, y turismo sostenible y protección del medio ambiente. Los resultados de esta investigación brindan a los turistas experiencias de navegación y viajes más convenientes, personalizadas e inmersivas. Este estudio se basará en resultados de investigaciones extranjeras y los combinará con características regionales para desarrollar un sistema de navegación turística integral, preciso y fácil de usar para satisfacer las necesidades de información y servicios turísticos de los turistas.
El artículo se organizará jerárquicamente, además del resumen, los agradecimientos y las referencias bibliográficas, el texto principal también analizará los requisitos del sistema, describirá el diseño general y las funciones implementadas y, finalmente, enumerará algunos registros de depuración. es como sigue:
El Capítulo 1 explica los antecedentes del proyecto, el estado actual del desarrollo de este sistema y la disposición de los capítulos del documento.
El Capítulo 2 analiza los requisitos específicos del sistema.
El Capítulo 3 explica el diseño del sistema, que cubre el diseño funcional y el diseño de la base de datos.
El Capítulo 4 aclara la implementación de cada módulo funcional del sistema de navegación turística y lo muestra en forma de imágenes y textos.
El Capítulo 5 enumera algunos registros de prueba y depuración del sistema.
El capítulo 6 presenta las conclusiones del sistema de navegación turística.
El análisis de requisitos es lo primero que se debe hacer antes de desarrollar un sistema. Si no vale la pena desarrollar un sistema o viola las leyes y regulaciones pertinentes, el sistema desarrollado no tendrá valor. Por lo tanto, antes del desarrollo, primero debemos analizar los requisitos del sistema. El desarrollo es factible y, de ser así, analizar específicamente las necesidades del usuario, analizar las funciones del sistema y analizar el rendimiento del sistema.
La viabilidad de la tecnología es principalmente considerar si el lenguaje de desarrollo y la base de datos utilizados al desarrollar el sistema de navegación turística son factibles. Este sistema elige JAVA como lenguaje y utiliza el marco SpringBoot y la base de datos MYSQL. Estas tecnologías son actualmente muy maduras y JAVA. El lenguaje no solo admite la orientación a procesos, sino que también admite la orientación a objetos, por lo que será más flexible cuando se use y no habrá problemas en la selección de tecnología.
Las principales consideraciones para la viabilidad económica son el costo y el beneficio. Desde la perspectiva del costo, JAVA, SpringBoot, MYSQL, etc. utilizados en el proceso de desarrollo se pueden descargar mediante búsquedas en línea sin ningún costo de desarrollo. la perspectiva de los beneficios Mire, la finalización del sistema puede brindar soporte a los usuarios, reducir el costo de la empresa y mejorar la eficiencia de la gestión, por lo que no hay problemas económicos.
El sistema de navegación de viajes proporciona a los usuarios comunes consultas completas de información de viajes, compra de boletos de atracciones y funciones de reserva de hoteles. Al mismo tiempo, los administradores pueden administrar fácilmente diversos contenidos y funciones del sitio web. Estas configuraciones funcionales brindarán a los usuarios servicios de viaje convenientes y crearán una plataforma en línea integral y eficiente para la industria de viajes.
La principal consideración legal es si el desarrollo del sistema es ilegal. El sistema de navegación turística desarrollado cumple estrictamente con las "Regulaciones de protección de software informático de la República Popular China", la "Ley de derechos de autor de la República Popular China" y otras leyes. y regulaciones. El desarrollo del sistema puede traer beneficios a la empresa. No existe ilegalidad y por lo tanto es legalmente posible.
En términos de operación, la consideración principal es si es simple y factible de usar para los usuarios y para los administradores, y si los usuarios sin ninguna base informática pueden usarlo. El sistema de navegación turística desarrollado está diseñado con el concepto de simplicidad y facilidad. de aprendizaje en mente Habrá botones de navegación fijos al final, y la operación se puede completar siempre que se lean los caracteres, y el administrador solo necesita agregar, eliminar, modificar y verificar, por lo que también es factible en. operación.
En términos generales, el sistema de navegación turística desarrollado no tiene problemas en términos de viabilidad y es digno de desarrollo, y otras terminaciones son de gran importancia para el desarrollo de la industria.
Las principales funciones para usuarios normales son las siguientes:
Lado del administrador:
El análisis de requisitos de rendimiento del sistema de navegación para viajes analiza principalmente la seguridad del sistema (si filtrará información personal del usuario), la confiabilidad (si el usuario puede mostrar información de acuerdo con la operación real) y el rendimiento (si la operación es fluido), cómo es la escalabilidad (¿se pueden seguir ampliando las funciones), etc.? Los detalles se pueden expresar en la siguiente tabla 2.1:
Tabla 2.1 Tabla de requisitos no funcionales para el sistema de navegación de viajes
seguridad | Se refiere principalmente asistema de navegación de viajeLa instalación de la base de datos, el uso de la base de datos y la configuración de la contraseña deben cumplir con las regulaciones. |
fiabilidad | Fiabilidad significasistema de navegación de viajePuede funcionar según las instrucciones del usuario. Después de las pruebas, la confiabilidad es superior al 90%. |
actuación | El rendimiento se ve afectadosistema de navegación de viajeEs una condición necesaria para ocupar el mercado, por lo que el desempeño debe ser el mejor. |
Escalabilidad | Por ejemplo, la base de datos reserva múltiples atributos, como el uso de interfaces, para garantizar los requisitos no funcionales del sistema. |
Facilidad de uso | Los usuarios solo necesitan seguirsistema de navegación de viajeSimplemente realice operaciones en el contenido de visualización de la página. |
Mantenibilidad | sistema de navegación de viajeLa mantenibilidad del desarrollo es muy importante. Después de las pruebas, no hay ningún problema con la mantenibilidad. |
El sistema de navegación de viajes proporciona a los usuarios comunes consultas completas de información de viajes, compra de boletos para atracciones, reservas de hotel y otras funciones. El diagrama de casos de uso del usuario se muestra a continuación:
Figura 2.1 Diagrama de casos de uso de roles de usuario
Figura 2.2 Diagrama de casos de uso del rol de administrador
Todos los usuarios (administradores y usuarios) del sistema pueden agregar datos. La Figura 2.3 muestra el proceso de agregar datos.
Figura 2.3 Agregar diagrama de flujo de datos
Nadie es perfecto, todo el mundo comete errores a veces. Si la información es incorrecta al ingresar la información del sistema, puede editar los datos en el sistema. La Figura 2.4 muestra el proceso de modificación de datos.
Figura 2.4 Modificar el diagrama de flujo de datos
Algunos datos caducados a menudo aparecen en el sistema, como el cierre de sesión del usuario, etc. Luego, estos datos se pueden eliminar directamente. La Figura 2.5 es el diagrama de flujo al eliminar datos.
Figura 2.5 Diagrama de flujo de datos de eliminación
Después de analizar la viabilidad y las funciones del sistema, el siguiente paso es diseñar el sistema específicamente. Mediante el análisis de viabilidad, concluimos que vale la pena desarrollar el sistema. Mediante el análisis funcional, podemos determinar qué funciones ha implementado específicamente el sistema y luego. complételo de acuerdo con los requisitos funcionales. Este capítulo presenta el diseño funcional del sistema desde dos aspectos: los módulos funcionales y la base de datos del sistema.
A través del análisis de requisitos funcionales en el capítulo anterior, se puede obtener el diagrama de estructura funcional de este sistema de navegación para viajes. La Figura 3.1 es el diagrama del módulo funcional del sistema.
Figura 3.1 Diagrama del módulo de funciones del sistema de navegación para viajes
El diseño de la base de datos es la base de un sistema. No importa qué sistema sea, no importa cuán hermoso sea el diseño de la interfaz, si no está respaldado por una base de datos poderosa, no podrá ejecutarse al diseñar la base de datos. Primero analizamos la base de datos y luego desarrollamos un modelo conceptual y finalmente creamos tablas de base de datos, como se muestra a continuación.
Al diseñar el modelo conceptual de la base de datos, los diagramas de entidades ER generalmente se utilizan para mostrar. Todos los nombres de campos en las tablas de la base de datos se pueden mostrar en los diagramas de entidades. El diagrama del modelo ER de la base de datos principal en este sistema se muestra en la siguiente figura.
Figura 3.2 Diagrama de relación ER de atracciones populares
Figura 3.3 Diagrama de relación ER de información alimentaria
Figura 3.4 Diagrama de relación ER de información de alojamiento
En la tabla de la base de datos, veremos el nombre de la tabla del sistema, la clave principal, la clave externa y otra información. Asociamos cada tabla a través de la clave principal y la clave externa de la tabla de la base de datos, y luego la mostramos en la interfaz de la base de datos principal. este sistema de navegación de viaje La tabla es la siguiente:
Tabla access_token (duración del acceso al inicio de sesión)
nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar | |
1 | id_token | En t | 10 | 0 | norte | Y | ID de tarjeta de acceso temporal | |
2 | simbólico | varchar | 64 | 0 | Y | norte | credencial de acceso temporal | |
3 | información | textooooooooooooooo | 65535 | 0 | Y | norte | ||
4 | Máximo | En t | 10 | 0 | norte | norte | 2 | Vida útil máxima: 2 horas por defecto |
5 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
6 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
7 | id_usuario | En t | 10 | 0 | norte | norte | 0 | identificación de usuario: |
Tabla alojamiento_información (información de alojamiento)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de información de alojamiento | En t | 10 | 0 | norte | Y | Identificación de información de alojamiento | |
2 | nombre de la casa de familia | varchar | 64 | 0 | Y | norte | Nombre del B&B | |
3 | cartel de alojamiento familiar | varchar | 255 | 0 | Y | norte | cartel de alojamiento y desayuno | |
4 | Clasificación de estrellas de la casa de familia | varchar | 64 | 0 | Y | norte | Clasificación de estrellas de B&B | |
5 | Financiación de vivienda | varchar | 64 | 0 | Y | norte | costos de vivienda | |
6 | Teléfono de contacto | varchar | 64 | 0 | Y | norte | número de contacto | |
7 | Ubicación de la casa de familia | varchar | 64 | 0 | Y | norte | Ubicación del B&B | |
8 | últimos_descuentos | textooooooooooooooo | 65535 | 0 | Y | norte | Últimas ofertas | |
9 | instalaciones de apoyo | textooooooooooooooo | 65535 | 0 | Y | norte | Instalaciones de apoyo | |
10 | servicios de alojamiento familiar | textooooooooooooooo | 65535 | 0 | Y | norte | Servicios de alojamiento en familia | |
11 | golpes | En t | 10 | 0 | norte | norte | 0 | Clics |
12 | alabanza_len | En t | 10 | 0 | norte | norte | 0 | Número de me gusta |
13 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
14 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Artículo de tabla (artículo: artículo para el sistema de gestión de contenidos)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | ID del artículo | medioint | 8 | 0 | norte | Y | Identificación del artículo: [0,8388607] | |
2 | título | varchar | 125 | 0 | norte | Y | Título: [0,125] se utiliza en la etiqueta de título de artículos y html | |
3 | tipo | varchar | 64 | 0 | norte | norte | 0 | Clasificación de artículos: [0,1000] se utiliza para buscar artículos del tipo especificado |
4 | golpes | En t | 10 | 0 | norte | norte | 0 | Número de clics: [0,1000000000] Número de personas que visitaron este artículo |
5 | alabanza_len | En t | 10 | 0 | norte | norte | 0 | Número de me gusta |
6 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
7 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
8 | fuente | varchar | 255 | 0 | Y | norte | Fuente: [0,255] Fuente del artículo | |
9 | dirección URL | varchar | 255 | 0 | Y | norte | Dirección de origen: [0,255] utilizada para saltar al sitio web donde se publicó el artículo | |
10 | etiqueta | varchar | 255 | 0 | Y | norte | Etiqueta: [0,255] se utiliza para marcar el contenido relevante del artículo. Varias etiquetas están separadas por espacios. | |
11 | contenido | texto largo | 2147483647 | 0 | Y | norte | Texto: el contenido principal del artículo. | |
12 | imagen | varchar | 255 | 0 | Y | norte | Imagen de portada | |
13 | descripción | textooooooooooooooo | 65535 | 0 | Y | norte | Descripción del articulo |
Tabla tipo_artículo (clasificación de artículos)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | tipo_id | pequeñoint | 5 | 0 | norte | Y | ID de categoría: [0,10000] | |
2 | mostrar | pequeñoint | 5 | 0 | norte | norte | 100 | Orden de visualización: [0,1000] determina el orden en que se muestran las categorías. |
3 | nombre | varchar | 16 | 0 | norte | norte | Nombre de categoría: [2,16] | |
4 | id del padre | pequeñoint | 5 | 0 | norte | norte | 0 | ID de categoría principal: [0,32767] |
5 | descripción | varchar | 255 | 0 | Y | norte | Descripción: [0,255] describe el papel de esta clasificación. | |
6 | icono | textooooooooooooooo | 65535 | 0 | Y | norte | Icono de categoría: | |
7 | dirección URL | varchar | 255 | 0 | Y | norte | Dirección de enlace externo: [0,255] Si esta categoría salta a otros sitios web, configúrelo en la URL | |
8 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
9 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
Tabla de información_atracción (información de atracción)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de información de atracción | En t | 10 | 0 | norte | Y | ID de información de atracción | |
2 | id_de_atracción | varchar | 64 | 0 | Y | norte | Número de atracción | |
3 | nombre_de_atracción | varchar | 64 | 0 | Y | norte | Nombre de la atracción | |
4 | clasificación_de_atractivos_turísticos | varchar | 64 | 0 | Y | norte | Clasificación de atracciones | |
5 | carteles de atracciones | varchar | 255 | 0 | Y | norte | Carteles de atracciones | |
6 | Promoción de atracción | varchar | 255 | 0 | Y | norte | Promoción de atracciones | |
7 | precio per cápita | En t | 10 | 0 | Y | norte | 0 | precio per cápita |
8 | horas de trabajo | varchar | 64 | 0 | Y | norte | Horas de trabajo | |
9 | calificación de lugares pintorescos | varchar | 64 | 0 | Y | norte | Calificación de atracción | |
10 | Teléfono de contacto | varchar | 16 | 0 | Y | norte | número de contacto | |
11 | servicios de atracción | textooooooooooooooo | 65535 | 0 | Y | norte | Servicios de atracción | |
12 | Introducción a los lugares pintorescos | textooooooooooooooo | 65535 | 0 | Y | norte | Introducción a la atracción | |
13 | golpes | En t | 10 | 0 | norte | norte | 0 | Clics |
14 | alabanza_len | En t | 10 | 0 | norte | norte | 0 | Número de me gusta |
15 | recomendar | En t | 10 | 0 | norte | norte | 0 | Recomendación inteligente |
16 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
17 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Autenticación de tabla (gestión de derechos de usuario)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_de_autorización | En t | 10 | 0 | norte | Y | Identificación de autorización: | |
2 | grupo de usuario | varchar | 64 | 0 | Y | norte | grupo de usuario: | |
3 | nombre_mod | varchar | 64 | 0 | Y | norte | Nombre del módulo: | |
4 | nombre de la tabla | varchar | 64 | 0 | Y | norte | Nombre de la tabla: | |
5 | Título de la página | varchar | 255 | 0 | Y | norte | Título de la página: | |
6 | camino | varchar | 255 | 0 | Y | norte | Ruta de ruta: | |
7 | posición | varchar | 32 | 0 | Y | norte | Ubicación: | |
8 | modo | varchar | 32 | 0 | norte | norte | _blanco | Método de salto: |
9 | agregar | diminuto | 3 | 0 | norte | norte | 1 | ¿Es posible agregar: |
10 | del | diminuto | 3 | 0 | norte | norte | 1 | ¿Se puede eliminar? |
11 | colocar | diminuto | 3 | 0 | norte | norte | 1 | Si se puede modificar: |
12 | conseguir | diminuto | 3 | 0 | norte | norte | 1 | ¿Es posible ver: |
13 | campo_agregar | textooooooooooooooo | 65535 | 0 | Y | norte | Agregar campos: | |
14 | conjunto de campos | textooooooooooooooo | 65535 | 0 | Y | norte | Modificar campos: | |
15 | campo_obtener | textooooooooooooooo | 65535 | 0 | Y | norte | Campos de consulta: | |
16 | nombre_nav_tabla | varchar | 500 | 0 | Y | norte | Nombre de navegación entre tablas: | |
17 | tabla_nav | varchar | 500 | 0 | Y | norte | Navegación entre tablas: | |
18 | opción | textooooooooooooooo | 65535 | 0 | Y | norte | Configuración: | |
19 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
20 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
Tabla Classification_of_tourist_attractions (clasificación de atracciones)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | clasificación_de_atractivos_turísticos_id | En t | 10 | 0 | norte | Y | ID de clasificación de atracción | |
2 | escribe un nombre | varchar | 64 | 0 | Y | norte | escribe un nombre | |
3 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
4 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_recopilado | En t | 10 | 0 | norte | Y | ID de colección: | |
2 | id_usuario | En t | 10 | 0 | norte | norte | 0 | Identificación del coleccionista: |
3 | tabla_fuente | varchar | 255 | 0 | Y | norte | Tabla fuente: | |
4 | campo_fuente | varchar | 255 | 0 | Y | norte | Campo fuente: | |
5 | id_fuente | En t | 10 | 0 | norte | norte | 0 | ID de fuente: |
6 | título | varchar | 255 | 0 | Y | norte | título: | |
7 | imagen | varchar | 255 | 0 | Y | norte | Cubrir: | |
8 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
9 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
Comentario de tabla (comentario)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id del comentario | En t | 10 | 0 | norte | Y | ID de comentario: | |
2 | id_usuario | En t | 10 | 0 | norte | norte | 0 | ID del comentarista: |
3 | responder_a_id | En t | 10 | 0 | norte | norte | 0 | ID del comentario de respuesta: vacío es 0 |
4 | contenido | texto largo | 2147483647 | 0 | Y | norte | contenido: | |
5 | apodo | varchar | 255 | 0 | Y | norte | Apodo: | |
6 | avatar | varchar | 255 | 0 | Y | norte | Dirección de avatar: [0,255] | |
7 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
8 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
9 | tabla_fuente | varchar | 255 | 0 | Y | norte | Tabla fuente: | |
10 | campo_fuente | varchar | 255 | 0 | Y | norte | Campo fuente: | |
11 | id_fuente | En t | 10 | 0 | norte | norte | 0 | ID de fuente: |
Tabla food_information (información alimentaria)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de información alimentaria | En t | 10 | 0 | norte | Y | Identificación de información alimentaria | |
2 | nombre_de_comida | varchar | 64 | 0 | Y | norte | Nombre del alimento | |
3 | tipos de alimentos | varchar | 64 | 0 | Y | norte | tipo de cocina | |
4 | cartel de comida | varchar | 255 | 0 | Y | norte | cartel de comida | |
5 | promoción de alimentos | varchar | 255 | 0 | Y | norte | Promoción de alimentos | |
6 | Ubicación de la comida | varchar | 64 | 0 | Y | norte | Lugares de comida | |
7 | características de los alimentos | textooooooooooooooo | 65535 | 0 | Y | norte | Características de los alimentos | |
8 | alusiones a la comida | textooooooooooooooo | 65535 | 0 | Y | norte | Alusiones a la comida | |
9 | golpes | En t | 10 | 0 | norte | norte | 0 | Clics |
10 | alabanza_len | En t | 10 | 0 | norte | norte | 0 | Número de me gusta |
11 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
12 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Tabla food_types (tipo de comida)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_de_tipos_de_alimentos | En t | 10 | 0 | norte | Y | ID de tipo de alimento | |
2 | escribe un nombre | varchar | 64 | 0 | Y | norte | escribe un nombre | |
3 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
4 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Visitas a la tabla (clics del usuario)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de visitas | En t | 10 | 0 | norte | Y | Como identificación: | |
2 | id_usuario | En t | 10 | 0 | norte | norte | 0 | Apreciado por: |
3 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
4 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
5 | tabla_fuente | varchar | 255 | 0 | Y | norte | Tabla fuente: | |
6 | campo_fuente | varchar | 255 | 0 | Y | norte | Campo fuente: | |
7 | id_fuente | En t | 10 | 0 | norte | norte | 0 | ID de fuente: |
mensaje de mesa (tablero de mensajes)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id del mensaje | En t | 10 | 0 | norte | Y | ID del tablero de mensajes: | |
2 | id_usuario | En t | 10 | 0 | norte | norte | 0 | ID de usuario: |
3 | título | varchar | 64 | 0 | Y | norte | título: | |
4 | contenido | texto largo | 2147483647 | 0 | norte | norte | contenido: | |
5 | apodo | varchar | 32 | 0 | norte | norte | Apodo: | |
6 | avatar | varchar | 255 | 0 | Y | norte | avatar: | |
7 | correo electrónico | varchar | 125 | 0 | Y | norte | Dirección de correo electrónico del comentarista | |
8 | teléfono | varchar | 11 | 0 | Y | norte | Número de teléfono móvil del remitente del mensaje | |
9 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
10 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
11 | responder | texto largo | 2147483647 | 0 | Y | norte | responder | |
12 | estado_de_respuesta | diminuto | 4 | 0 | Y | norte | 0 | estado de respuesta |
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | aviso_id | medioint | 8 | 0 | norte | Y | Identificación del anuncio: | |
2 | título | varchar | 125 | 0 | norte | norte | título: | |
3 | contenido | texto largo | 2147483647 | 0 | Y | norte | texto: | |
4 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
5 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de alabanza | En t | 10 | 0 | norte | Y | Como identificación: | |
2 | id_usuario | En t | 10 | 0 | norte | norte | 0 | Apreciado por: |
3 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
4 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
5 | tabla_fuente | varchar | 255 | 0 | Y | norte | Tabla fuente: | |
6 | campo_fuente | varchar | 255 | 0 | Y | norte | Campo fuente: | |
7 | id_fuente | En t | 10 | 0 | norte | norte | 0 | ID de fuente: |
8 | estado | poco | 1 | 0 | norte | norte | 1 | Estado similar: 1 es similar, 0 está cancelado |
Tabla usuarios_registrados (usuarios registrados)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_de_usuarios_registrados | En t | 10 | 0 | norte | Y | Registrar ID de usuario | |
2 | nombre de usuario | varchar | 64 | 0 | Y | norte | nombre de usuario | |
3 | género_usuario | varchar | 64 | 0 | Y | norte | Género del usuario | |
4 | Número de teléfono móvil | varchar | 16 | 0 | Y | norte | número de teléfono | |
5 | examinar_estado | varchar | 16 | 0 | norte | norte | aprobado | Estado de aprobación |
6 | id_usuario | En t | 10 | 0 | norte | norte | 0 | ID de usuario |
7 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
8 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Tabla route_planning (planificación de ruta)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_planificación_ruta | En t | 10 | 0 | norte | Y | ID de planificación de ruta | |
2 | nombre_ruta | varchar | 64 | 0 | Y | norte | nombre de la ruta | |
3 | pasando por lugares pintorescos | varchar | 64 | 0 | Y | norte | Pasando por lugares escénicos | |
4 | mostrar_imágenes | varchar | 255 | 0 | Y | norte | Mostrar fotos | |
5 | los gastos de viaje | varchar | 64 | 0 | Y | norte | Costo del viaje | |
6 | días de viaje | varchar | 64 | 0 | Y | norte | Días de viaje | |
7 | adecuado para la audiencia | varchar | 64 | 0 | Y | norte | Adecuado para la multitud | |
8 | guía de ruta | textooooooooooooooo | 65535 | 0 | Y | norte | guía de ruta | |
9 | golpes | En t | 10 | 0 | norte | norte | 0 | Clics |
10 | alabanza_len | En t | 10 | 0 | norte | norte | 0 | Número de me gusta |
11 | tiempo_de_creación | fecha y hora | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | tiempo de creación |
12 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion |
Diapositivas de mesa (carrusel)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de diapositivas | En t | 10 | 0 | norte | Y | ID de imagen del carrusel: | |
2 | título | varchar | 64 | 0 | Y | norte | título: | |
3 | contenido | varchar | 255 | 0 | Y | norte | contenido: | |
4 | dirección URL | varchar | 255 | 0 | Y | norte | Enlace: | |
5 | imagen | varchar | 255 | 0 | Y | norte | Imagen del carrusel: | |
6 | golpes | En t | 10 | 0 | norte | norte | 0 | Número de clics: |
7 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
8 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
Carga de tabla (carga de archivos)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id de carga | En t | 10 | 0 | norte | Y | Cargar identificación | |
2 | nombre | varchar | 64 | 0 | Y | norte | Nombre del archivo | |
3 | camino | varchar | 255 | 0 | Y | norte | camino de acceso | |
4 | archivo | varchar | 255 | 0 | Y | norte | ruta de archivo | |
5 | mostrar | varchar | 255 | 0 | Y | norte | Orden de visualización | |
6 | id del padre | En t | 10 | 0 | Y | norte | 0 | Identificación de los padres |
7 | dirección | varchar | 255 | 0 | Y | norte | carpeta | |
8 | tipo | varchar | 32 | 0 | Y | norte | Tipo de archivo |
Usuario de tabla (cuenta de usuario: utilizada para guardar la información de inicio de sesión del usuario)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | id_usuario | medioint | 8 | 0 | norte | Y | ID de usuario: [0,8388607] El usuario obtiene otros datos relacionados con el usuario | |
2 | estado | pequeñoint | 5 | 0 | norte | norte | 1 | Estado de la cuenta: [0,10](1 disponible | 2 anormales | 3 congelados | 4 desconectados) |
3 | grupo de usuario | varchar | 32 | 0 | Y | norte | Grupo de usuarios: [0,32767] determina la identidad y los permisos del usuario | |
4 | hora_de_inicio_de_sesión | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Hora del último inicio de sesión: |
5 | teléfono | varchar | 11 | 0 | Y | norte | Número de teléfono móvil: [0,11] Número de teléfono móvil del usuario, utilizado para recuperar la contraseña o iniciar sesión | |
6 | estado del teléfono | pequeñoint | 5 | 0 | norte | norte | 0 | Certificación de telefonía móvil: [0,1] (0 no certificado | 1 en revisión | 2 certificado) |
7 | nombre de usuario | varchar | 16 | 0 | norte | norte | Nombre de usuario: [0,16] El nombre de cuenta utilizado por el usuario para iniciar sesión | |
8 | apodo | varchar | 16 | 0 | Y | norte | Apodo: [0,16] | |
9 | contraseña | varchar | 64 | 0 | norte | norte | Contraseña: [0,32] La contraseña requerida para iniciar sesión como usuario, que consta de 6 a 16 dígitos o en inglés. | |
10 | correo electrónico | varchar | 64 | 0 | Y | norte | Correo electrónico: [0,64] Correo electrónico del usuario, utilizado para recuperar la contraseña o iniciar sesión | |
11 | estado_del_correo_electrónico | pequeñoint | 5 | 0 | norte | norte | 0 | Certificación de correo electrónico: [0,1] (0 no certificado | 1 en revisión | 2 certificado) |
12 | avatar | varchar | 255 | 0 | Y | norte | Dirección de avatar: [0,255] | |
13 | id_abierto | varchar | 255 | 0 | Y | norte | Para obtener campos de información del usuario | |
14 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
15 | nivel vip | varchar | 255 | 0 | Y | norte | nivel de membresía | |
16 | descuento vip | doble | 11 | 2 | Y | norte | 0.00 | descuento para miembros |
Tabla user_group (grupo de usuarios: utilizado para la identidad y autenticación del usuario front-end)
número de serie | nombre | tipo de datos | longitud | Lugares decimales | Permitir valores nulos | Clave primaria | valor por defecto | ilustrar |
1 | Identificación del grupo | medioint | 8 | 0 | norte | Y | ID de grupo de usuarios: [0,8388607] | |
2 | mostrar | pequeñoint | 5 | 0 | norte | norte | 100 | Orden de visualización: [0,1000] |
3 | nombre | varchar | 16 | 0 | norte | norte | Nombre: [0,16] | |
4 | descripción | varchar | 255 | 0 | Y | norte | Descripción: [0,255] Describe las características o alcance de los permisos de este grupo de usuarios. | |
5 | tabla_fuente | varchar | 255 | 0 | Y | norte | Tabla fuente: | |
6 | campo_fuente | varchar | 255 | 0 | Y | norte | Campo fuente: | |
7 | id_fuente | En t | 10 | 0 | norte | norte | 0 | ID de fuente: |
8 | registro | pequeñoint | 5 | 0 | Y | norte | 0 | Lugar de registro: |
9 | tiempo_de_creación | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de creación: |
10 | tiempo de actualizacion | marca de tiempo | 19 | 0 | norte | norte | FECHA Y HORA ACTUAL | Tiempo de actualizacion: |
Los administradores y usuarios ingresan su número de cuenta + contraseña en la interfaz de inicio de sesión, completan la verificación y hacen clic en el botón "Iniciar sesión". El sistema comparará las cuentas del administrador y el usuario en la tabla de la base de datos de usuarios si el número de cuenta y la contraseña son correctos. , iniciarán sesión en el sistema en la interfaz de administración principal de cada usuario; de lo contrario, se solicitará la información correspondiente y el usuario regresará a la interfaz de inicio de sesión. La interfaz principal se muestra como se muestra en la Figura 4.1 a continuación.
Figura 4.1 Diagrama de la interfaz de inicio de sesión
El código de inicio de sesión es el siguiente:
/**
* Acceso
* @param datos
* @param httpServletRequest
* @devolver
*/
@PostMapping("iniciar sesión")
Mapa público<String, Object> iniciar sesión(@RequestBody Mapa<String, String> datos, HttpServletRequest (httpServletRequest) {
log.info("[Ejecutar interfaz de inicio de sesión]");
Cadena nombre de usuario = data.get("nombre de usuario");
Cadena correo electrónico = datos.get("correo electrónico");
Cadena teléfono = datos.get("teléfono");
Cadena contraseña = datos.get("contraseña");
Lista resultadoList = null;
Mapa<String, String> mapa = nuevo HashMap<>();
if(nombreusuario != null && "".equals(nombreusuario) == false){
map.put("nombreusuario", nombreusuario);
resultList = servicio.selectBaseList(servicio.select(mapa, nuevo HashMap<>()));
}
de lo contrario si (correo electrónico != null && "".equals(correo electrónico) == falso){
map.put("correo electrónico", correo electrónico);
resultList = servicio.selectBaseList(servicio.select(mapa, nuevo HashMap<>()));
}
de lo contrario si (teléfono != null && "".equals(teléfono) == falso){
map.put("teléfono", teléfono);
resultList = servicio.selectBaseList(servicio.select(mapa, nuevo HashMap<>()));
}demás{
error de retorno (30000, "La cuenta o contraseña no pueden estar vacías");
}
si (resultList == null || contraseña == null) {
error de retorno (30000, "La cuenta o contraseña no pueden estar vacías");
}
//Determinar si existe este usuario
si (resultList.size()<=0){
error de retorno (30000, "El usuario no existe");
}
Usuario porNombreDeUsuario = (Usuario) resultList.get(0);
Mapa<String, String> grupoMap = nuevo HashMap<>();
groupMap.put("nombre",pornombreUsuario.getUserGroup());
Lista groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
si (listagrupo.size()<1){
error de retorno (30000, "El grupo de usuarios no existe");
}
Grupo de usuarios grupo de usuarios = (Grupo de usuarios) listaDeGrupos.get(0);
//Consultar el estado de la reseña del usuario
si (!StringUtils.isEmpty(userGroup.getSourceTable())){
Cadena res = servicio.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
si (res==null){
error de retorno (30000, "El usuario no existe");
}
si (!res.equals("aprobado")){
error de retorno (30000, "Este usuario no pudo aprobar la revisión");
}
}
//Consultar estado de usuario
si (porNombreUsuario.getState()!=1){
error de retorno (30000, "El usuario no está disponible y no puede iniciar sesión");
}
Cadena md5password = service.encryption(contraseña);
si (porNombreDeUsuario.getPassword().equals(md5password)) {
// Almacenar token en la base de datos
AccessToken accessToken = nuevo AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(pornombreUsuario.getUserId());
Duración duración = Duración.deSegundos(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duración);
//Devolver información del usuario
JSONObject usuario = JSONObject.parseObject(JSONObject.toJSONString(porNombreDeUsuario));
usuario.put("token", accessToken.getToken());
JSONObject ret = nuevo JSONObject();
ret.put("obj",usuario);
devolver éxito(ret);
} demás {
error de devolución (30000, "La cuenta o contraseña es incorrecta");
}
}
El usuario ingresa el número de cuenta + contraseña en la interfaz de inicio de sesión, completa la verificación y hace clic en el botón "Iniciar sesión". El sistema comparará las cuentas del administrador y el usuario en la tabla de la base de datos de usuarios si el número de cuenta + contraseña son. Si es correcto, el usuario iniciará sesión en el sistema en la interfaz de administración principal; de lo contrario, se le solicitará la información correspondiente y el usuario regresará a la interfaz de inicio de sesión. La interfaz principal se muestra en la Figura 4.2 a continuación.
Figura 4.1 Diagrama de la interfaz de registro
El código de registro es el siguiente:
/**
* registro
* @param usuario
* @devolver
*/
@PostMapping("registrarse")
Mapa público<String, Object> signUp(@RequestBody Usuario usuario) {
//Consulta usuario
Mapa<String, String> consulta = nuevo HashMap<>();
Mapa<String,Object> mapa = JSON.parseObject(JSON.toJSONString(usuario));
consulta.put("nombreusuario",usuario.getUsername());
Lista lista = servicio.selectBaseList(servicio.select(consulta, nuevo HashMap<>()));
si (lista.tamaño()>0){
error de retorno (30000, "El usuario ya existe");
}
map.put("contraseña",service.encryption(String.valueOf(map.get("contraseña"))));
servicio.insertar(mapa);
devolver éxito(1);
}
Después de que el usuario completa el registro utilizando el sistema, si el usuario necesita cambiar la contraseña de inicio de sesión, el sistema también puede otorgarle permiso para cambiar la contraseña. Todos los operadores en el sistema pueden cambiar su propia información de contraseña. Para realizar esta función, primero deben iniciar sesión en el sistema, luego seleccionar la opción de cambio de contraseña y luego completar la contraseña inicial y la nueva contraseña en el cuadro de texto proporcionado para completar el proceso. operación de cambio de contraseña. Al completar, si hay una diferencia entre los dos llenados de contraseña, la operación de cambio de contraseña falla. La siguiente imagen muestra la interfaz correspondiente de esta sección. La interfaz es como se muestra a continuación.
Figura 4.3 Diagrama de interfaz de modificación de contraseña
El código de modificación de contraseña es el siguiente:
/**
* cambiar la contraseña
* @param datos
* solicitud @param
* @devolver
*/
@PostMapping("cambiar_contraseña")
Mapa público<String, Object> cambiar_contraseña(@RequestBody Mapa<String, String> datos, solicitud HttpServletRequest){
// Obtener ID de usuario basado en Token
Cadena token = solicitud.getHeader("x-auth-token");
Entero userId = tokenGetUserId(token);
// Obtiene el usuario según el ID de usuario y la contraseña anterior
Mapa<String, String> consulta = nuevo HashMap<>();
Cadena o_contraseña = datos.get("o_contraseña");
consulta.put("id_usuario" ,String.valueOf(id_usuario));
consulta.put("contraseña" ,servicio.encryption(o_contraseña));
int count = service.selectBaseCount(service.count(consulta, service.readConfig(solicitud)));
si(cuenta > 0){
// cambiar la contraseña
Mapa<String,Object> formulario = nuevo HashMap<>();
form.put("contraseña",service.encryption(data.get("contraseña")));
servicio.update(consulta,servicio.readConfig(solicitud),formulario);
devolver éxito(1);
}
error de retorno (10000, "¡Error en la modificación de la contraseña!");
}
Figura 4.4 Diagrama de interfaz de planificación de ruta
Información de atracciones: los usuarios pueden ver la lista de información de atracciones y ver las últimas presentaciones de atracciones turísticas, incluidas presentaciones de atracciones, guías de transporte, horarios comerciales, presentaciones de atracciones, calificaciones de atracciones, etc. También pueden darle me gusta, recopilar y comentar atracciones de interés y retrógradas. viajar. La interfaz es como se muestra a continuación.
Figura 4.5 Diagrama de interfaz de información de atracciones
Lista de información de alimentos: muestra información de alimentos recomendados, incluido el nombre del alimento, el tipo, las características, la visualización de imágenes, etc. Los usuarios pueden elegir dar me gusta, recopilar, comentar y otras operaciones. La interfaz es como se muestra a continuación.
Figura 4.6 Diagrama de interfaz de la lista de información alimentaria
Gestión de planificación de rutas: administre la adición de listas de planificación de rutas, incluida la adición de nombres de rutas, lugares panorámicos pasados, costos de viaje, días de viaje, multitudes adecuadas, estrategias de ruta y otra información. La interfaz es como se muestra a continuación.
Figura 4.7 Diagrama de la interfaz de gestión de planificación de rutas
Gestión de información de atracciones: administre y agregue información a la lista de información de atracciones, incluidos nombres de atracciones, clasificaciones de atracciones, promociones de atracciones, horarios comerciales, calificaciones, números de contacto y otra información. La interfaz es como se muestra a continuación.
Figura 4.8 Diagrama de interfaz de gestión de información de atracciones
Gestión de información alimentaria: administre y agregue información a la lista de información alimentaria, incluidos nombres de alimentos, tipos de alimentos, promociones de alimentos, ubicaciones de alimentos, alusiones a alimentos y otra información. La interfaz es como se muestra a continuación.
Figura 4.9 Diagrama de interfaz para agregar información sobre alimentos
Gestión de información de alojamiento: administre listas de información de alojamiento recomendado y agregue información de alojamiento, incluido el nombre de B&B, la clasificación de estrellas de B&B, el número de contacto, la ubicación de B&B, los servicios de B&B y otra información. La interfaz es como se muestra a continuación.
Figura 4.10 Diagrama de la interfaz de reserva de hotel
Gestión del sistema: administre la visualización y el cambio de imágenes del carrusel en la página de inicio, incluida la adición, edición y eliminación de imágenes y enlaces de imágenes del carrusel, etc. La interfaz es como se muestra a continuación.
Figura 4.11 Diagrama de interfaz de gestión del sistema
En este punto, el desarrollo del sistema está básicamente completado. A continuación, analizamos los experimentos y los resultados del sistema para garantizar que el sistema pueda funcionar normalmente y luego ponerlo en uso. El método de detección para los experimentos y el análisis de resultados del sistema es la prueba. la prueba es el sistema En el último paso de finalización, el sistema que no ha sido probado no se puede poner en uso; de lo contrario, causará pérdidas si ocurre un error. A continuación analizamos el método de prueba y los casos de uso de prueba. finalmente proporcione los resultados de la prueba del sistema.
Hay dos tipos de pruebas de sistemas, una es la prueba de caja negra y la otra es la prueba de caja blanca. En el proceso de prueba de caja negra, también lo llamamos prueba de requisitos. Conozca su principio de desarrollo. Solo estamos probando el sistema como usuario. Confiamos principalmente en nuestra experiencia de prueba previa para tomar algunos valores críticos y luego probarlos a través de casos de prueba. Este método de prueba es la forma más rápida de encontrar problemas. En segundo lugar, podemos encontrar algunos datos representativos y realizar pruebas de casos de uso en el sistema. Las herramientas de prueba más utilizadas en el proceso de prueba de caja negra son winrunner y AutoRunner, que se denomina prueba de resultados, es decir, prueba basada en lógica. En el proceso de prueba de caja blanca, probamos principalmente según los principios del desarrollo del sistema. Como desarrollador, probamos principalmente si el código ha completado sus funciones específicas y la implementación específica. ¿Es correcto este método de prueba? Es laborioso y requiere mucho tiempo, porque cada función tiene más de una ruta de ejecución. Al probar la ruta de ejecución en el programa, podemos detectar si hay errores en el código desarrollado y si ha cumplido con las expectativas de las herramientas de prueba de uso común. -box son Jcontract, C++ Test y CodeWizard.
Prueba funcional del módulo de inicio de sesión:
Tabla 5.1 Tabla de prueba de función del módulo de inicio de sesión
nombre de la prueba | función de prueba | Proceso de operación | gastos esperados | Resultados de la prueba |
Prueba del módulo de inicio de sesión | acceso exitoso | Los usuarios pueden ingresar a la interfaz de inicio de sesión del sistema de navegación de viajes a través del navegador, ingresar el nombre de usuario: administrador y contraseña administrador, y hacer clic en el botón "Iniciar sesión" después de completar la verificación del rompecabezas deslizante. | Se inició sesión correctamente en la interfaz administrada por el administrador. | correcto |
Prueba del módulo de inicio de sesión | Fallo de inicio de sesión | Los usuarios pueden ingresar a la interfaz de inicio de sesión del sistema de navegación de viajes a través del navegador, ingresar el nombre de usuario: admin y contraseña 111 y hacer clic en el botón "Iniciar sesión" después de completar la verificación del rompecabezas deslizante. | El sistema indica "El nombre de usuario y la contraseña no coinciden". | correcto |
Prueba de función de adición de información del usuario:
Tabla 5.2 Tabla de prueba de función para agregar información del usuario
nombre de la prueba | función de prueba | Proceso de operación | gastos esperados | Resultados de la prueba |
Prueba de módulo de adición de información de usuario | Información del usuario agregada exitosamente | El administrador hace clic en "Información de usuario" en el menú "Usuario del sistema" para mostrar toda la información del usuario. Haga clic en el botón "Agregar", ingrese el número de cuenta, contraseña, apodo, número de teléfono móvil, correo electrónico, etc. haga clic en el botón "Enviar" ". | Aviso agregado exitosamente | correcto |
Prueba de módulo de adición de información de usuario | No se pudo agregar la información del usuario | El administrador hace clic en "Información de usuario" en el menú "Usuarios del sistema" para mostrar toda la información del usuario. Haga clic en el botón "Agregar" sin ingresar el número de cuenta. Después de completar otra información normalmente, haga clic en el botón "Enviar". | Mensaje "Error al agregar, la cuenta no puede estar vacía" | correcto |
Prueba del módulo de función de información de información de viaje de consulta:
Tabla 5.3 Formulario de prueba para consultar la función de información de información de viaje
nombre de la prueba | función de prueba | Proceso de operación | gastos esperados | Resultados de la prueba |
Consultar información de viaje prueba de función de información | Estado de éxito de la consulta | El usuario hace clic en "Información de viaje" en la barra de menú y luego aparecerá toda la información de viaje en el sistema. | búsqueda exitosa | correcto |
Las atracciones populares agregan prueba de módulo de función:
Tabla 5.4 Tabla de prueba de función Agregar atracciones populares
nombre de la prueba | función de prueba | Proceso de operación | gastos esperados | Resultados de la prueba |
Atracciones populares agregar prueba de módulo | Adición exitosa de atracciones populares | Haga clic en el menú "Atracciones populares" e ingrese la información de la atracción para enviar la información. | Envío rápido exitoso | correcto |
Atracciones populares agregar prueba de módulo | No se pudieron agregar atracciones populares | Al enviar información sobre atracciones populares, no ingrese boletos de atracción. Después de completar otra información normalmente, haga clic en el botón "Enviar". | Mensaje "Error al agregar, la información no puede estar vacía" | correcto |
En este capítulo, realizamos una prueba de caja en blanco y negro en el sistema de navegación para viajes y realizamos un análisis de casos de uso de algunas funciones en el sistema. Se puede encontrar que el sistema es relativamente estable y que básicamente todas las funciones del sistema pueden funcionar. realizarse, que puede satisfacer las necesidades de administradores y usuarios de información de viajes, agregar atracciones populares, agregar información de usuarios y otras necesidades. A través de las pruebas, se puede ver que durante la operación del sistema, sus funciones están completas. Para ingresar información de error, se puede solicitar la información de error, lo cual es conveniente para que los usuarios descubran dónde hay errores en la información que ingresan. operación y luego hacer correcciones. Además, la interfaz del sistema tiene barras de navegación, que son muy convenientes de operar y no requieren ninguna capacitación para los usuarios. Es un sistema muy valioso para las empresas.
Después de varios meses de arduo trabajo, este sistema de navegación para viajes finalmente se completó. Aunque se desarrollaron algunos sistemas pequeños durante la escuela, todos se completaron con la explicación y la ayuda del maestro. No hubo análisis de requisitos ni experiencia previa al desarrollo del sistema. desde el diseño del sistema, por lo que el sistema de navegación para viajes desarrollado esta vez es de gran importancia para mí.
Al comienzo del desarrollo del sistema, primero realizamos una encuesta sobre las necesidades del sistema de navegación turística para comprender qué funciones debe implementar el sistema desarrollado para que la empresa satisfaga las necesidades de gestión del usuario y, en segundo lugar, analizamos las necesidades, elegimos; el lenguaje JAVA con el que estamos familiarizados. La base de datos MYSQL está diseñada y desarrollada utilizando el marco SpringBoot. Puede consultar y aprender estas tecnologías a través de bibliotecas CNKI, bibliotecas escolares y otros lugares, y luego dominar las ideas y métodos de programación. el sistema, desde la viabilidad del desarrollo del sistema y la implementación del sistema en términos de funciones, el rendimiento que debe tener el sistema y los procedimientos operativos del sistema, realizamos un análisis integral del sistema para determinar la función final. del sistema, diseñando así las funciones del sistema y la base de datos, y finalmente la implementación del sistema y las pruebas de las funciones implementadas, para garantizar que el sistema pueda operar de manera estable.
Durante el proceso de desarrollo, muchos de mis propios problemas quedaron expuestos. Por ejemplo, la preparación en la etapa inicial no fue suficiente y no pude comprender completamente el proceso operativo. No dominaba lo suficiente la programación JAVA durante el proceso de desarrollo. Todavía hay problemas con la configuración del entorno del sistema. Muchos problemas a menudo causan errores cuando se ejecuta el proyecto. El aprendizaje no tiene fin. Consultando la información y pidiendo consejo al tutor, poco a poco resolví estos problemas. Seré más riguroso en mis estudios y trabajos futuros. ¡A través del desarrollo de este proyecto, me beneficiaré de por vida!
[1] Wu Linglin. Diseño e implementación de un sistema de gestión de relaciones con el cliente basado en SpringBoot [J].
[2] Huang Saiying. Diseño de un sistema de gestión de archivos hospitalarios basado en Springboot [J], 2023, 40(11): 384-385.
[3] Lin Shengfeng, Yao Jinjiang, Lin Tao, Liu Jiaxiao, Tian Zhizhuo, Li Chao. Diseño de un sistema de gestión de laboratorio universitario basado en SpringBoot [J, 2023, 20(18): 80-82.
[4] Wang Rong, Li Qiang, He Ying, Guo Ya, Wu Xiaomin, Yang Zhenglin, Huang Yiwang Diseño e implementación de un sistema de recomendación de viajes personalizado [J Computer, 2023, 39(09):95-99.
[5] Yin Li, Du Xiaonan. Diseño e implementación de un sistema de puntos en el campus basado en SpringBoot y Vue [J], 2023, 40(07): 414-415.
[6] Li Qin, Cui Mingyang, Qian Yiwen, Liu Jingjing. Desarrollo de un sistema de gestión de archivos académicos de posgrado basado en SpringBoot [J], 2023, 19(18): 46-48+51.
[7] Li En. Diseño e implementación de la plataforma de turismo rojo de Wuhan basada en el algoritmo de recomendación del usuario [D] Universidad de Yangtze, 2023.
[8] Wan Yanbing. Investigación y desarrollo de un sistema de recomendación de viajes personalizado basado en Flink [D] Universidad de Nacionalidades de Guangxi, 2023.
[9] Yang Jiapeng, Zu Yuwei, Ji Jiaqi, Chen Lifang. Sistema de recomendación de viajes de fusión en cascada basado en el marco Spark [J] Computadoras y aplicaciones inteligentes, 2023, 13 (04): 142-146.
[10]Yu Yang.Diseño e implementación de un sistema de gestión de información estudiantil basado en Springboot[J].Avances en informática, señales y sistemas,2022,6(6):
[11] Chen Yong. Diseño de un sistema de recomendación de viajes basado en un algoritmo de filtrado colaborativo [J Value Engineering, 2022, 41(30): 160-162.
[12] Zhang Min, Zhang Lamei, Chen Zhengyu. Sistema de recomendación de viajes basado en la web [J]. Materiales de registro de información, 2022, 23(10): 132-135.
[13] Chen Ling. Diseño e implementación del sistema de recomendación de turismo rojo de China basado en Django [J Software, 2022, 43(09): 100-103.
[14] Xu Yang. Sistema de recomendación de rutas de viaje basado en un gráfico de conocimiento [D].
[15]Wu Hejing. Sistema de gestión de middle office de comercio basado en Springboot[J]. Revista internacional de redes avanzadas, supervisión y controles, 2022, 7(2): 32-45.
[16] Liu Xiuhuan. Diseño e implementación de un sistema de recomendación de viajes para padres e hijos [D] Universidad Normal de Qufu, 2021.
[17] Li Wei. Investigación de diseño de un sistema de recomendación de turismo inteligente basado en tecnología de minería de big data [J].
[18] Fuyuan Cheng. Sistema de gestión de contratación de talentos para pequeñas y microempresas basado en el marco Springboot [J]. Avances en tecnología educativa y psicología, 2021, 5 (2):
[19]Guanhong Chen,Jiangming Xu.Diseño e implementación de una plataforma de aprendizaje eficiente basada en SpringBoot Framework[J].Journal of Electronics and Information Science,2020,6(1):
[20]Jian Chen,Chen Jian,Pan Hailan.Diseño del sistema de información de gestión de horas-hombre en el marco SpringBoot[J].Journal of Physics: Conference Series,2020,1646(1):012136-.
"Reconocimiento" significa el final de la tesis, y también significa la finalización exitosa de mi proyecto de graduación. También significa que mi carrera universitaria está llegando a su fin. Aquí quiero dejar a mis queridos maestros y queridos compañeros. gracias primero que nada lo mejor son todos los maestros, "Las montañas están llenas de primavera y los jardines están llenos de verde, los melocotones y las ciruelas compiten por la primavera y aparecen las sonrisas, la primavera siempre está ahí en el este, oeste, norte y. "Sur, solo el profesor presta atención", han dado todo en mis estudios y en mi vida, él me enseñó con seriedad; en segundo lugar, quisiera agradecer a mi instructor, quien fue una guía en todo mi proyecto de graduación. Siempre que tuve dificultades. , él siempre me ayudaba de inmediato y me guiaba para resolver el problema, en lugar de decirme la respuesta directamente: "Es mejor enseñarle a pescar a un hombre que enseñarle a pescar". Este enfoque del instructor me ha beneficiado en todo momento. Al mismo tiempo, también aprendí muchas habilidades de desarrollo y pruebas del instructor, que serán beneficiosas para mí en el futuro. Siento tanta desgana por ellas que no puedo expresarlo con palabras. Creo que cada vez que pienso en ellos en mi vida futura, mi corazón se sentirá cálido. Este tipo de amistad no puede ser reemplazada por ninguna emoción. Finalmente, me gustaría agradecer a mi familia, gracias a mí, a mi familia por su apoyo. y mi perseverancia en mis estudios creo que mi camino futuro será cada vez mejor.
Para obtener el código fuente del proyecto de forma gratuita, siga ❥ Me gusta, recopile y envíe un mensaje privado al blogger, gracias ~