技術共有

springboot トラベル ナビゲーション システム - コンピューター卒業プロジェクト ソース コード 69476

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

目次

第1章導入

1.1背景

1.2研究状況

1.3論文構成の整理

第2章システム要件の分析

2.1システムの実現可能性分析

2.1.1技術的な実現可能性の分析

2.1.2経済的実現可能性分析

2.1.3法的実現可能性分析

2.1.4運用可能性分析

2.2システム機能要件の分析

2.3体系的な要件分析

2.4システムのユースケース分析

2.5システムプロセス分析

2.5.1データフローの追加

2.5.2データフローを変更する

2.5.3データ削除処理

第3章システム全体の設計

3.1システム機能モジュールの設計

3.2データベース設計

3.2.1データベースの概念構造設計

3.2.2データベーステーブルの設計

第4章主要モジュールの設計と実装

4.1ログインモジュール

4.2レジスタモジュール

4.3パスワード変更モジュール

4.4ナビゲーションマップモジュール

4.5人気アトラクション管理モジュール

4.6アトラクションチケット購入管理モジュール

4.7ホテル推薦管理モジュール

4.8ホテル予約管理モジュール

第5章システム実験と結果分析

5.1試験方法

5.2システムテストケース

5.3システムテスト結果

第6章結論は

参考文献

ありがとう

SpringBootトラベルナビゲーションシステム

まとめ

インターネットの急速な発展に伴い、インターネットを通じて旅行情報を入手し、旅程を計画する人がますます増えています。中国は豊かな自然と長い歴史と文化を持つ国として、毎年多くの観光客が注目を集めています。このウェブサイトの目的は、旅行者に正確かつ包括的な旅行情報を提供し、便利なナビゲーションおよびルート計画サービスを提供することです。観光スポットの紹介やグルメ、宿泊施設の情報など、さまざまな観光資源を統合し、ユーザーが必要とする情報をウェブサイト上で入手できます。

このプロジェクトでは、バックエンド開発ツールとして Spring Boot フレームワークを使用します。これは、シンプルかつ効率的で、信頼性の高い Web アプリケーションを迅速に構築できます。 Java を主要なプログラミング言語として使用することで、システムの安定性と拡張性が保証されます。 MySQL はバックエンド データベースとして、ユーザー情報、旅行データ、ユーザー フィードバックなどの重要なデータを保存および管理するために使用されます。 MySQL を使用すると、データの効率的な保存と取得が実現され、ユーザーに優れたユーザー エクスペリエンスを提供できます。

本研究は、観光ナビゲーションシステムの設計・開発の背景と意義を明らかにすることを目的とする。このウェブサイトの開発により、旅行者に便利な旅行情報サービスを提供し、旅行体験の向上を目指します。同時に、このプロジェクトは観光開発の促進にも役立ち、他の地域の観光ナビゲーションシステムの開発の参考にもなります。

キーワード: トラベル ナビゲーション システム、Java 言語、MYSQL データベース。

SpringBoot 観光ナビゲーション システム

抽象的な

インターネットの急速な発展に伴い、ますます多くの人々がインターネットを通じて旅行情報を入手し、旅行を計画することを選んでいます。中国は豊かな自然景観と長い歴史と文化を持つ国として、毎年多くの観光客の注目を集めています。このウェブサイトの目標は、訪問者に正確で包括的な旅行情報を提供し、便利なナビゲーションとルート計画サービスを提供することです。観光スポットの紹介、食べ物の種類、宿泊施設の情報など、さまざまな観光リソースを統合することにより、ユーザーはウェブサイトで必要な関連情報を入手できます。

このプロジェクトでは、シンプルで効率的で、信頼性の高い Web アプリケーションを迅速に構築できるバックエンド開発ツールとして Spring Boot フレームワークを使用しています。Java をメインのプログラミング言語として使用することで、システムの安定性とスケーラビリティが確保されます。MySQL は、ユーザー情報、旅行データ、ユーザーからのフィードバックなどの重要なデータを保存および管理するためのバックエンド データベースとして使用されます。MySQL を使用すると、データを効率的に保存および取得し、ユーザーに優れたユーザー エクスペリエンスを提供できます。

本研究の目的は、その背景と意義を踏まえ、観光ナビゲーションシステムを設計・開発することである。本ウェブサイトを開発することで、来訪者に便利な観光情報サービスを提供し、旅行体験を向上させることを目指す。同時に、本プロジェクトは観光の発展を促進し、他地域の観光ナビゲーションシステムの開発の参考となる。

キーワード: 旅行ナビゲーションシステム、JAVA言語、SpringBootフレームワーク、MYSQLデータベース

  • 1章導入
    1. 背景

過去数十年にわたり、世界的な観光産業が活況を呈するにつれて、旅行体験に対する人々の需要も高まっています。旅行ナビゲーション システムの研究背景は、より便利で効率的な旅行方法に対する人々の切実なニーズに遡ります。従来の旅行方法は、地図やガイドマニュアル、口頭案内に頼ることが多かったですが、情報がタイムリーに更新されない、紛失しやすい、言語コミュニケーションの壁があるなど、多くの制限がありました。

テクノロジーの継続的な発展に伴い、人々はコンピューターとインターネット テクノロジーを使用して旅行ナビゲーション エクスペリエンスを向上させる方法を模索し始めています。この需要により、観光ナビゲーションシステムの研究開発が促進されています。初期の旅行ナビゲーション システムは主に GPS テクノロジーに基づいており、衛星測位を通じてユーザーの位置を特定し、ルート計画とナビゲーション ガイダンスを提供できました。この種のシステムは人々の旅行プロセスを大幅に簡素化し、目的地をより簡単に見つけられるようにし、時間とエネルギーを節約します。しかし、従来の GPS ナビゲーション システムには、リアルタイムの交通情報を提供できないことや、パーソナライズされた推奨事項がないことなど、依然としていくつかの問題があります。これらの問題を解決するために、研究者たちは旅行ナビゲーション システムに人工知能技術を導入し始めました。ビッグデータを分析し、機械学習アルゴリズムを使用することにより、新世代の旅行ナビゲーション システムは、交通状況をより正確に予測し、パーソナライズされた旅行ルートを推奨し、リアルタイムの周辺サービス情報を提供できます。

さらに、モバイルインターネットの普及により、スマートフォンは人々の旅行の重要なツールとなり、旅行ナビゲーションシステムの開発に新たなチャンスをもたらしています。最新の旅行ナビゲーション アプリは、携帯電話にナビゲーション サービスを提供するだけでなく、AR (拡張現実) テクノロジーを組み合わせて、より直感的で鮮明なナビゲーション エクスペリエンスをユーザーに提供できます。例えば、ユーザーは携帯電話のカメラを通して周囲の街並みを確認し、最適なルートを画面に表示することができ、ナビゲーションの利便性と実用性が大幅に向上します。

個人旅行者に加えて、旅行ナビゲーション システムも観光産業の発展において重要な役割を果たしています。観光企業はこれらのシステムを利用してサービスの品質を向上させ、より多くの顧客を呼び込むことができます。たとえば、一部の観光名所はナビゲーション システムを通じて音声解説サービスを提供し、観光客に豊かな訪問体験を提供できます。また、旅行代理店はシステムを使用してユーザーの好みを分析し、より適切な旅行ルートを推奨し、顧客満足度とロイヤルティを向上させることができます。

    1. 研究状況

