情報化社会においては、情報の入手手段の絞り込みが求められていますが、基本的には手段の拡大が人々の目指す方向であり、視点の偏りにより、異なる種類の情報を入手することも多くなり、それもまた問題です。テクノロジーが克服するのが最も困難な問題。ビューティーショッピングプラットフォームなどの課題を踏まえ、ビューティーショッピングプラットフォームの調査・分析を行い、課題を解決するビューティーショッピングプラットフォームの開発・設計を行います。
ビューティーショッピングプラットフォームの主な機能モジュールには、カルーセル(カルーセル管理)、システムアナウンス管理(システムアナウンス)、リソース管理(美容情報、情報分類)、システムユーザー(管理者、一般ユーザー、従業員ユーザー)、モジュール管理(美容メイクアップ製品、製品)が含まれます。種類、商品注文、キャンセル注文、キャンセル確認、発送情報、ポイント商品、ユーザーポイント、引き換え記録など)をソフトウェア開発やハードウェア導入にオブジェクト指向開発モデルを採用し、ニーズに応えます。実運用に合わせたソフトウェア構築やプログラムコーディング作業を改善し、バックグラウンドデータの主記憶装置としてMySQLを利用し、SpringbootフレームワークやJava技術、Ajax技術を用いて業務システムのコーディングや開発を行うことで、システムのこの完全な機能。この報告書はまず研究の背景、役割、意義を分析し、研究作業の合理性の基礎を築きます。ビューティーショッピングプラットフォームのさまざまなニーズと技術的問題を分析し、システムの必要性と技術的実現可能性を証明し、デザインシステムで使用する必要がある技術ソフトウェアとデザインアイデアの基本を紹介し、最終的にビューティーショッピングを実現します。プラットフォームとデプロイメントはそれを使用して実行されます。
キーワード: Java テクノロジー、MYSQL、ビューティー ショッピング プラットフォーム
抽象的な
情報化社会においては、的を絞った情報入手経路が求められますが、その経路の拡大は基本的に人々の努力の方向です。視点のズレにより、人々は異なる種類の情報を入手できることが多く、これはテクノロジーが克服するのが最も難しいテーマでもあります。ビューティーショッピングプラットフォームなどの課題について調査・分析を行い、課題を解決するビューティーショッピングプラットフォームの開発・設計を行います。
業務システムのコーディングと開発のための Ajax テクノロジーにより、このシステムのすべての機能が実現されます。この報告書では、まず研究の背景、役割、意義を分析し、研究作業の合理性の基礎を築きます。ビューティーショッピングプラットフォームのさまざまな要件と技術的問題を分析し、システムの必要性と技術的実現可能性を証明し、システムの設計に必要な技術ソフトウェアと設計アイデアの基本的な紹介を提供します。最後に、ビューティー ショッピング プラットフォームを実装し、運用のためにデプロイします。ビューティーショッピングプラットフォームのさまざまな要件と技術的問題を分析し、システムの必要性と技術的実現可能性を証明し、システムの設計に必要な技術ソフトウェアと設計アイデアの基本的な紹介を提供します。最後に、ビューティー ショッピング プラットフォームを実装し、運用のためにデプロイします。ビューティーショッピングプラットフォームのさまざまな要件と技術的問題を分析し、システムの必要性と技術的実現可能性を証明し、システムの設計に必要な技術ソフトウェアと設計アイデアの基本的な紹介を提供します。最後に、ビューティー ショッピング プラットフォームを実装し、運用のためにデプロイします。
キーワード: Java テクノロジー; MYSQL;ビューティーショッピングプラットフォーム
1 はじめに
近年、モバイルインターネットの急速な発展に伴い、ほとんどの国内ネチズンは、Web閲覧、情報検索、電子メール送信などの従来の基本的なアプリケーションに加え、ショッピング、コミュニケーション、旅行、旅行などの従来の機能を受け入れることに徐々に慣れてきました。さらに、新しいサービス モデルも登場し、オンライン ショッピングは人々の生活の中でますます重要な買い物の形式となっています。インターネットの急速な発展は、美容ショッピングプラットフォームの発展に強力な保証とサポートを提供し、また、オンラインショッピングの外部環境は徐々に改善され、モバイルインターネット端末(携帯電話、タブレット)により、ネチズンの構造はより高度なものになりました。支払いや決済方法はますます便利になり、ユーザーポイントはますます利用しやすくなり、それに対応する規制やポリシーはますます充実しています。現在、オンライン ショッピングは人々にとってますます魅力的になってきており、オンライン ショッピングに対する人々の見方も、初めは無知から、疑いから徐々に信頼へ、拒絶から受け入れ、習慣へと変化してきています。オンライン ショッピングの概念はますます人気が高まっています。人々がオンライン ショッピングをする主な要因は次のとおりです。
(1) 便利で早い。ネットショッピングは24時間いつでも利用でき、店舗に行かなくても買い物ができ、購入した商品は自宅へ直接配送も可能です。これにより、消費者は家から出ずに世界中からお気に入りの商品を購入できるようになります。
(2) 情報量が多い。従来のショッピング方法と比較して、電子商取引では、実際の商品と仮想商品の両方を含む非常に大量の情報を処理できます。さらに、消費者の個人的なプライバシーを保護するだけでなく、消費者のさまざまな心理的ニーズを満たすことができる特別な製品も提供することができます。
(3) プライバシーが強い。消費者は他人に知られたくない商品を購入する際にネットショッピングを利用することがありますが、販売者と利用者双方のポイントが利用者のプライバシーを保護し、無用なトラブルを避けることができます。
1.2 開発状況
近年のオンライン販売業界の隆盛により、私も関連情報をいくつか学びました。中国では、以前の販売は従来の販売のみでしたが、オンライン販売は市場の需要に応えているようです。これまでのところ、タオバオや天猫などの有名な企業がいくつかあります。ただし、この種のオンライン販売には、注文して支払いを行ってもすぐに商品を受け取ることができないことや、商品が破損していないかどうかなどを考慮する必要があるというデメリットもあります。このシステムは、商品ネットワークでの販売をベースに開発されました。
数年の発展を経て、消費者に認知されるオンラインショッピングモールが国内外に多数登場しました。これらのオンラインショッピングモールの内容は多岐にわたり、一般ユーザーの商品検索、注文管理、商品詳細の紹介、オンラインメッセージの送信など、比較的充実した機能が備わっています。現在、インターネットの普及により、国内外でオンラインショッピングモールがある程度発展しており、企業はこのプラットフォームを介してオンラインで入力する限り、いつでもシステムのコンテンツを管理することができます。製品コンテンツを表示し、お知らせを発行することで、消費者がオンラインで購入して取引を行うことを奨励します。
1.3スプリングブートフレームワークの概要
Spring フレームワークは、Java プラットフォーム上のオープン ソース アプリケーション フレームワークであり、コンテナに制御反転特性を提供します。Spring フレームワーク自体にはプログラミング モデルに制限はありませんが、Java アプリケーションで頻繁に使用されるため非常に人気があり、後にEJB (Enterprise JavaBeans) モデルの補足として、または代替として使用されるようになりました。Spring フレームワークは、制御の反転のコア機能の利用や、管理対象オブジェクトのライフサイクルのコンテナ化を実装するための依存関係注入による制御の反転の実装、宣言型トランザクション管理のためのアスペクト指向プログラミングの使用など、開発のための一連のソリューションを提供します。統合 さまざまな永続化テクノロジによってデータ アクセスが管理され、開発を容易にする多数の優れた Web フレームワークが提供されます。Spring フレームワークには Inversion of Control (IOC) 機能があり、プロジェクトのメンテナンスとテストを容易にするように設計されており、Java のリフレクション メカニズムを通じて Java オブジェクトの統合設定と管理の方法を提供します。Spring フレームワークは、コンテナを使用してオブジェクトのライフ サイクルを管理します。コンテナは、XML ファイルまたはクラスの特定の Java アノテーションをスキャンすることでオブジェクトを構成できます。開発者は、依存関係の検索または依存関係の注入を通じてオブジェクトを取得できます。Springフレームワークにはアスペクト指向プログラミングがある(AOP) フレームワークと同様に、Spring AOP フレームワークはプロキシ モードに基づいており、実行時に構成可能です。AOP フレームワークは主にモジュール間の相互懸念をモジュール化します。Spring フレームワークの AOP フレームワークは基本的な AOP 機能のみを提供しており、AspectJ フレームワークと比較することはできませんが、AspectJ との統合により基本的なニーズにも対応できます。Spring AOP技術を利用することで、Springフレームワークのトランザクション管理やリモートアクセスなどの機能を実現できます。Spring のトランザクション管理フレームワークは、Java プラットフォームに抽象化メカニズムを導入し、ローカルおよびグローバル トランザクション、およびネストされたトランザクションが、Java プラットフォーム上のほぼすべての環境でセーブポイントを使用して動作できるようにします。Spring にはさまざまなトランザクション テンプレートが統合されており、システムはトランザクション テンプレート、XML または Java アノテーションを通じてトランザクションを構成でき、トランザクション フレームワークにはメッセージングやキャッシュなどの機能が統合されています。Spring のデータ アクセス フレームワークは、開発者がアプリケーションでデータベースを使用するときに遭遇する一般的な問題を解決します。Java: JDBC、iBATS/MyBATIs、Hibernate、Java Data Objects (JDO)、ApacheOJB、ApacheCayne などのすべての一般的なデータ アクセス フレームワークのサポートを提供するだけでなく、Spring のトランザクション管理と併用してデータ アクセスを提供することもできます。 。Spring フレームワークは当初、独自の Web MVC フレームワークを構築するつもりはありませんでした。開発プロセス中、その開発者は、既存の StrutsWeb フレームワークのプレゼンテーション層とリクエスト処理層の間、およびリクエスト処理層とリクエスト処理層の間の分離が必要であると考えていました。モデルだけでは十分ではなかったので、SpringMVC を作成しました。
1.4 論文構成と章の配置
論文は階層的に構成されており、要約、謝辞、文献参照セクションに加えて、本文では Web サイトの要件を分析し、一般的な設計と実装された機能について説明し、最後にいくつかのデバッグ記録をリストします。以下のとおりであります:
第1章;序章。第 1 章では、プロジェクト研究の背景、システム開発の現状、本稿の研究内容と主な業務を中心に紹介します。
第 2 章: システム要件の分析。第 2 章では、主にユーザーとシステムの機能の側面から需要分析を行います。
第 3 章: システム設計。第 3 章では主にシステムフレームワーク、システム機能モジュール、データベースの機能設計を行います。
第 4 章: システムの実装。第 4 章では主にシステムフレームワークの構築とシステムインターフェースの実装について紹介します。
第 5 章: システムのテスト。第 5 章では主にシステムのいくつかのインターフェイスをテストし、主要な機能をテストします。
2 ビューティーショッピングプラットフォームのシステム分析
システム分析はプロジェクト開発の前提条件であり、システム分析を通じてシステムの主要ユーザーの基本的なニーズを十分に理解することができ、これがプロジェクト開発の理由でもあります。次に、システム開発の実現可能性分析が行われます。これには、通常、技術的実現可能性、経済的実現可能性などが含まれます。実現可能性分析は、プロジェクト全体の観点からの分析でもあります。次に、プロジェクトの具体的な要件が分析されますが、その分析方法は通常、ユーザーのユースケース図を通じて実装されます。以下に詳しくご紹介します。
2.1実現可能性の分析
( 1) 運用可能性:
このプロジェクトのデザインは、このモードでのウェブサイト開発のいくつかの事例を参考にしており、その操作インターフェースを分析することにより、多くの事例を組み合わせて、人間中心の操作と簡素化された操作を強調し、基本的なコンピューターの知識がある人でもこのプロジェクトを操作できるようにしています。
したがって、運用可能性に問題はない。
(2) 技術的な実現可能性:
技術的実現可能性とは、フレームワークの構築の実現可能性だけでなく、より良い技術が登場した場合の技術改良へのシステムの適応性、開発期間とコストの比率を指します。
既存の Springboot テクノロジーは、あらゆる電子商取引システムの構築に対応できます。このビューティー ショッピング プラットフォームを開発するとき、私は springboot + MYSQL を使用してプログラム全体を実行しました。
結論から言えば、技術的な実現可能性には問題はない。
(3) 法的実現可能性:
開発者の観点から見ると、springboot と MYSQL はオープンソースでオンラインで無料であり、知的財産権に関する法的紛争は発生しません。
ユーザーの観点から見ると、システム上で密輸品が販売されなくなっている限り、システムとの協定や協定が締結され、違法な支払いは排除されます。
結論から言えば、法的実現可能性には問題はない。
2.2.1データの流れ
ビューティー ショッピング プラットフォームの主な目的は、美容製品を注文することです。図 2-1 は、システムのデータ フロー図です。
図2-1 美容品の発注・購入業務の拡大図
3.3.2ビジネスプロセス
システムのデータ フローを分析した後、システムのビジネス プロセスを見てみましょう。図 2-2 はビジネス フローチャートです。
図 2-2 業務フロー図
ビューティーショッピングプラットフォームの役割に応じて、一般ユーザー、従業員ユーザー、管理者の3つの部分に分けました。
一般ユーザー管理モジュール:
(1) ユーザー登録とログイン:ユーザーはビューティーショッピングプラットフォームにユーザー登録しログインし、個人情報やパスワードの変更などの個人情報の追加、削除、変更、確認を行います。
(2) システム アナウンス: ユーザーは、[システム アナウンス] メニューをクリックすると、バックグラウンドで管理者によってリリースされたすべてのシステム アナウンス情報が表示され、システム アナウンスの詳細を表示できます。
(3)美容情報:「美容情報」メニューボタンをクリックすると、管理者がバックグラウンドで公開している全ての美容情報が表示され、詳細の閲覧、収集、いいね、コメントなどが可能です。
(4) 美容製品: ユーザーがメニューボタン「美容製品」をクリックすると、管理者がバックグラウンドでリリースしたすべての美容製品が表示され、キーワードによる美容製品の検索と必要な美容製品の選択をサポートします。製品上で美容製品の詳細な紹介画面に入り、詳細画面では、製品番号、製品名、製品タイプ、製品ブランド、製品仕様、製品単価、製品数量、製品割引、担当従業員を確認できます。同時に、注文、いいね、収集、コメントを行うことができます。
(5) 購入注文:美容品詳細画面で注文して購入したい場合、下の「購入注文」ボタンをクリックすると、注文購入情報入力画面にジャンプします。インターフェースのプロンプトに従って注文を入力し、情報を購入して「送信」ボタンをクリックすると注文が完了します。
(6) ポイント商品:ポイント商品を閲覧することができ、知りたいポイント商品を見つけた場合は、入力して詳細な紹介を閲覧することができます。
(7) マイアカウント:右上の「マイ」ボタンをクリックするとサブメニューが表示され、個人情報やシステムにログインするためのパスワード、自分で収集した情報などを設定・管理することができます。 ;
管理者管理モジュール:
(1) ログイン: 管理者はユーザー名とパスワードを入力してバックグラウンドでログインでき、管理者のユーザー名とパスワードはデータベースに直接設定されます。
(2) カルーセル画像:管理者は、「カルーセル画像」メニューをクリックして、ホームページに表示されるカルーセル画像の追加、削除、変更、確認を行うことができます。
(3) システム アナウンス: 管理者は、[システム アナウンス] メニューをクリックして、システム内のすべてのシステム アナウンス情報を表示し、既存のシステム アナウンスを変更したり、新しいシステム アナウンスを追加したり、システム アナウンスを削除したりできます。
(4) リソース管理:管理者は、「リソース管理」メニューをクリックして、サブメニュー内の美容情報および情報カテゴリを追加、削除、修正、確認することができます。
(5) システム ユーザー: 管理者は、[システム ユーザー] メニューをクリックして、システム内に存在するユーザー (管理者ユーザー、従業員ユーザー、一般ユーザーなど) を管理できます。
( 6) モジュール管理: 「モジュール管理」メニューでは、美容製品、製品タイプ、製品注文、キャンセル注文、キャンセル確認、配送情報、ポイント製品、引き換え記録、ユーザーポイント、管理が表示されます。メンバーは追加、削除、変更、クエリ操作。
2.3.2 非機能分析
ビューティーショッピングプラットフォームの非機能要件には、ビューティーショッピングプラットフォームのセキュリティ、信頼性、パフォーマンス、拡張性などが含まれる。詳細は次の 3-1 表で表すことができます。
表3-1ビューティーショッピングプラットフォームの非機能要件表
安全性 |
主に美容ショッピングプラットフォームのデータベースのインストールを指し、データベースの使用とパスワードの設定は標準に準拠する必要があります。 |
信頼性 |
信頼性とは、ビューティーショッピングプラットフォームがユーザーの指示に従って動作できることを意味し、テスト後の信頼性は90%以上です。 |
パフォーマンス |
美容ショッピングプラットフォームが市場を占有するためにはパフォーマンスが必須条件であるため、パフォーマンスが良いことが最善です。 |
スケーラビリティ |
たとえば、データベースは、システムの非機能要件を確実に満たすために、インターフェイスの使用などの複数の属性を予約します。 |
使いやすさ |
ユーザーは、ビューティー ショッピング プラットフォームのページ表示コンテンツに従うだけで準備完了です。 |
保守性 |
ビューティーショッピングプラットフォームの開発は保守性が非常に重要ですが、テスト後も保守性に問題はありません。 |
2.4システムのユースケース分析
2.3 の機能の分析を通じて、このビューティー ショッピング プラットフォームのユースケース図が得られます。
一般的なユーザーの役割の例を図 2-3 に示します。
図 2-3 ビューティー ショッピング プラットフォームにおける一般ユーザーの役割のユースケース図
Web バックエンド管理の管理者は、ビューティー ショッピング プラットフォーム全体のすべてのデータ情報を維持します。管理者の役割の例を図 2-4 に示します。
図 2-4 ビューティー ショッピング プラットフォーム管理者の役割のユースケース図
本章では主に、ビューティーショッピングプラットフォームの実現可能性分析、プロセス分析、機能要件分析、システムユースケース分析を通じて、ビューティーショッピングプラットフォーム全体で実現すべき機能を決定します。同時に、美容ショッピング プラットフォームのコード実装とテストの標準も提供します。
この章で説明する主な内容には、ビューティー ショッピング プラットフォームの機能モジュール設計とデータベース システム設計が含まれます。
3.1システムアーキテクチャ設計
このビューティー ショッピング プラットフォームは、アーキテクチャの観点から、プレゼンテーション層 (UI)、ビジネス ロジック層 (BLL)、データ層 (DL) の 3 つの層に分かれています。
図 3-1 ビューティー ショッピング プラットフォームのシステム アーキテクチャ設計図
プレゼンテーション層 (UI): UI 層とも呼ばれ、主にこのビューティー ショッピング プラットフォームの UI インタラクション機能を完成させます。優れた UI は、このビューティー ショッピング プラットフォームを使用する際のユーザー エクスペリエンスを向上させ、ユーザーの快適さを向上させることができます。UI インターフェイスのデザインは、良好な互換性を実現するために、ビューティー ショッピング プラットフォームのさまざまなバージョンやさまざまなサイズ解像度にも適応する必要があります。UI インタラクション機能の要件は合理的であり、ユーザーはインタラクティブな操作を実行する際に一貫したインタラクション結果を得る必要があり、そのためにはプレゼンテーション層がビジネス ロジック層と適切に接続されている必要があります。
ビジネス ロジック レイヤー (BLL): 主に、このビューティー ショッピング プラットフォームのデータ処理機能を完成させます。ユーザーがプレゼンテーション層から送信したデータはビジネスロジック層で処理されてデータ層に渡され、システムがデータ層から読み込んだデータはビジネスロジック層で処理されてプレゼンテーション層に渡されます。
データ層(DL):このビューティーショッピングプラットフォームのデータはサーバー側のmysqlデータベースに配置されるため、サービス層に属する部分はビジネスロジック層に直接統合することができ、データベースのみが存在します。データ層では、主にこのタスクを完了します ビューティーショッピングプラットフォームのデータストレージと管理機能。
3.2システム機能モジュールの設計
前の章では、システムの機能要件と非機能要件を主に分析し、要件に基づいてこのビューティー ショッピング プラットフォームのユースケースを分析しました。次に、このビューティー ショッピング プラットフォームのアーキテクチャ、主要な機能、データベースの設計を開始します。ビューティー ショッピング プラットフォームは前章の需要分析に基づいており、その全体的な設計モジュール図を図 3-2 に示します。
図 3-2 ビューティーショッピングプラットフォームの機能モジュール図
3.2.2ユーザーモジュールの設計
バックエンド管理者は、フロントエンドに登録されているユーザーの追加、削除、変更、確認を行うことができ、ユーザーモジュールの構成図は以下のとおりです。
図 3-3 ユーザーモジュールの構成図
3.2.3コメント管理モジュールの設計
ビューティー ショッピング プラットフォームはオープンなコミュニケーション プラットフォームであり、ユーザーはプラットフォーム上でコミュニケーションを行うことができ、ユーザー間の交流を増やすことができます。しかし同時に、コメントの内容をより標準化し、管理者に不適切なコメントを削除する機能を提供するには、コメント管理モジュールを特別に設計する必要があり、具体的な構造図は次のとおりです。
図3-4 コメントモジュールの構成図
3.2.4美容製品管理モジュールの設計
美容ショッピングプラットフォームは多くの美容製品情報を保存する必要があり、そのモジュールの機能構造、具体的な構造図は次のとおりです。
図 3-5 美容製品情報モジュールの構成図
データベースの設計は、一般に需要分析、概念モデル設計、データベーステーブル作成の3つの大きなプロセスから構成されますが、需要分析については前章で説明しましたが、概念モデル設計は概念モデルと論理構造設計の2つに分かれます。
3.3.1データベースの概念構造設計
以下は、ビューティー ショッピング プラットフォーム全体の主要なデータベース テーブルの主要な ER エンティティ関係図です。
図 3-6 ビューティーショッピングプラットフォームのトータルER関係図
前のセクションのビューティー ショッピング プラットフォームの全体的な ER 関係図から、合計で多くのデータ テーブルを作成する必要があると結論付けることができます。ここでは主に、いくつかの主要なデータベース テーブル構造設計をリストします。
テーブルbeauty_products(美容製品)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
美容製品ID |
整数 |
10 |
0 |
N |
Y |
美容商品ID |
|
2 |
製品番号 |
可変長文字 |
64 |
0 |
N |
N |
製品番号 |
|
3 |
商標名 |
可変長文字 |
64 |
0 |
Y |
N |
商品名 |
|
4 |
商品の種類 |
可変長文字 |
64 |
0 |
Y |
N |
製品タイプ |
|
5 |
カバー |
可変長文字 |
255 |
0 |
Y |
N |
カバー |
|
6 |
製品ブランド |
可変長文字 |
64 |
0 |
Y |
N |
製品ブランド |
|
7 |
製品仕様 |
可変長文字 |
64 |
0 |
Y |
N |
製品仕様 |
|
8 |
アイテムの価格設定 |
整数 |
10 |
0 |
Y |
N |
0 |
商品の価格 |
9 |
製品の数量 |
整数 |
10 |
0 |
Y |
N |
0 |
製品数 |
10 |
製品_割引 |
可変長文字 |
64 |
0 |
Y |
N |
製品の割引 |
|
11 |
製品詳細 |
長文 |
2147483647 |
0 |
Y |
N |
製品詳細 |
|
12 |
責任ある従業員 |
整数 |
10 |
0 |
Y |
N |
0 |
責任者 |
13 |
ヒット |
整数 |
10 |
0 |
N |
N |
0 |
クリック数 |
14 |
賞賛レン |
整数 |
10 |
0 |
N |
N |
0 |
いいね数 |
15 |
推薦する |
整数 |
10 |
0 |
N |
N |
0 |
インテリジェントな推奨事項 |
16 |
作成時間 |
日付時刻 |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間 |
17 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間 |
テーブル cancel_of_order (注文のキャンセル)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
注文のキャンセル_id |
整数 |
10 |
0 |
N |
Y |
オーダーIDのキャンセル |
|
2 |
注文番号 |
可変長文字 |
64 |
0 |
N |
N |
注文番号 |
|
3 |
製品番号 |
可変長文字 |
64 |
0 |
Y |
N |
製品番号 |
|
4 |
商標名 |
可変長文字 |
64 |
0 |
Y |
N |
商品名 |
|
5 |
商品の種類 |
可変長文字 |
64 |
0 |
Y |
N |
製品タイプ |
|
6 |
製品ブランド |
可変長文字 |
64 |
0 |
Y |
N |
製品ブランド |
|
7 |
製品仕様 |
可変長文字 |
64 |
0 |
Y |
N |
製品仕様 |
|
8 |
アイテムの価格設定 |
整数 |
10 |
0 |
Y |
N |
0 |
商品の価格 |
9 |
製品_割引 |
可変長文字 |
64 |
0 |
Y |
N |
製品の割引 |
|
10 |
注文日 |
日付 |
10 |
0 |
Y |
N |
注文日 |
|
11 |
責任ある従業員 |
整数 |
10 |
0 |
Y |
N |
0 |
責任者 |
12 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
13 |
purchase_quantity |
int |
10 |
0 |
Y |
N |
0 |
购买数量 |
14 |
payment_amount |
varchar |
64 |
0 |
Y |
N |
支付金额 |
|
15 |
consignee |
varchar |
64 |
0 |
Y |
N |
收货人 |
|
16 |
receiving_phone_number |
varchar |
64 |
0 |
Y |
N |
收货电话 |
|
17 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
18 |
reason_for_cancellation |
text |
65535 |
0 |
Y |
N |
取消原因 |
|
19 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
20 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
21 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
22 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
23 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表cancel_confirmation (取消确认)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
cancel_confirmation_id |
int |
10 |
0 |
N |
Y |
取消确认ID |
|
2 |
order_number |
varchar |
64 |
0 |
N |
N |
订单号 |
|
3 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
4 |
trade_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
5 |
commodity_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
6 |
product_brand |
varchar |
64 |
0 |
Y |
N |
商品品牌 |
|
7 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
8 |
item_pricing |
int |
10 |
0 |
Y |
N |
0 |
商品单价 |
9 |
product_discount |
varchar |
64 |
0 |
Y |
N |
商品折扣 |
|
10 |
order_date |
date |
10 |
0 |
Y |
N |
下单日期 |
|
11 |
responsible_employees |
int |
10 |
0 |
Y |
N |
0 |
负责员工 |
12 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
13 |
purchase_quantity |
int |
10 |
0 |
Y |
N |
0 |
购买数量 |
14 |
payment_amount |
varchar |
64 |
0 |
Y |
N |
支付金额 |
|
15 |
consignee |
varchar |
64 |
0 |
Y |
N |
收货人 |
|
16 |
receiving_phone_number |
varchar |
64 |
0 |
Y |
N |
收货电话 |
|
17 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
18 |
reason_for_cancellation |
text |
65535 |
0 |
Y |
N |
取消原因 |
|
19 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
20 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
21 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表comment (评论)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
表employee_users (员工用户)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
employee_users_id |
int |
10 |
0 |
N |
Y |
员工用户ID |
|
2 |
employee_id |
varchar |
64 |
0 |
N |
N |
员工工号 |
|
3 |
employee_name |
varchar |
64 |
0 |
Y |
N |
员工姓名 |
|
4 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
5 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表notice (公告)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表ordinary_users (普通用户)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
2 |
user_name |
varchar |
64 |
0 |
N |
N |
用户姓名 |
|
3 |
user_gender |
varchar |
64 |
0 |
N |
N |
用户性别 |
|
4 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
5 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表point_products (积分商品)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
point_products_id |
int |
10 |
0 |
N |
Y |
积分商品ID |
|
2 |
product_number |
varchar |
64 |
0 |
N |
N |
商品编号 |
|
3 |
trade_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
4 |
commodity_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
5 |
cover |
varchar |
255 |
0 |
Y |
N |
封面 |
|
6 |
product_brand |
varchar |
64 |
0 |
Y |
N |
商品品牌 |
|
7 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
8 |
unit_price_of_points |
int |
10 |
0 |
Y |
N |
0 |
积分单价 |
9 |
product_details |
longtext |
2147483647 |
0 |
Y |
N |
商品详情 |
|
10 |
responsible_employees |
int |
10 |
0 |
Y |
N |
0 |
负责员工 |
11 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
13 |
limit_times |
int |
10 |
0 |
N |
N |
0 |
限制次数 |
14 |
limit_type |
tinyint |
4 |
0 |
N |
N |
1 |
限制次数类型1-每天次,2-总计次 |
15 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
16 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表product_orders (商品订单)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
product_orders_id |
int |
10 |
0 |
N |
Y |
商品订单ID |
|
2 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单号 |
|
3 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
4 |
trade_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
5 |
commodity_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
6 |
product_brand |
varchar |
64 |
0 |
Y |
N |
商品品牌 |
|
7 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
8 |
item_pricing |
int |
10 |
0 |
Y |
N |
0 |
商品单价 |
9 |
product_discount |
varchar |
64 |
0 |
Y |
N |
商品折扣 |
|
10 |
order_date |
date |
10 |
0 |
Y |
N |
下单日期 |
|
11 |
responsible_employees |
int |
10 |
0 |
Y |
N |
0 |
负责员工 |
12 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
13 |
purchase_quantity |
int |
10 |
0 |
Y |
N |
0 |
购买数量 |
14 |
payment_amount |
varchar |
64 |
0 |
Y |
N |
支付金额 |
|
15 |
consignee |
varchar |
64 |
0 |
Y |
N |
收货人 |
|
16 |
receiving_phone_number |
varchar |
64 |
0 |
Y |
N |
收货电话 |
|
17 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
18 |
pay_state |
varchar |
16 |
0 |
N |
N |
未支付 |
支付状态 |
19 |
pay_type |
varchar |
16 |
0 |
Y |
N |
支付类型: 微信、支付宝、网银 |
|
20 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
21 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表product_type (商品类型)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
product_type_id |
int |
10 |
0 |
N |
Y |
商品类型ID |
|
2 |
product_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
3 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
4 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表redemption_records (兑换记录)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
redemption_records_id |
int |
10 |
0 |
N |
Y |
兑换记录ID |
|
2 |
exchange_number |
varchar |
64 |
0 |
Y |
N |
兑换号 |
|
3 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
4 |
trade_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
5 |
commodity_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
6 |
product_brand |
varchar |
64 |
0 |
Y |
N |
商品品牌 |
|
7 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
8 |
unit_price_of_points |
int |
10 |
0 |
Y |
N |
0 |
积分单价 |
9 |
responsible_employees |
int |
10 |
0 |
Y |
N |
0 |
负责员工 |
10 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
11 |
consignee |
varchar |
64 |
0 |
Y |
N |
收货人 |
|
12 |
receiving_phone_number |
varchar |
64 |
0 |
Y |
N |
收货电话 |
|
13 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
14 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
15 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
16 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
17 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表shipping_information (发货信息)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
shipping_information_id |
int |
10 |
0 |
N |
Y |
发货信息ID |
|
2 |
order_number |
varchar |
64 |
0 |
N |
N |
订单号 |
|
3 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
4 |
trade_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
5 |
commodity_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
6 |
product_brand |
varchar |
64 |
0 |
Y |
N |
商品品牌 |
|
7 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
8 |
item_pricing |
int |
10 |
0 |
Y |
N |
0 |
商品单价 |
9 |
product_discount |
varchar |
64 |
0 |
Y |
N |
商品折扣 |
|
10 |
order_date |
date |
10 |
0 |
Y |
N |
下单日期 |
|
11 |
responsible_employees |
int |
10 |
0 |
Y |
N |
0 |
负责员工 |
12 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
13 |
payment_amount |
varchar |
64 |
0 |
Y |
N |
支付金额 |
|
14 |
purchase_quantity |
int |
10 |
0 |
Y |
N |
0 |
购买数量 |
15 |
consignee |
varchar |
64 |
0 |
Y |
N |
收货人 |
|
16 |
receiving_phone_number |
varchar |
64 |
0 |
Y |
N |
收货电话 |
|
17 |
shipping_address |
varchar |
64 |
0 |
Y |
N |
收货地址 |
|
18 |
product_points |
varchar |
64 |
0 |
Y |
N |
商品积分 |
|
19 |
courier_number |
varchar |
64 |
0 |
Y |
N |
快递单号 |
|
20 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
21 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表user_points (用户积分)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
user_points_id |
int |
10 |
0 |
N |
Y |
用户积分ID |
|
2 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
3 |
total_points |
int |
10 |
0 |
Y |
N |
0 |
积分总数 |
4 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
5 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
3.4本章小结
整个美妆购物平台的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 美妆购物平台详细设计与实现
美妆购物平台的详细设计与实现主要是根据前面的美妆购物平台的需求分析和美妆购物平台的总体设计来设计页面并实现业务逻辑。主要从美妆购物平台界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
当进入美妆购物平台的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
不是美妆购物平台中正式用户的是可以在线进行注册的,如果你没有本美妆购物平台的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
注册关键代码如下所示。
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
/**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@Column(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@Basic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}
4.1.3 用户登录界面
美妆购物平台中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到美妆购物平台的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
登录关键代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
4.1.4我的账户界面
当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料、登录系统的密码以及自己收藏的信息进行设置管理,我的账户界面如下图4-4所示。
图4-4我的账户界面图
4.1.5美妆资讯界面
当访客点击美妆购物平台中导航栏上的“美妆资讯”后将会进入到该“美妆资讯”列表的界面,然后选择想要看的美妆资讯,点击进入到详细界面,同时可以进行点赞、收藏、评论操作,美妆资讯界面如下图4-5 所示。
图4-5美妆资讯界面图
4.1.6美妆商品界面
当用户点击“美妆商品”这一菜单按钮,会显示管理员在后台发布的所有的美妆商品,支持通过关键词对美妆商品进行搜索,选择需要的美妆商品点击可以进入到美妆商品详细的介绍界面,在详细界面可以查看到商品的商品编号、商品名称、商品类型、商品品牌、商品规格、商品单价、商品数量、商品折扣、负责员工等信息,同时可以进行下单购买、点赞、收藏、评论操作,美妆商品界面如下图4-6所示。
图4-6 美妆商品界面图
4.1.7下单购买界面
当用户在美妆商品详情界面想要进行下单购买,点击下方的“下单购买”按钮,就会跳转到下单购买信息填写界面,根据界面提示输入下单购买信息,点击“提交”按钮,下单购买就完成了,下单购买界面如下图4-7所示。
图4-7 下单购买界面图
4.2管理员功能模块
4.2.1系统公告管理界面
管理员点击“系统公告管理”菜单可以查看到系统中的所有系统公告信息,对已经存在的系统公告,管理员可以修改,也可以添加新的系统公告或者删除系统公告。界面如下图4-8所示。
图4-8系统公告管理界面图
系统公告管理代码如下。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry<String,Object> entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
4.2.2资源管理界面
管理员点击“资源管理”菜单能够对其下子菜单美妆资讯和资讯的分类进行增删改查。界面如下图4-9所示。
图4-9资源管理界面图
资源管理代码如下。
@RequestMapping(value = {"/count_group", "/count"})
public Map<String, Object> count(HttpServletRequest request) {
Query count = service.count(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
4.2.3系统用户管理界面
管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、员工用户和普通用户。界面如下图4-10所示。
图4-10系统用户管理界面图
系统用户管理代码如下。
@RequestMapping(value = {"/avg_group", "/avg"})
public Map<String, Object> avg(HttpServletRequest request) {
Query count = service.avg(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
管理员点击“美妆商品”会显示出所有的美妆商品信息,支持输入商品编号或者商品名称对美妆商品信息进行查询,如果想要添加新的美妆商品信息,点击“添加”按钮,输入商品编号、商品名称、商品类型、商品品牌、商品规格、商品单价、商品数量、商品折扣、负责员工等信息,点击“提交”按钮就可以添加了,同时可以选择某一条美妆商品信息,点击“删除”进行删除,也可以对用户提交的美妆商品评论的信息进行管控。界面如下图4-11所示。
图4-11美妆商品管理界面图
4.2.5商品订单管理界面
管理员点击“商品订单”会显示出所有的商品订单信息,支持输入订单号或者商品编号对商品订单信息进行查询,如果想要添加新的商品订单信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条商品订单信息,点击“删除”进行删除,也可以点击后面的“取消订单/订单发货”、“支付”按钮对商品订单的取消订单/订单发货信息进行更新维护、对商品订单的支付信息进行设置。界面如下图4-12所示。
图4-12 商品订单管理界面图
管理员点击“用户积分”会显示出所有的用户积分信息,支持通过普通用户或者积分总数对用户积分信息进行查询,如果想要添加新的用户积分信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条用户积分信息,点击“删除”进行删除。界面如下图4-13所示。
图4-13用户积分界面图
5系统测试
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
系统测试包括:用户登录功能测试、美妆商品展示功能测试、美妆商品添加、美妆商品搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 |
用户登录系统 |
目的 |
测试用户通过正确的用户名和密码可否登录功能 |
前提 |
未登录的情况下 |
测试流程 |
1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 |
用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 |
实际结果与预期结果一致 |
美妆商品查看功能测试:
表5-2 美妆商品查看功能测试表
用例名称 |
美妆商品查看 |
目的 |
测试美妆商品查看功能 |
前提 |
用户登录 |
测试流程 |
点击美妆商品列表 |
预期结果 |
可以查看到所有美妆商品 |
实际结果 |
实际结果与预期结果一致 |
管理员添加美妆商品界面测试:
表5-3 管理员添加美妆商品界面测试表
用例名称 |
美妆商品发布测试用例 |
目的 |
测试美妆商品发布功能 |
前提 |
用户正常登录情况下 |
测试流程 |
1)用户点击美妆商品管理就,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 |
提交以后,页面首页会显示新的美妆商品 |
实际结果 |
实际结果与预期结果一致 |
美妆商品搜索功能测试:
表5-4美妆商品搜索功能测试表
用例名称 |
美妆商品搜索测试 |
目的 |
测试美妆商品搜索功能 |
前提 |
无 |
测试流程 |
1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 |
页面显示包含有搜索关键字的美妆商品 |
实际结果 |
实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 |
密码修改测试用例 |
目的 |
测试管理员密码修改功能 |
前提 |
管理员用户正常登录情况下 |
测试流程 |
1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 |
使用新的密码可以登录 |
实际结果 |
实际结果与预期结果一致 |
通过编写美妆购物平台的测试用例,已经检测完毕用户登录模块、美妆商品查看模块、美妆商品添加模块、美妆商品搜索模块、密码修改功能测试,通过这5大模块为美妆购物平台的后期推广运营提供了强力的技术支撑。
至此,美妆购物平台已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、springboot技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
[1]苏以鹏,何维,宋朝霞,高阳,李凯,苏芮,林海,周英,汤彪武. 一种基于SpringBoot框架的审批文件加密批量上传方法及装置[P]. 四川省:CN112187948B,2023-04-25.
[2]刘维佳.社区式购物平台发展现状及前景分析[J].产业创新研究,2023(07):68-70.
[3]王振江,练渺渺. 一种基于SpringBoot的轻量级权限认证方法及框架[P]. 北京市:CN115374415B,2023-04-07.
[4]寇婧博,左寸芳.我国消费者反悔权制度浅析——以网络购物平台为视角[J].法制博览,2023(10):118-120.
[5]佟羽齐,刘德华,张栎柯,李剑波,张俊杰.基于SpringBoot框架的钻前管理系统的设计与实现[J].信息与电脑(理论版),2023,35(02):111-113.
[6]李晋华,葛毅,李世川.嵌入Java Web服务的桌面应用开发技术研究[J].电脑编程技巧与维护,2022(11):51-53.DOI:10.16184/j.cnki.comprg.2022.11.003.
[7]沈志元,张文健.基于Java技术的医院管理系统的设计与实现[J].电脑知识与技术,2022,18(32):38-40+54.DOI:10.14004/j.cnki.ckt.2022.1994.
[8]唐乙隽. 平台购物遇商家“消失” 千余元损失究竟谁负责[N]. 解放日报,2022-11-14(005).DOI:10.28410/n.cnki.njfrb.2022.004544.
[9]施炜. 购物平台百花齐放 今年“双十一”怎么打?[N]. 台州日报,2022-11-11(005).DOI:10.28812/n.cnki.ntzrb.2022.003198.
[10]宋佳音,卜彩丽.以小见大,挖掘数据价值——《网络购物平台客户行为数据分析》项目学习案例[J].中国信息技术教育,2022(20):43-45.
[11]侯明希,谭筠鹏.线上购物平台中的“信息茧房”现象——用户视角下的新解[J].广西科技师范学院学报,2022,37(05):76-85.
[12]谢霜.基于Java技术的网络管理体系结构的应用[J].网络安全技术与应用,2022(10):14-15.
[13]刘泽青. 移动购物平台用户体验对忠诚度的影响[D].西南大学,2022.DOI:10.27684/d.cnki.gxndx.2022.001953.
[14]王曼维,杨荻,李岩,及松洁.基于SpringBoot框架的智慧医疗问诊系统设计与实现[J].中国医学装备,2022,19(03):133-136.
[15]He Xinbin,Bai Yongbin,Yue Lisen,Wang Haixiao,Liu Yi. Design and Implementation of Information System Based on Java Technology Platform[J]. Journal of Physics: Conference Series,2021,2033(1).
[16]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).
[17]王超,张琪立,田广强,李晶晶.基于Springboot框架的学校机房计费管理系统的设计与实现[J].电子技术与软件工程,2020(23):159-160.
[18]Tian Ming Huang. Design and Implementation of App System for Legal Consulting Based on JAVA Technology[J]. Procedia Computer Science,2020,166(C).
致 谢
故人は昼も夜も決して諦めない男のようです。瞬く間に普通のユーザーライフが終わりを迎えます 人は別れや終わりを迎える時、いつも未練と戸惑いを感じます 私も同じです あの秋のことを今でも覚えています できなかった学校に向かって1日も早く学校に着くのを待ちます 立派な門を見てここが新しい生活のスタートになるのかなと期待に胸を膨らませていました その日は、太陽が燦燦と輝いていて、とても暖かな歓迎式で、私は胸から太陽の光が心に差し込むような笑顔を向けるクラスメートたちと向き合い、同時に大好きな愛しい子にも出会えました。あの日ルームメイトと手を繋いで、忘れられない2年間を一緒に過ごしました。さて、この論文の謝辞を見ると、こう自問せずにはいられません。「私たちは今、別れを告げているのだろうか?」
説明がつかない感じがして、何と言ったらいいのかわかりません。初めて入学したときは、工学部というと堅くて優しさに欠けるイメージがあり、当時は少し反発もありましたが、少しずつ工学部を知り、理解するうちに、彼女の美しさ、優しさに気づき、私は徐々にこのキャンパスに恋に落ちましたが、時間があまりにも早く過ぎたので、彼女の美しさを十分に理解する前に帰らなければなりませんでしたが、彼女が私にもたらした思い出は決して忘れられないでしょう。彼女が僕を去っていく日、きっと僕の目は涙でいっぱいになるだろう、悲しいからではなく、彼女の姿を涙に映して心に刻んでほしいだけだ。最後に、私たちに人生の知識と原則を教えてくれた先生たちに感謝します、長い間一緒に過ごしてくれたルームメイトに感謝します、そして私を気遣いサポートしてくれたすべての人に感謝します。
若者よ、立ち止まることなく風と月を追い求めよ、荒野のあるところには必ず春の山がある。
プロジェクトのソース コードを無料で受け取るには、ブロガーをフォローして「いいね」を押し、プライベート メッセージを送ってください。