国内、観光ナビゲーション システムの研究と応用は一定の注目と開発を集めています。観光スポットの紹介、交通ガイド、ホテルの予約など、観光関連情報を統合して表示する研究が数多く行われています。これらの研究では、ユーザーが目的地の特徴やさまざまなサービスを理解できるように、ウェブサイトやアプリケーションを開発することで、詳細な観光情報を提供します。便利なナビゲーションサービスを提供するために、旅行ナビゲーションやルート計画アルゴリズムの開発に焦点を当てた研究もあります。これらのアルゴリズムは地理位置情報データと交通情報に基づいており、ユーザーに最適な旅行ルートと交通手段を提供します。ユーザー エクスペリエンスを向上させるために、ユーザー インターフェイスのデザインとパーソナライズされた推奨システムの開発に焦点を当てた研究もあります。これらのシステムは、ユーザーの興味や好みを分析することで、ユーザーにパーソナライズされた旅行の推奨事項やカスタマイズされたサービスを提供できます。インターネット技術の発展に伴い、旅行ナビゲーション システムの研究においては、データ セキュリティとプライバシー保護が重要な問題となっています。ユーザーの個人情報のセキュリティを保護するために、安全なデータ送信および保管メカニズムの開発に重点を置いた研究もあります。旅行ナビゲーション システムの品質とサービス レベルを向上させるために、ユーザーのレビューとフィードバックの収集と分析に焦点を当てた研究もあります。ユーザーのレビューや意見を分析することで、問題を適時に発見し、改善を行ってより良いユーザー エクスペリエンスとサービスを提供することができます。

外国における観光ナビゲーションシステムの開発は比較的成熟しています。海外の研究は、機械学習と人工知能技術を使用して、ユーザーの興味や好みに基づいてパーソナライズされた旅行の推奨およびナビゲーション サービスを提供する、インテリジェント ナビゲーションおよび推奨システムの開発に焦点を当てています。モバイル デバイスの普及により、海外の研究は、クロスプラットフォーム アプリケーションの開発とモバイル テクノロジーを利用して旅行ナビゲーション サービスを提供することに焦点を当てています。これらの研究は、リアルタイム ナビゲーション、アトラクションの推奨、インタラクティブな地図などの機能をサポートする便利なモバイル アプリケーションを提供することに特化しています。海外の研究では、ソーシャルメディアとユーザー生成コンテンツを旅行ナビゲーションシステムの研究範囲に含めています。ソーシャル メディア データとユーザー レビューを統合することで、研究者はより包括的な旅行情報と実際のユーザー エクスペリエンス フィードバックをユーザーに提供できます。仮想現実 (VR) および拡張現実 (AR) 技術の発展に伴い、一部の海外研究ではそれらを観光ナビゲーションの分野に応用することに専念しています。 VRやAR技術を活用することで、ユーザーはより直感的かつ没入感のある方法でアトラクションやナビゲーションサービスを体験できるようになります。海外の研究では、持続可能な観光と環境保護に大きな注目が集まっています。一部の研究は、持続可能な開発を促進し、自然環境を保護するために、持続可能な旅行の推奨事項や環境に優しい旅行ルート計画を提供することに重点を置いています。

一般に、外国観光ナビゲーション システムの研究には、インテリジェント ナビゲーションおよびレコメンデーション システム、クロスプラットフォーム アプリケーションとモバイル テクノロジー、ソーシャル メディアとユーザー生成コンテンツ、仮想現実と拡張現実テクノロジー、持続可能な観光と環境保護が含まれます。これらの研究結果は、観光客に、より便利でパーソナライズされた没入型のナビゲーションと旅行体験を提供します。本研究では、海外の研究成果を活用し、地域の特性と組み合わせて、観光情報やサービスに対する観光客のニーズを満たす、総合的で正確かつ使いやすい観光ナビゲーションシステムを開発します。

    1. 論文構成の整理

論文は階層的に構成されており、要約、謝辞、文献参照に加えて、本文でもシステム要件を分析し、一般的な設計と実装された機能について説明し、最後にいくつかのデバッグ記録をリストします。以下のとおりであります:

第 1 章では、プロジェクトの背景、本システムの開発状況、論文の章構成について説明します。

第 2 章では、システムの具体的な要件を分析します。

第 3 章では、システム設計について説明します。機能設計とデータベース設計が含まれます。

第 4 章では、観光ナビゲーション システムの各機能モジュールの実装を明確にし、画像とテキストの形式で表示します。

第 5 章では、システムのデバッグとテストの記録をいくつか示します。

第 6 章では、観光ナビゲーション システムの結論を示します。

  • 第2章システム要件の分析

システムを開発する前に最初に行うべきことは要件分析です。システムが開発する価値がなかったり、関連する法規制に違反したりすると、開発したシステムは価値がなくなってしまいます。したがって、開発前にシステム要件を分析する必要があります。開発が可能であれば、具体的にユーザーのニーズを分析し、システムの機能を分析し、システムのパフォーマンスを分析します。

    1. システムの実現可能性分析
      1. 技術的な実現可能性の分析

技術の実現可能性は主に、観光ナビゲーション システムを開発する際に使用される開発言語とデータベースが実現可能かどうかを検討することです。このシステムは言語として Java を選択し、SpringBoot フレームワークと MYSQL データベースを使用します。これらの技術は現在非常に成熟しており、JAVA を使用します。言語はプロセス指向だけでなくオブジェクト指向にも対応しているため、より柔軟に利用でき、技術選択にも困りません。

      1. 経済的実現可能性分析

経済的実現可能性の主な考慮事項は、コストとメリットです。コストの観点から見ると、開発プロセスで使用される JAVA、SpringBoot、MYSQL などは、オンライン検索を通じて無料でダウンロードできます。メリットの観点 ほら、システムが完成すればユーザーへのサポートが得られ、企業のコスト削減や経営の効率化が図れるので、経済的には問題ありません。

    1. システム機能要件の分析

トラベルナビゲーションシステムは、一般ユーザーに総合的な旅行情報の照会、観光スポットのチケット購入、ホテルの予約機能を提供すると同時に、管理者はWebサイトのさまざまなコンテンツや機能を簡単に管理できます。このような機能設定により、ユーザーに便利な旅行サービスを提供し、旅行業界向けの包括的かつ効率的なオンラインプラットフォームを構築します。

      1. 法的実現可能性分析

主な法的考慮事項は、システムの開発が違法かどうかです。開発された観光ナビゲーション システムは、「中華人民共和国コンピュータ ソフトウェア保護規則」、「中華人民共和国著作権法」およびその他の法律を厳格に遵守しています。システムの開発は企業に利益をもたらす可能性があり、違法性はありませんので、法的に可能です。

      1. 運用可能性分析

運用面では、利用者や管理者が簡単に操作できるか、コンピュータ基盤を持たない利用者でも利用できるかが重要なポイントとなり、開発した観光ナビゲーションシステムは「簡単」「使いやすさ」をコンセプトに設計されています。最後に固定のナビゲーションボタンがあり、文字を読めば操作が完了し、管理者は追加、削除、修正、確認するだけで済むので、学習環境でも実現可能です。手術。

一般的に言えば、開発された観光ナビゲーションシステムは実現可能性の点で問題がなく、開発する価値があり、その他の完成度は業界の発展にとって非常に重要です。

一般ユーザー向けの主な機能は以下の通りです。

  1. 登録とログイン: ユーザーは、ホームページにアクセスするために、登録されたアカウントとパスワードを使用してログインする必要があります。
  2. ウェブサイトのお知らせ: ユーザーは、当社のウェブサイトのお知らせ、連絡先情報、その他の情報を閲覧できます。
  3. ヘルプのフィードバック: ユーザーは、ヘルプが必要なメッセージを投稿できます。
  4. ルート計画: ルート名、通過した景勝地、旅行費用、旅行日数などの紹介、地図の閲覧、いいね、コレクション、コメントなどの操作を行うことができます。
  5. アトラクション情報:アトラクション情報の一覧を表示し、アトラクションの紹介、交通案内、営業時間、アトラクションの紹介、アトラクションの評価などの最新の観光スポットの紹介を確認できます。また、興味のあるアトラクションやレトログラードに対して「いいね」をしたり、収集したり、コメントしたりすることもできます。旅行。
  6. 食べ物情報:食べ物の名前、種類、特徴、写真表示など、おすすめの食べ物情報を表示します。ユーザーは、いいね、収集、コメントなどの操作を選択できます。
  7. 宿泊施設情報: ユーザーは、宿泊施設情報のリストを表示し、民名、星評価、連絡先番号、住所、その他の情報を含む宿泊施設情報の詳細を表示することができ、また、「いいね!」、収集、コメントすることもできます。
  8. 旅行情報:その場所の旅行情報の詳細な紹介を閲覧したり、興味のある観光スポットに対して「いいね」をしたり、収集したり、コメントしたりすることができます。
  9. パーソナル センター: ユーザーは、アバター、ニックネーム、連絡先情報などを含む個人情報を管理できます。自分のコレクションを表示したり、掲示板を管理したりすることもできます。

管理者側:

  1. バックエンド ホームページ: 管理者アカウントには、バックエンド ホームページに入るアカウント ログイン アカウントとパスワードがあります。
  2. システムユーザー管理:管理者および一般ユーザーのアカウント情報を管理し、ユーザーの追加、ユーザー情報の変更、ユーザーの削除などの操作を行います。
  3. ルート計画管理: ルート名、通過した景勝地、旅行費用、旅行日数、適切な混雑状況、ルート戦略、その他の情報の追加を含む、ルート計画リストの追加を管理します。
  4. アトラクション分類管理: 管理者はアトラクション分類リストを管理および追加できます。
  5. アトラクション情報管理:アトラクション名、アトラクション分類、アトラクションプロモーション、営業時間、評価、連絡先などの情報を管理し、アトラクション情報リストに追加します。
  6. 食品の種類の管理: 管理者は食品の種類を管理し、リストに追加できます。
  7. 食品情報管理: 食品名、食品の種類、食品プロモーション、食品の場所、食品の言及、その他の情報を含む情報を管理し、食品情報リストに追加します。
  8. 宿泊施設情報管理: おすすめの宿泊施設情報リストを管理し、B&B 名、B&B の星評価、連絡先番号、B&B の場所、B&B サービス、その他の情報を含む宿泊施設情報を追加します。
  9. システム管理:カルーセル画像の画像やリンクの追加・編集・削除など、ホームページ上のカルーセル画像の表示・切り替えを管理します。
  10. メッセージ管理: 管理者は、ユーザーのメッセージからのフィードバックへの応答を支援します。
  11. ウェブサイトのお知らせ管理:お知らせやお知らせのタイトル、内容、有効期間の追加、編集、削除など、お知らせやお知らせの公開と表示を管理します。
  12. リソース管理: 情報のタイトル、内容、写真、公開日の追加、編集、削除など、旅行情報の公開と表示を管理します。
    1. 体系的な要件分析

トラベルナビゲーションシステムの性能要件分析では、主にシステムの安全性(ユーザーの個人情報が漏洩しないか)、信頼性(ユーザーが実際の操作に応じて情報を表示できるか)、性能(操作が適切かどうか)を分析します。スムーズ)、拡張性はどうなのか(機能を拡張し続けることができるか)など。詳細は次の 2.1 表で表すことができます。

表2.1 トラベルナビゲーションシステムの非機能要件表

安全性

主に指すのはトラベルナビゲーションシステムデータベースのインストール、データベースの使用、およびパスワードの設定は規制に準拠する必要があります。

信頼性

信頼性とはトラベルナビゲーションシステムテスト後、ユーザーの指示に従って動作することができ、信頼性は 90% 以上です。

パフォーマンス

パフォーマンスに影響が出るトラベルナビゲーションシステム市場を占有するための必須条件であるため、パフォーマンスは最高である必要があります。

スケーラビリティ

たとえば、データベースは、システムの非機能要件を確実に満たすために、インターフェイスの使用などの複数の属性を予約します。

使いやすさ

ユーザーはフォローするだけで済みますトラベルナビゲーションシステムページ表示内容に対して操作を行うだけです。

保守性

トラベルナビゲーションシステム開発の保守性は非常に重要です。テスト後の保守性は問題ありません。

    1. システムのユースケース分析

旅行ナビゲーションシステムは、一般のユーザーに総合的な旅行情報の照会、観光スポットのチケット購入、ホテルの予約などの機能を提供します。ユーザーのユースケース図を以下に示します。

図 2.1 ユーザー役割のユースケース図

図 2.2 管理者の役割の使用例図

    1. システムプロセス分析
      1. データフローの追加

システム内のすべてのユーザー (管理者とユーザー) がデータを追加できます。図 2.3 は、データを追加するプロセスを示しています。

図 2.3 データ追加のフローチャート

      1. データフローを変更する

システム情報を入力するときに情報が間違っている場合は、システム内のデータを編集できます。図 2.4 は、データを変更するプロセスを示しています。

図 2.4 データ変更のフローチャート

      1. データ削除処理

ユーザーのログアウトなど、期限切れのデータがシステムに表示されることがよくあります。図 2.5 は、データを削除する際のフローチャートです。

図2.5 データ削除フローチャート

  • 第3章システム全体の設計

システムの実現可能性と機能を分析したら、次のステップではシステムを具体的に設計します。機能分析を通じて、システムが具体的にどのような機能を実装しているかを判断します。この章では、システムの機能モジュールとデータベースの 2 つの側面からシステムの機能設計を紹介します。

    1. システム機能モジュール設計

前章の機能要件分析により、このトラベル ナビゲーション システムの機能構成図が得られます。図 3.1 は、システムの機能モジュール図です。

図3.1 トラベルナビゲーションシステムの機能モジュール図

    1. データベース設計

データベースの設計はシステムの基礎であり、どんなに美しいインターフェイス設計であっても、データベースを設計するときにそれがサポートされていなければ動作しません。では、以下に示すように、最初にデータベースを分析し、次に概念モデルを開発し、最後にデータベース テーブルを作成します。

      1. データベースの概念構造設計

データベース概念モデルを設計する場合、通常は ER エンティティ図を使用して、データベース テーブル内のすべてのフィールド名をエンティティ図に表示できます。このシステムの主要なデータベース ER モデル図を次の図に示します。

図 3.2 人気アトラクションの ER 関係図

図3.3 食品情報ER関係図

図3.4 宿泊情報ER関係図

      1. データベーステーブルの設計

データベース テーブルでは、システムのテーブル名、主キー、外部キー、およびその他の情報が表示され、データベース テーブルの主キーと外部キーを介して各テーブルが関連付けられ、それがメイン データベースのインターフェイスに表示されます。このトラベルナビゲーションシステムの表は次のとおりです。

テーブル access_token (ログインアクセス期間)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

トークンID

整数

10

0

いいえ

はい

一時的なアクセスバッジID

2

トークン

varchar

64

0

はい

いいえ

一時的なアクセスバッジ

3

情報

文章

65535

0

はい

いいえ

4

最大年齢

整数

10

0

いいえ

いいえ

2

最大寿命: デフォルト 2 時間

5

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

6

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

7

ユーザーID

整数

10

0

いいえ

いいえ

0

ユーザーID:

テーブル 宿泊施設_情報 (宿泊施設情報)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

宿泊施設情報ID

整数

10

0

いいえ

はい

宿泊情報ID

2

ホームステイ名

varchar

64

0

はい

いいえ

B&B名

3

ホームステイポスター

varchar

255

0

はい

いいえ

民宿のポスター

4

ホームステイの星評価

varchar

64

0

はい

いいえ

B&Bの星評価

5

住宅金融

varchar

64

0

はい

いいえ

住居費

6

連絡先の電話番号

varchar

64

0

はい

いいえ

連絡先番号

7

ホームステイ場所

varchar

64

0

はい

いいえ

B&Bの場所

8

最新割引

文章

65535

0

はい

いいえ

最新のオファー

9

サポート施設

文章

65535

0

はい

いいえ

支援施設

10

ホームステイサービス

文章

65535

0

はい

いいえ

ホームステイサービス

11

ヒット

整数

10

0

いいえ

いいえ

0

クリック数

12

賞賛_len

整数

10

0

いいえ

いいえ

0

いいね数

13

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

14

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

表記事(記事:コンテンツ管理システムの記事)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

記事ID

中程度

8

0

いいえ

はい

記事ID: [0,8388607]

2

タイトル

varchar

125

0

いいえ

はい

Title: [0,125]は記事やHTMLのタイトルタグに使用されます

3

タイプ

varchar

64

0

いいえ

いいえ

0

記事分類: [0,1000] は、指定されたタイプの記事を検索するために使用されます

4

ヒット

整数

10

0

いいえ

いいえ

0

クリック数: [0,1000000000] この記事を訪れた人の数

5

賞賛_len

整数

10

0

いいえ

いいえ

0

いいね数

6

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

7

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

8

ソース

varchar

255

0

はい

いいえ

出典: [0,255] 記事の出典

9

URL

varchar

255

0

はい

いいえ

ソースアドレス: [0,255] は記事が公開された Web サイトにジャンプするために使用されます

10

鬼ごっこ

varchar

255

0

はい

いいえ

タグ: [0,255] は、記事の関連コンテンツをマークするために使用されます。複数のタグはスペースで区切られます。

11

コンテンツ

長文

2147483647

0

はい

いいえ

本文:記事の主な内容

12

画像

varchar

255

0

はい

いいえ

表紙絵

13

説明

文章

65535

0

はい

いいえ

記事の説明

テーブルarticle_type(記事分類)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

タイプID

小さい整数

5

0

いいえ

はい

カテゴリID: [0,10000]

2

画面

小さい整数

5

0

いいえ

いいえ

100

表示順序: [0,1000] により、カテゴリが表示される順序が決まります。

3

名前

varchar

16

0

いいえ

いいえ

カテゴリ名: [2,16]

4

父親ID

小さい整数

5

0

いいえ

いいえ

0

親カテゴリID: [0,32767]

5

説明

varchar

255

0

はい

いいえ

説明: [0,255] は、この分類の役割を説明します。

6

アイコン

文章

65535

0

はい

いいえ

カテゴリアイコン:

7

URL

varchar

255

0

はい

いいえ

外部リンクアドレス:[0,255] このカテゴリから他のサイトに飛ぶ場合はURLに設定してください

8

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

9

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

テーブルattraction_information (アトラクション情報)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

アトラクション情報ID

整数

10

0

いいえ

はい

アトラクション情報ID

2

アトラクションID

varchar

64

0

はい

いいえ

アトラクション番号

3

アトラクション名

varchar

64

0

はい

いいえ

アトラクション名

4

観光地の分類

varchar

64

0

はい

いいえ

アトラクションの分類

5

アトラクションポスター

varchar

255

0

はい

いいえ

アトラクションポスター

6

アトラクションプロモーション

varchar

255

0

はい

いいえ

魅力推進

7

一人当たり価格

整数

10

0

はい

いいえ

0

一人当たりの価格

8

営業時間

varchar

64

0

はい

いいえ

営業時間

9

景勝地の評価

varchar

64

0

はい

いいえ

観光スポットの評価

10

連絡先の電話番号

varchar

16

0

はい

いいえ

連絡先番号

11

アトラクションサービス

文章

65535

0

はい

いいえ

アトラクションサービス

12

景勝地の紹介

文章

65535

0

はい

いいえ

アトラクション紹介

13

ヒット

整数

10

0

いいえ

いいえ

0

クリック数

14

賞賛_len

整数

10

0

いいえ

いいえ

0

いいね数

15

推薦する

整数

10

0

いいえ

いいえ

0

インテリジェントな推奨事項

16

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

17

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブル認証 (ユーザー権限管理)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

認証ID

整数

10

0

いいえ

はい

認可ID:

2

ユーザー・グループ

varchar

64

0

はい

いいえ

ユーザー・グループ:

3

モジュール名

varchar

64

0

はい

いいえ

モジュール名:

4

テーブル名

varchar

64

0

はい

いいえ

テーブル名:

5

ページタイトル

varchar

255

0

はい

いいえ

ページタイトル:

6

パス

varchar

255

0

はい

いいえ

ルーティングパス:

7

位置

varchar

32

0

はい

いいえ

位置:

8

モード

varchar

32

0

いいえ

いいえ

_空白

ジャンプ方法:

9

追加

ちっちゃい

3

0

いいえ

いいえ

1

以下を追加することは可能ですか?

10

デル

ちっちゃい

3

0

いいえ

いいえ

1

削除できますか:

11

セット

ちっちゃい

3

0

いいえ

いいえ

1

変更できるかどうか:

12

得る

ちっちゃい

3

0

いいえ

いいえ

1

閲覧することは可能ですか:

13

フィールド追加

文章

65535

0

はい

いいえ

フィールドを追加します。

14

フィールドセット

文章

65535

0

はい

いいえ

フィールドを変更します。

15

フィールド取得

文章

65535

0

はい

いいえ

クエリフィールド:

16

テーブルナビゲーション名

varchar

500

0

はい

いいえ

クロステーブル ナビゲーション名:

17

テーブルナビゲーション

varchar

500

0

はい

いいえ

テーブル間のナビゲーション:

18

オプション

文章

65535

0

はい

いいえ

構成:

19

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

20

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

テーブルclassification_of_tourist_attractions(観光名所分類)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

観光地分類ID

整数

10

0

いいえ

はい

アトラクション分類ID

2

タイプ名

varchar

64

0

はい

いいえ

型名

3

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

4

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブル収集 (コレクション)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

収集ID

整数

10

0

いいえ

はい

コレクションID:

2

ユーザーID

整数

10

0

いいえ

いいえ

0

コレクターID:

3

ソーステーブル

varchar

255

0

はい

いいえ

ソーステーブル:

4

ソースフィールド

varchar

255

0

はい

いいえ

ソースフィールド:

5

ソースID

整数

10

0

いいえ

いいえ

0

ソースID:

6

タイトル

varchar

255

0

はい

いいえ

タイトル:

7

画像

varchar

255

0

はい

いいえ

カバー:

8

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

9

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

テーブルコメント(コメント)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

コメントID

整数

10

0

いいえ

はい

コメントID:

2

ユーザーID

整数

10

0

いいえ

いいえ

0

コメント投稿者ID:

3

返信先ID

整数

10

0

いいえ

いいえ

0

返信コメントID: 空は0

4

コンテンツ

長文

2147483647

0

はい

いいえ

コンテンツ:

5

ニックネーム

varchar

255

0

はい

いいえ

ニックネーム:

6

アバター

varchar

255

0

はい

いいえ

アバターアドレス: [0,255]

7

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

8

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

9

ソーステーブル

varchar

255

0

はい

いいえ

ソーステーブル:

10

ソースフィールド

varchar

255

0

はい

いいえ

ソースフィールド:

11

ソースID

整数

10

0

いいえ

いいえ

0

ソースID:

テーブル food_information (食品情報)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

食品情報ID

整数

10

0

いいえ

はい

食品情報ID

2

食べ物の名前

varchar

64

0

はい

いいえ

食品名

3

食品の種類

varchar

64

0

はい

いいえ

料理の種類

4

食べ物ポスター

varchar

255

0

はい

いいえ

食品ポスター

5

食品プロモーション

varchar

255

0

はい

いいえ

食のプロモーション

6

食べ物の場所

varchar

64

0

はい

いいえ

グルメスポット

7

食品特性

文章

65535

0

はい

いいえ

食品の特徴

8

食べ物の暗示

文章

65535

0

はい

いいえ

食べ物の暗示

9

ヒット

整数

10

0

いいえ

いいえ

0

クリック数

10

賞賛_len

整数

10

0

いいえ

いいえ

0

いいね数

11

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

12

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブル food_types (食品の種類)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

食品の種類ID

整数

10

0

いいえ

はい

食品の種類ID

2

タイプ名

varchar

64

0

はい

いいえ

型名

3

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

4

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブルのヒット数 (ユーザーのクリック数)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

ヒットID

整数

10

0

いいえ

はい

いいねID:

2

ユーザーID

整数

10

0

いいえ

いいえ

0

気に入った人:

3

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

4

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

5

ソーステーブル

varchar

255

0

はい

いいえ

ソーステーブル:

6

ソースフィールド

varchar

255

0

はい

いいえ

ソースフィールド:

7

ソースID

整数

10

0

いいえ

いいえ

0

ソースID:

テーブルメッセージ(メッセージボード)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

メッセージID

整数

10

0

いいえ

はい

掲示板ID:

2

ユーザーID

整数

10

0

いいえ

いいえ

0

ユーザーID:

3

タイトル

varchar

64

0

はい

いいえ

タイトル:

4

コンテンツ

長文

2147483647

0

いいえ

いいえ

コンテンツ:

5

ニックネーム

varchar

32

0

いいえ

いいえ

ニックネーム:

6

アバター

varchar

255

0

はい

いいえ

アバター:

7

Eメール

varchar

125

0

はい

いいえ

コメント投稿者のメールアドレス

8

電話

varchar

11

0

はい

いいえ

メッセージ送信者の携帯電話番号

9

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

10

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

11

返事

長文

2147483647

0

はい

いいえ

返事

12

返信状態

ちっちゃい

4

0

はい

いいえ

0

返信ステータス

お知らせ(お知らせ)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

通知ID

中程度

8

0

いいえ

はい

お知らせID:

2

タイトル

varchar

125

0

いいえ

いいえ

タイトル:

3

コンテンツ

長文

2147483647

0

はい

いいえ

文章:

4

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

5

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

褒め言葉を表現する(「いいね!」)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

賞賛ID

整数

10

0

いいえ

はい

いいねID:

2

ユーザーID

整数

10

0

いいえ

いいえ

0

気に入った人:

3

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

4

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

5

ソーステーブル

varchar

255

0

はい

いいえ

ソーステーブル:

6

ソースフィールド

varchar

255

0

はい

いいえ

ソースフィールド:

7

ソースID

整数

10

0

いいえ

いいえ

0

ソースID:

8

状態

少し

1

0

いいえ

いいえ

1

いいねステータス:1はいいね、0はキャンセル

テーブル registered_users (登録済みユーザー)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

登録ユーザーID

整数

10

0

いいえ

はい

ユーザーIDを登録する

2

ユーザー名

varchar

64

0

はい

いいえ

ユーザー名

3

ユーザーの性別

varchar

64

0

はい

いいえ

ユーザーの性別

4

携帯電話番号

varchar

16

0

はい

いいえ

電話番号

5

検査状態

varchar

16

0

いいえ

いいえ

合格した

承認状況

6

ユーザーID

整数

10

0

いいえ

いいえ

0

ユーザーID

7

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

8

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブルroute_planning (ルート計画)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

ルート計画ID

整数

10

0

いいえ

はい

ルート計画ID

2

ルート名

varchar

64

0

はい

いいえ

路線名

3

景勝地を通過する

varchar

64

0

はい

いいえ

景勝地を巡る

4

表示画像

varchar

255

0

はい

いいえ

写真を表示する

5

旅費

varchar

64

0

はい

いいえ

旅行代金

6

旅行日数

varchar

64

0

はい

いいえ

旅行日数

7

聴衆に適した

varchar

64

0

はい

いいえ

群衆に適しています

8

ルートガイド

文章

65535

0

はい

いいえ

ルート案内

9

ヒット

整数

10

0

いいえ

いいえ

0

クリック数

10

賞賛_len

整数

10

0

いいえ

いいえ

0

いいね数

11

作成時間

日付時刻

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間

12

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間

テーブル スライド (カルーセル)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

スライドID

整数

10

0

いいえ

はい

カルーセル画像 ID:

2

タイトル

varchar

64

0

はい

いいえ

タイトル:

3

コンテンツ

varchar

255

0

はい

いいえ

コンテンツ:

4

URL

varchar

255

0

はい

いいえ

リンク:

5

画像

varchar

255

0

はい

いいえ

カルーセル画像:

6

ヒット

整数

10

0

いいえ

いいえ

0

クリック数:

7

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

8

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

テーブルアップロード(ファイルアップロード)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

アップロードID

整数

10

0

いいえ

はい

アップロードID

2

名前

varchar

64

0

はい

いいえ

ファイル名

3

パス

varchar

255

0

はい

いいえ

アクセスパス

4

ファイル

varchar

255

0

はい

いいえ

ファイルパス

5

画面

varchar

255

0

はい

いいえ

表示順

6

父親ID

整数

10

0

はい

いいえ

0

親ID

7

ディレクトリ

varchar

255

0

はい

いいえ

フォルダ

8

タイプ

varchar

32

0

はい

いいえ

ファイルの種類

テーブル user (ユーザー アカウント: ユーザーのログイン情報を保存するために使用されます)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

ユーザーID

中程度

8

0

いいえ

はい

ユーザーID: [0,8388607] ユーザーはその他のユーザー関連データを取得します

2

小さい整数

5

0

いいえ

いいえ

1

アカウントのステータス: [0,10](1 利用可能 | 2 異常 | 3 凍結 | 4 ログアウト)

3

ユーザー・グループ

varchar

32

0

はい

いいえ

ユーザー グループ: [0,32767] はユーザー ID と権限を決定します

4

ログイン時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

最終ログイン時間:

5

電話

varchar

11

0

はい

いいえ

携帯電話番号: [0,11] ユーザーの携帯電話番号。パスワードの取得またはログインに使用されます。

6

電話の状態

小さい整数

5

0

いいえ

いいえ

0

携帯電話認証: [0,1] (0 は未認証 | 1 は審査中 | 2 は認証済み)

7

ユーザー名

varchar

16

0

いいえ

いいえ

ユーザー名: [0,16] ユーザーがログインに使用するアカウント名

8

ニックネーム

varchar

16

0

はい

いいえ

ニックネーム: [0,16]

9

パスワード

varchar

64

0

いいえ

いいえ

パスワード: [0,32] ユーザーログインに必要な6~16桁または英語のパスワード。

10

Eメール

varchar

64

0

はい

いいえ

電子メール: [0,64] ユーザーの電子メール。パスワードの取得またはログインに使用されます。

11

メールアドレス

小さい整数

5

0

いいえ

いいえ

0

電子メール認証: [0,1] (0 は未認証 | 1 は審査中 | 2 は認証済み)

12

アバター

varchar

255

0

はい

いいえ

アバターアドレス: [0,255]

13

オープンID

varchar

255

0

はい

いいえ

ユーザー情報フィールドの取得用

14

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

15

VIPレベル

varchar

255

0

はい

いいえ

会員レベル

16

VIP割引

ダブル

11

2

はい

いいえ

0.00

会員割引

テーブル user_group (ユーザー グループ: ユーザーのフロントエンド ID と認証に使用されます)

シリアルナンバー

名前

データの種類

長さ

小数位

Null値を許可する

主キー

デフォルト値

説明する

1

グループID

中程度

8

0

いいえ

はい

ユーザーグループID: [0,8388607]

2

画面

小さい整数

5

0

いいえ

いいえ

100

表示順:[0,1000]

3

名前

varchar

16

0

いいえ

いいえ

名前: [0,16]

4

説明

varchar

255

0

はい

いいえ

説明: [0,255] このユーザー グループの権限の特性または範囲を説明します。

5

ソーステーブル

varchar

255

0

はい

いいえ

ソーステーブル:

6

ソースフィールド

varchar

255

0

はい

いいえ

ソースフィールド:

7

ソースID

整数

10

0

いいえ

いいえ

0

ソースID:

8

登録する

小さい整数

5

0

はい

いいえ

0

登録場所:

9

作成時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

作成時間:

10

更新時間

タイムスタンプ

19

0

いいえ

いいえ

現在のタイムスタンプ

更新時間:

  • 第4章主要モジュールの設計と実装
    1. ログインモジュール

管理者とユーザーはログイン インターフェイスにアカウント番号とパスワードを入力し、確認を完了し、アカウント番号とパスワードが正しい場合、システムは管理者とユーザーのアカウントをユーザー データベース テーブルに照合します。を選択すると、各ユーザーのメイン管理インターフェイスにログインします。それ以外の場合は、対応する情報が表示され、ユーザーは下の図 4.1 に示すように、メイン インターフェイスに戻ります。

図4.1 ログインインターフェース図

ログインコードは次のとおりです。

/**

* ログイン

* @param データ

* @param httpServletRequest

* @戻る

     */

@PostMapping("ログイン")

公開マップ<String, Object>ログイン(@RequestBody マップ<String, String>データ、HttpServletRequest httpServletRequest) {

log.info("[ログインインターフェースの実行]");

文字列 username = data.get("username");

文字列メール = data.get("email");

文字列 phone = data.get("phone");

文字列パスワード = data.get("password");

リスト resultList = null;

地図<String, String>マップ = 新しい HashMap&lt;&gt;();

if(ユーザー名 != null && "".equals(ユーザー名) == false){

map.put("ユーザー名", ユーザー名);

結果リスト = service.selectBaseList(service.select(map, new HashMap&lt;&gt;()));

        }

そうでない場合、(email != null && "".equals(email) == false){

map.put("メール", メール);

結果リスト = service.selectBaseList(service.select(map, new HashMap&lt;&gt;()));

        }

そうでない場合、if(phone != null && "".equals(phone) == false){

map.put("電話番号", 電話番号);

結果リスト = service.selectBaseList(service.select(map, new HashMap&lt;&gt;()));

}それ以外{

return error(30000、「アカウントまたはパスワードを空にすることはできません」);

        }

if (結果リスト == null || パスワード == null) {

return error(30000、「アカウントまたはパスワードを空にすることはできません」);

        }

//このユーザーが存在するかどうかを判断します

(結果リストのサイズ()&lt;=0)の場合{

return error(30000,"ユーザーが存在しません");

        }

ユーザー byUsername = (User) resultList.get(0);

地図<String, String>グループマップ = 新しいハッシュマップ&lt;&gt;();

groupMap.put("名前",byUsername.getUserGroup());

リスト groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap&lt;&gt;()));

(グループリストのサイズ()&lt;1)の場合{

return error(30000,"ユーザーグループが存在しません");

        }

ユーザーグループ userGroup = (ユーザーグループ) groupList.get(0);

//ユーザーのレビューステータスを問い合わせる

StringUtils.isEmpty(userGroup.getSourceTable()) の場合{

文字列 res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

(res==null)の場合{

return error(30000,"ユーザーが存在しません");

            }

if (!res.equals("合格")){

return error(30000,"このユーザーはレビューに合格できませんでした");

            }

        }

//ユーザーステータスを問い合わせる

if (byUsername.getState()!=1){

return error(30000、「ユーザーが利用できないため、ログインできません」);

        }

文字列 md5password = service.encryption(password);

if (byUsername.getPassword().equals(md5password)) {

// トークンをデータベースに保存する

アクセストークン accessToken = 新しい AccessToken();

accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

accessToken.setUser_id(byUsername.getUserId());

期間duration = Duration.ofSeconds(7200L);

redisTemplate.opsForValue() を設定します (accessToken.getToken(), accessToken,duration);

//ユーザー情報を返す

JSONObject ユーザー = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

user.put("トークン", accessToken.getToken());

JSONObject ret = 新しい JSONObject();

ret.put("obj",ユーザー);

成功を返します(ret);

} それ以外 {

return error(30000、「アカウントまたはパスワードが間違っています」);

        }

    }

    1. レジスタモジュール

ユーザーはログイン インターフェースにアカウント番号とパスワードを入力し、認証を完了し、「ログイン」ボタンをクリックすると、アカウント番号とパスワードが一致する場合、システムは管理者とユーザーのアカウントを照合します。正しい場合、ユーザーはメイン管理インターフェイスにログインします。そうでない場合は、対応する情報が表示され、ユーザーは下の図 4.2 に示すログイン インターフェイスに戻ります。

図 4.1 登録インターフェース図

登録コードは次のとおりです。

/**

* 登録する

* @param ユーザー

* @戻る

     */

@PostMapping("登録")

公開マップ<String, Object>サインアップ(@RequestBody ユーザー ユーザー) {

//ユーザーのクエリ

地図<String, String>クエリ = 新しい HashMap&lt;&gt;();

地図<String,Object>マップ = JSON.parseObject(JSON.toJSONString(ユーザー));

クエリを実行すると、username という文字列が返されます。

リスト list = service.selectBaseList(service.select(query, new HashMap&lt;&gt;()));

(リスト.size()&gt;0)の場合{

return error(30000, "ユーザーはすでに存在します");

        }

map.put("パスワード",service.encryption(String.valueOf(map.get("パスワード"))));

service.insert(マップ);

成功(1)を返す。

}  

    1. パスワード変更モジュール

ユーザーがシステムを使用して登録を完了した後、ユーザーがログインパスワードを変更する必要がある場合、システムはユーザーにパスワードを変更する許可を与えることもできます。システム内のすべてのオペレータは、自分のパスワード情報を変更できます。この機能を実行するには、まずシステムにログインし、次にパスワード変更オプションを選択し、指定されたテキスト ボックスに初期パスワードと新しいパスワードを入力して完了します。パスワード変更操作。入力時に 2 つのパスワード入力に相違がある場合、パスワード変更操作は失敗します。次の図は、このセクションの対応するインターフェイスを示しています。インターフェースは以下のとおりです。

図 4.3 パスワード変更インターフェース図

パスワード変更コードは次のとおりです。

  /**

* パスワードを変更する

* @param データ

* @param リクエスト

* @戻る

     */

@PostMapping("パスワード変更")

公開マップ<String, Object> change_password(@RequestBody マップ<String, String>データ、HttpServletRequest リクエスト){

// トークンに基づいて UserId を取得します

文字列トークン = request.getHeader("x-auth-token");

整数 userId = tokenGetUserId(トークン);

// UserId と古いパスワードに基づいてユーザーを取得します

地図<String, String>クエリ = 新しい HashMap&lt;&gt;();

文字列 o_password = data.get("o_password");

クエリを入力します("user_id"、文字列値(userId));

query.put("パスワード"、service.encryption(o_password));

int count = service.selectBaseCount(service.count(クエリ、service.readConfig(リクエスト)));

if(カウント &gt; 0){

// パスワードを変更する

地図<String,Object>フォーム = 新しい HashMap&lt;&gt;();

form.put("パスワード",service.encryption(data.get("パスワード")));

service.update(クエリ、service.readConfig(リクエスト)、フォーム);

成功(1)を返す。

        }

return error(10000,"パスワードの変更に失敗しました!");

    }

    1. ルート計画モジュール
  1. ルート計画: ルート名、通過した景勝地、旅行費用、旅行日数などの紹介、地図の閲覧、いいね、コレクション、コメントなどの操作を行うことができます。インターフェースは以下のとおりです。

図 4.4 ルート計画インターフェース図

    1. アトラクション情報一覧

アトラクション情報:アトラクション情報の一覧を表示し、アトラクションの紹介、交通案内、営業時間、アトラクションの紹介、アトラクションの評価などの最新の観光スポットの紹介を確認できます。また、興味のあるアトラクションやレトログラードに対して「いいね」をしたり、収集したり、コメントしたりすることもできます。旅行。インターフェースは以下のとおりです。

図4.5 アトラクション情報インターフェース図

    1. グルメ情報一覧

食べ物情報一覧:食べ物の名前、種類、特徴、写真表示など、おすすめの食べ物情報を表示します。ユーザーは「いいね!」「集める」「コメント」などの操作を選択できます。インターフェースは以下のとおりです。

図 4.6 食品情報リストのインターフェース図

    1. 管理者のルート計画管理モジュール

ルート計画管理: ルート名、通過した景勝地、旅行費用、旅行日数、適切な混雑状況、ルート戦略、その他の情報の追加を含む、ルート計画リストの追加を管理します。インターフェースは以下のとおりです。

図 4.7 ルート計画管理インターフェース図

    1. 管理者アトラクション情報管理モジュール

アトラクション情報管理:アトラクション名、アトラクション分類、アトラクションプロモーション、営業時間、評価、連絡先などの情報を管理し、アトラクション情報リストに追加します。インターフェースは以下のとおりです。

図4.8 アトラクション情報管理インターフェース図

    1. 管理人の食事情報管理モジュール

食品情報管理: 食品名、食品の種類、食品プロモーション、食品の場所、食品の言及、その他の情報を含む情報を管理し、食品情報リストに追加します。インターフェースは以下のとおりです。

図 4.9 食品情報を追加するためのインターフェース図

    1. 管理者の宿泊施設管理モジュール

宿泊施設情報管理: おすすめの宿泊施設情報リストを管理し、B&B 名、B&B の星評価、連絡先番号、B&B の場所、B&B サービス、その他の情報を含む宿泊施設情報を追加します。インターフェースは以下のとおりです。

図4.10 ホテル予約インターフェース図

    1. 管理者システム管理モジュール

システム管理:カルーセル画像の画像やリンクの追加・編集・削除など、ホームページ上のカルーセル画像の表示・切り替えを管理します。インターフェースは以下のとおりです。

図 4.11 システム管理インターフェース図

  • 第5章システム実験と結果分析

この時点で、システムの開発は基本的に完了します。次に、システムの実験と結果を分析して、システムが正常に動作できることを確認してから、システムの実験と結果の分析の検出方法をテストします。テストはシステムです。完成の最後の段階で、テストされていないシステムは使用できません。そうしないと、バグが発生した場合に損失が発生します。以下では、テスト方法とテストの使用例を分析します。最後にシステムテストの結果を出します。

    1. 試験方法

システムテストにはブラックボックステストとホワイトボックステストの2種類があり、ブラックボックステストは一般に機能テストとも呼ばれます。私たちは、ユーザーとしてシステムをテストしているだけです。主に、これまでのテスト経験に基づいて、いくつかの重要な値を取得し、テスト ケースを通じてテストします。このテスト方法は、問題を見つけるための最も早い方法です。次に、いくつかの代表的なデータを見つけて、システム上でユースケース テストを実行します。ブラック ボックス テスト プロセスで一般的に使用されるテスト ツールは、結果テストと呼ばれます。ホワイトボックステストのプロセスでは、主にシステム開発の原則に基づいて、コードが特定の機能を完了したか、特定の実装が完了したかどうかをテストします。もちろん、このテスト方法は正しいですか?各関数には複数の実行パスがあるため、プログラム内の実行パスをテストすることで、開発されたコードにバグがあるかどうか、およびホワイトタイム中によく使用されるテスト ツールが期待どおりに実行されているかどうかを検出できます。 -box テストは、Jcontract、C++ Test、および CodeWizard です。

    1. システムテストケース

ログインモジュールの機能テスト:

表5.1 ログインモジュール機能テスト表

テスト名

テスト機能

運用プロセス

期待される結果

試験結果

ログインモジュールのテスト

ログイン成功

ユーザーはブラウザからトラベルナビゲーションシステムのログインインターフェースに入り、ユーザー名「admin」とパスワード「admin」を入力し、スライディングパズルの認証が完了したら「ログイン」ボタンをクリックします。

管理者が管理するインターフェイスに正常にログインしました

正しい

ログインモジュールのテスト

ログイン失敗

ユーザーは、ブラウザを通じてトラベル ナビゲーション システムのログイン インターフェイスに入り、ユーザー名: admin とパスワード 111 を入力し、スライディング パズルの検証が完了したら、[ログイン] ボタンをクリックします。

システムは「ユーザー名とパスワードが一致しません」というプロンプトを表示します

正しい

ユーザー情報追加機能テスト:

表5.2 ユーザ情報追加機能テストテーブル

テスト名

テスト機能

運用プロセス

期待される結果

試験結果

ユーザー情報追加モジュールのテスト

ユーザー情報が正常に追加されました

管理者は「システムユーザー」メニューの「ユーザー情報」をクリックすると、すべてのユーザー情報が表示され、「追加」ボタンをクリックし、アカウント番号、パスワード、ニックネーム、携帯電話番号、メールアドレスなどを入力します。 「送信」ボタンをクリックします。

プロンプトが正常に追加されました

正しい

ユーザー情報追加モジュールのテスト

ユーザー情報の追加に失敗しました

管理者は「システムユーザー」メニューの「ユーザー情報」をクリックすると、すべてのユーザー情報が表示されます。その他の情報を通常どおり入力し、「送信」ボタンをクリックします。

「追加に失敗しました。アカ​​ウントを空にすることはできません」というプロンプトが表示される

正しい

旅行情報のクエリ機能モジュールのテスト:

表 5.3 旅行情報情報機能を問い合わせるテストフォーム

テスト名

テスト機能

運用プロセス

期待される結果

試験結果

クエリ旅行情報情報機能テスト

クエリの成功ステータス

ユーザーがメニューバーの「旅行情報」をクリックすると、システム内のすべての旅行情報が表示されます。

検索が成功しました

正しい

人気のアトラクションには、機能モジュールのテストが追加されます。

表5.4 人気アトラクション機能テストテーブル追加

テスト名

テスト機能

運用プロセス

期待される結果

試験結果

人気アトラクションにモジュールテストを追加

人気アトラクションの追加に成功

「人気アトラクション」メニューをクリックし、アトラクション情報を入力して送信してください。

即時提出が成功しました

正しい

人気アトラクションにモジュールテストを追加

人気のアトラクションを追加できませんでした

人気アトラクションの情報を送信する場合は、アトラクションチケットは入力せず、通常通りその他の情報を入力して「送信」ボタンをクリックしてください。

「追加に失敗しました。情報を空にすることはできません」というプロンプトが表示される

正しい

    1. システムテスト結果

この章では、トラベル ナビゲーション システムのブラック アンド ホワイト ボックス テストを実施し、システムの一部の機能のユースケース分析を実施しました。システムは比較的安定しており、システムのすべての機能が基本的に使用できることがわかります。管理者とユーザーの旅行情報、人気の観光スポットの追加、ユーザー情報の追加などのニーズを満たすことができます。テストを通じて、システムの動作中にその機能が完了していることがわかります。入力エラー情報については、エラー情報を表示することができます。これは、ユーザーが入力中に入力した情報のどこにエラーがあるかを見つけるのに便利です。さらに、システム インターフェイスにはナビゲーション バーが備わっており、操作が非常に便利であり、ユーザーにとっては非常に価値のあるシステムです。

  • 第6章結論は

数ヶ月の苦労の末、このトラベルナビゲーションシステムは、学生時代にいくつかの小さなシステムを開発しましたが、それらはすべて教師の説明と支援を受けて完成しました。システム分析は直接開始する必要はありませんでした。システム設計から一貫して取り組んでおり、今回開発したトラベルナビゲーションシステムは私にとって非常に意義のあるものでした。

システムの開発にあたり、企業がユーザーの管理ニーズを満たすために開発したシステムにどのような機能を実装する必要があるかを把握するために、まず観光ナビゲーション システムのニーズを調査し、ニーズを分析しました。 MYSQL データベースは SpringBoot フレームワークを使用して設計および開発されており、CNKI ライブラリや学校図書館などを通じてこれらのテクノロジを参照して学習し、プログラミングの考え方や方法を習得できます。システム開発、システム導入の実現可能性、システムに求められる性能、システムの運用手順などを総合的に分析し、最終的なシステムの機能を決定します。システムの機能とデータベースを設計し、最後にシステムの実装と実装された機能のテストを行って、システムが安定して動作できることを確認します。

開発の過程では、初期段階の準備が不十分であったことや、開発段階での Java プログラミングの習熟が不十分であったことなど、私自身の多くの課題が明らかになりました。システム環境の設定にまだ問題があるため、プロジェクトの実行時にエラーが発生することがよくあります。学習には終わりがありません。情報を調べたり、講師にアドバイスを求めたりすることで、このプロジェクトの発展を通じて、これらの問題をより厳密に解決していきます。

参考文献

[1] Wu Linglin、SpringBoot ワイヤレス インターネット テクノロジーに基づく顧客関係管理システムの設計と実装、2023、20(24): 60-62。

[2] Huang Saiying、Springboot に基づく病院アーカイブ管理システムの設計 [J]、2023、40(11): 384-385。

[3] Lin Shengfeng、Yao Jinjiang、Lin Tao、Liu Jiaxiao、Tian Zhizhuo、Li Chao、SpringBoot ワイヤレス インターネット テクノロジーに基づく大学の研究室管理システムの設計、2023、20(18): 80-82。

[4] Wang Rong、Li Qiang、He Ying、Guo Ya、Wu Xiaomin、Yang Zhenglin、Huang Ywang、パーソナライズされた旅行推奨システムの設計と実装、[J]、2023 年、39(09):95-99。

[5] ying Li、Du Xiaonan、SpringBoot および Vue に基づくキャンパス ポイント システムの設計と実装、[J]、2023、40(07): 414-415。

[6] Li Qin、Cui Mingyang、Qian Yiwen、Liu Jingjing、SpringBoot に基づく大学院学術アーカイブ管理システムの開発 [J]、2023、19(18): 46-48+51。

[7] Li En、ユーザー推奨アルゴリズムに基づく武漢レッド観光プラットフォームの設計と実装、長江大学、2023 年。

[8] Wan Yanbing、Flink に基づくパーソナライズされた旅行推奨システムの研究開発、広西民族大学、2023 年。

[9] Yang Jiapeng、Zu Yuwei、Ji Jiaqi、Chen Lifang、Spark フレームワークに基づくウォーターフォール フュージョン旅行推奨システム、インテリジェント コンピューターとアプリケーション、2023、13(04): 142-146。

[10]Yu Yang.Springbootに基づく学生情報管理システムの設計と実装[J].Advances in Computer, Signals and Systems,2022,6(6):

[11] Chen Yong、協調フィルタリング アルゴリズムに基づく旅行推奨システムの設計 [J]、2022 年、41(30): 160-162。

[12] Zhang Min、Zhang Lamei、Chen Zhengyu、Web ベースの旅行推奨システム [J]、2022、23(10): 132-135。

[13] Chen Ling、Django Software に基づく中国のレッドツーリズム推奨システムの設計と実装、2022、43(09): 100-103。

[14] Xu Yang、ナレッジグラフに基づく旅行ルート推奨システム、内モンゴル大学、2022 年。

[15]Wu Hejing.Springbootに基づくコマースミドルオフィス管理システム[J].International Journal of Advanced Network, Monitoring and Controls,2022,7(2):32-45.

[16] 劉秀環、親子旅行推奨システムの設計と実装 [D]、2021 年。

[17] Li Wei、ビッグデータマイニング技術に基づくスマートツーリズム推奨システムの設計研究 [J]、2021、27(32): 117-120。

[18]Fuyuan Cheng.Springbootフレームワークに基づく中小企業向け人材採用管理システム[J].教育技術と心理学の進歩、2021、5(2):

[19]Guanhong Chen、Jiangming Xu.SpringBootフレームワークに基づく効率的な学習プラットフォームの設計と実装[J].電子情報科学ジャーナル、2020、6(1):

[20]Jian Chen、Chen Jian、Pan Hailan.SpringBootフレームワーク上の工数管理情報システムの設計[J].Journal of Physics: Conference Series、2020、1646(1):012136-。

ありがとう

「謝辞」は論文の終了を意味し、卒業研究が無事に完了することを意味します。これは、私の大学生活が終わりを迎えることを意味します。まずは先生方に感謝です、「山は春いっぱい、庭は緑いっぱい、桃も梅も春を争って笑顔が生まれる、東も西も北も春はいつもそこにある。」 「南、先生だけが注意を払ってくれます」と、彼らは私の勉強と生活のすべてを与えてくれました。彼は私に熱心に教えてくれました。次に、先生に感謝したいと思います。先生は私の卒業制作全体で指導的な役割を果たしました。私が困難に直面したときはいつでも、 、彼はいつも私をすぐに助け、答えを直接教えるのではなく、「釣りを教えるよりも釣りを教える方が良い」と教えてくれました。このインストラクターのアプローチは私にとってずっと有益でした。同時に、私はインストラクターから多くの開発スキルとテストを学びました。それは将来私にとって有益であり、それらの開発には言葉では言い表せないほどの抵抗を感じています。これからの人生で彼らのことを思い出すたびに、私の心は何にも代えがたい温かい気持ちになると思います。最後に、私自身と家族のサポートに感謝します。そして勉強への粘り強さで、私の将来の道はますます良くなると信じています。

プロジェクトのソースコードを無料で入手するには、フォローしてください❥ いいね!を集めてブロガーにプライベートメッセージを送信してください、ありがとうございます~