フロントエンド: Do、yuzu、-T.c_
バックエンド: ディンハウ、ミドリ、『』
オンライン書籍レビューおよび購入システム「Ding Dong」は、ユーザーがこのプラットフォーム上でさまざまな書籍に関する情報を照会したり、書籍に対する他の人の評価を閲覧したり交流したりするためのプラットフォームをユーザーに提供するプラットフォームです。同時に感想をコメントしたり、書籍をお気に入りに追加したり、購入したりすることができます。具体的な機能ポイントとそれに対応するシステムの要件は次のとおりです。
新しいユーザーを作成し、ユーザー名やパスワードなどの基本情報を初期化します。
ユーザーは、登録したアカウントとパスワードに基づいてログインします。
配送先の管理などの基本情報を変更することができます。
キーワードを入力して検索したり、本のカテゴリで検索したりすると、検索結果が表示されます。
ユーザーは、書籍情報ページで、紹介、レビュー、評価など、書籍に関する特定の情報を確認できます。
ユーザーはお気に入りに追加された書籍を表示できます。
ユーザーは、お気に入りに追加された書籍を削除できます。
注文完了後、ユーザーは対応する書籍を評価して評価することができます。
ユーザーは、書籍情報ページでこの書籍を購入した他の人のレビューを確認できます。
ユーザーは書籍ページやホームページで書籍をショッピング カートに追加できます。
ユーザーは、ショッピング カートに追加された書籍とその価格、ショッピング カートの合計価格など、現在のショッピング カート情報を表示できます。
ユーザーは、ショッピング カートに追加された書籍をお気に入りに移動したり、削除したり、数量を変更したりできます。
ショッピング カートをチェックアウトした後、ユーザーはこの購入の注文情報を送信して保存できます。
ユーザーは、パーソナル センターで署名済みおよび未署名の注文情報を表示できます。
完了した注文については、ユーザーは削除できます。
管理者は、管理者アカウントとパスワードに従ってバックエンド管理ページにログインできます。
管理者は、指定したユーザーを検索し、結果を表示できます。
管理者は、指定したユーザーを禁止し、そのアカウントをデータベースから削除できます。
管理者は、ブックの追加、既存のブックの削除、または既存のブックに関する情報の変更を行うことができます。
ホームページの「新書架」では、最新の架架時間の5冊を動的に表示できます。
ホームページ上の「人気のおすすめ」では、ユーザー評価の高い書籍 5 冊を動的に表示できます。
ホームページの「あなたへのおすすめ」セクションには、Web サイト管理者が推奨する 10 冊の本を静的に表示できます。
ブラウザとしては Windows、Mac OS、Chrome または IE 8 以降を推奨します
情報データはサーバー側のデータベースに保存され、各ユーザーはクライアント側で指定された権限でアクセスすることで情報共有を実現します。
バックグラウンドデータは自由に変更することができず、機密として保持され、ユーザーの個人情報が漏洩することはできません。
ユーザーは指定されたアクセス権を持っているため、管理者ページに入ることができません。
ユーザーが入力するデータ情報は、データの種類や値の範囲などを定期的に検証するなどして制限し、誤った情報の送信を適時に遮断します。
データベース内のテーブルにプライマリコード制約、外部コード制約、一貫性制約を追加し、カスケード操作などを設定することでデータベースのデータの一貫性と整合性を実現・保護します。
インターフェイスはクリーンでフレンドリーなので、ユーザーは簡単に操作でき、必要な情報にすぐにアクセスできます。
2.1 ログイン・登録機能
2.1.1 ログインおよび登録機能の設計
ユーザーは登録時に、個人のユーザー名、パスワード、個人のメールアドレスなどの個人情報を入力する必要があります。再度登録してください。ユーザーが登録に成功すると、システムはログイン ページに戻り、ユーザー名とパスワードを検証情報として使用してログインできるようになります。ログインしていないユーザーは、ホームページの情報の閲覧や検索操作は行えますが、個人的な操作はできません。
アクションシーケンス | 説明する |
---|---|
登録する | ユーザーは、ユーザー名、パスワード、確認パスワード、および個人の電子メール アドレスを入力することで個人登録操作を完了できます。上記の入力情報は必須であり、規制要件を満たしている必要があります。 |
登録が成功しました | 登録が成功すると、システムはログイン ページに戻り、ユーザーがログインできるようにするか、ログインをキャンセルしてホームページに戻ることができます。 |
登録に失敗しました | 登録に失敗した場合は、すべての入力ボックスの情報がクリアされ、何も動作しません。 |
ログイン | ユーザーはユーザー名とパスワードを入力してログインできますが、入力ボックスの情報は必須です。 |
ログイン成功 | ログインが成功すると、システムはホームページにジャンプし、ユーザーのステータスはログイン状態になり、すべてのユーザー操作を実行できるようになります。 |
ログインに失敗しました | ログインが失敗すると、システムはすべての入力ボックスの情報をクリアし、操作を実行しません。 |
ログインをキャンセルする | ユーザーがクリックしてログインをキャンセルすると、ページは最初のホームページにジャンプします。 |
2.1.2 ログイン登録機能の実装
図 2.1 ユーザーログイン
図2.2 ユーザー登録
図 2.3 トップバー - ログイン後
2.2 個人情報の変更
2.2.1 個人情報機能設計の変更
ユーザーは、個人情報ページで名前、性別、個人の電子メール アドレス、パスワードの変更などの個人情報を変更できます。
アクションシーケンス | 説明する |
---|---|
個人ページに入る | ログインすると、ユーザーはページ上部の「パーソナル センター」から個人情報ページに入ることができます。 |
個人情報の変更 | この操作には、個人名、性別、電子メール アドレスの 3 つの情報を変更した後、「変更を確認」ボタンをクリックして変更した情報を保存することが含まれます。変更することはできません。 |
パスワードを変更する | パスワードを変更するには、古いパスワードと新しいパスワードを入力する必要があります。 |
2.2.2 個人情報変更機能の実装
図2.4 個人情報の変更
2.3 アドレス管理
2.3.1 アドレス管理機能の設計
ユーザーは、パーソナル センター ページの住所管理ページにアクセスして、自分の配送先住所を管理できます。
アクションシーケンス | 説明する |
---|---|
住所管理に入る | ユーザーはログイン中にパーソナルセンターページからアドレス管理ページに入ることができます。 |
新しいアドレスを追加 | 「住所を追加」をクリックした後、ユーザーはポップアップウィンドウに、都道府県、市、地区、詳細な住所、名前、郵便番号、電話番号などの新しい住所情報を入力できます。上記の情報は必須です。 |
アドレスの削除 | ユーザーは「管理」ボタンをクリックして選択操作を開始し、アドレスボックスをクリックして選択するか、すべてを選択します。選択が完了したら、「削除」をクリックしてアドレスを削除します。 |
2.3.2 アドレス管理機能の実装
図 2.5 個人アドレスの管理
図 2.6 新しいアドレスの追加
3.1 書籍を検索する
3.1.1 書籍検索機能の設計
ユーザーは検索ボックスにキーワードを入力するか、カテゴリをクリックして検索操作を実行できます。同時に、書籍をクリックして対応する詳細ページにアクセスできます。
アクションシーケンス | 説明する |
---|---|
検索を入力してください | 検索ボックスにキーワードを入力するか、カテゴリをクリックして検索すると、検索結果が検索ページにジャンプします。 |
本の詳細を見る | ユーザーは検索結果内の書籍をクリックして書籍の詳細ページに移動し、書籍の詳細やその書籍に対する他のユーザーのコメントを表示できます。 |
3.1.2 書籍検索機能の実装
図 3.1 書籍の検索
図 3.2 書籍の詳細
3.2 お気に入り
3.2.1 お気に入り機能の設計
ユーザーは、書籍の詳細ページやホームページでお気に入りの書籍をお気に入りに追加できます。ユーザーは、ホームページから個人のお気に入りを入力し、管理操作を実行できます。
アクションシーケンス | 説明する |
---|---|
お気に入りに追加 | ユーザーは書籍の詳細ページで「お気に入りに追加」をクリックするか、ホームページの対応する書籍の上にある「お気に入り」をクリックすることで書籍をお気に入りに追加できます。 |
お気に入りに移動 | ユーザーは、ホームページの上部にある「My Ding Dong」の「お気に入り」からお気に入りページに入ることができます。 |
表示モードを切り替える | ユーザーは、お気に入りページの左上隅にある「サムネイル モード」と「詳細モード」をクリックして、さまざまな表示モードを切り替えることができます。 |
書籍コレクションを削除する | ユーザーは「管理」ボタンをクリックして選択操作を開始し、書籍ボックスをクリックして選択するか、すべてを選択します。選択が完了したら、「削除」をクリックして書籍コレクションを削除します。 |
3.2.2 お気に入り機能の実装
図 3.3 お気に入り - サムネイル
図 3.4 お気に入り - 詳細
図 3.5 お気に入りの管理
3.3 書評
3.3.1 書評機能の設計
ユーザーは注文を完了した後、注文受領ページで購入した書籍を評価および評価できます。さらに、詳細ページでは書評を閲覧できます。
アクションシーケンス | 説明する |
---|---|
注文を入力してください | ユーザーはホームページの「My Ding Dong」から注文ページに入り、「サインあり」に切り替えて書籍を評価できます。 |
レビューブック | ユーザーは、サイン入り書籍の注文で [評価] をクリックし、ポップアップ ウィンドウの星をクリックして評価し、入力ボックスに書籍の評価 (必須オプション) を入力して、[送信] をクリックしてレビューを送信できます。 。 |
3.3.2 書評機能の実装
図 3.6 書評
4.1 ショッピングカート
4.1.1 ショッピングカートの機能設計
ユーザーは、書籍の詳細ページやホームページでお気に入りの書籍をショッピング カートに追加できます。ユーザーはホームページから「Myショッピングカート」に入り、管理操作を行うことができます。
アクションシーケンス | 説明する |
---|---|
カートに追加 | ユーザーは、書籍の詳細ページで [カートに追加] をクリックするか、ホームページ上の対応する書籍の上にある [ショッピングに追加] をクリックして、書籍を個人のショッピング カートに追加できます。 |
ショッピングカートに入る | ユーザーは、ホームページの「ショッピング カート」から個人のショッピング カート ページに入ることができます。 |
数量を変更する | ユーザーは、対応する本の数量列のプラス記号またはマイナス記号をクリックして、ショッピング カート内の本の数量を変更できます。それに応じて、ショッピング カート内の合計金額も自動的に変更されます。 |
お気に入りに移動 | ユーザーは、対応する書籍の横にある [お気に入りに移動] をクリックして、書籍をお気に入りに追加できます。 |
消去 | ユーザーは、該当する書籍の横にある「削除」をクリックするか、書籍自体を確認して、ショッピング カートの内容を一括で削除できます。 |
決済 | ユーザーは「決済」ボタンをクリックすると、決済のための注文モジュールにジャンプします。 |
4.1.2 ショッピングカート機能の実装
図 4.1 ショッピング カートの管理
4.2 順序
4.2.1 順序関数の設計
ショッピング カートをチェックアウトした後、ユーザーは注文ページに入り、このページで配送先住所の選択や注文内容の確認などの関連情報を確認します。
アクションシーケンス | 説明する |
---|---|
注文を入力してください | ショッピングカートの決済内容を確認後、「チェックアウト」をクリックして注文ページへお進みください。 |
アドレス選択 | ユーザーは、既存の個人住所の住所ボックスをクリックしてこの注文の配送先住所を選択するか、「新しい住所を使用」をクリックしてポップアップ ボックスにこの注文の配送先住所情報を入力できます。 |
カートに戻る | ユーザーはページの下部にある [ショッピング カートに戻る] をクリックして取引を終了できます。 |
注文を送信する | ユーザーは「注文を送信」ボタンをクリックして注文を送信し、フィードバック ページにジャンプできます。 |
4.2.2 順序関数の実装
図 4.2 注文管理 - 署名されていない
図 4.3 注文管理署名済み
図 4.4 注文の確認
図 4.5 注文確認時に新しい住所を使用する
4.3 注文管理
4.3.1 注文管理機能の設計
注文を確定した後、ユーザーは「マイオーダー」から注文管理ページに入り、注文番号、本の種類、本の数量、本の紹介などの関連情報をこのページで確認できます。
アクションシーケンス | 説明する |
---|---|
注文管理に入る | ユーザーはメイン ページに入った後、「注文」をクリックして注文管理ページに入ることができます。 |
注文情報の表示 | 注文番号、含まれる本の種類、冊数、注文合計金額、本の紹介など、注文内容を確認できます。 |
商品の受領を確認する | ユーザーは「受領確認」ボタンをクリックすると、未受領の注文を受領済みの注文に変更できます。 |
注文を削除する | ユーザーは、「注文を削除」ボタンをクリックして、削除したい署名付き注文を削除できます。 |
レビューブック | ユーザーは「コメント」ボタンをクリックして、注文内の 1 種類の書籍を評価できます。 |
4.3.2 注文管理機能の実装
図に示すように、ユーザーはメイン ページの「My Order」をクリックして注文管理ページに入ります。
図に示すように、ユーザーは [注文] ページでユーザーの注文の詳細を確認できます。
図に示すように、ユーザーは未受信の注文を署名済みの注文に変更できます。
図に示すように、ユーザーは削除したい署名付き注文を削除できます。
図に示すように、ユーザは注文を受けた書籍のうちの1冊を評価することができる。
5.1 ログイン
5.1.1 ログイン機能の設計
管理者は、ページの下部にある管理者ログイン インターフェイスから管理者ログイン モードに入ることができ、ログインに成功すると、すべての管理者操作を実行できるようになります。
アクションシーケンス | 説明する |
---|---|
ログインインターフェイスに入る | 管理者は、ページの下部にある「管理者ログイン」をクリックすると、ログイン インターフェイスにジャンプできます。 |
ログイン | 管理者はユーザー名とパスワードを入力してログインできますが、入力ボックスの情報は必須です。 |
ログイン成功 | ログインに成功すると、管理者操作ページが表示され、すべての管理者操作が可能になります。 |
ログインに失敗しました | ログインが失敗すると、システムはすべての入力ボックスの情報をクリアし、操作を実行しません。 |
ログインをキャンセルする | 管理者がクリックしてログインをキャンセルすると、ページは最初のホームページにジャンプします。 |
5.1.2 ログイン機能の実装
図 5.1 ホームページ管理者の入り口
図 5.2 管理者ログイン
5.2 管理者の操作
5.2.1 管理者操作機能の設計
ログインに成功すると、管理者は管理者ページでユーザー管理や書籍管理などの管理者操作を行うことができます。
アクションシーケンス | 説明する |
---|---|
管理者ページに入る | 管理者がログインに成功すると、管理者ページにジャンプします。 |
ユーザー管理 | 「ユーザー管理」をクリックすると、管理者はキーワードを入力してユーザーを検索でき、検索されたユーザーが検索ボックスの下に表示されます。管理者は、[削除] をクリックして、対応するユーザーを禁止できます。 |
本を追加する | 「書籍を追加」をクリックした後、管理者は書籍のタイトル、ISBN、著者、カテゴリ、出版社、出版時期、価格、表紙、紹介文などの対応する情報を入力して書籍を追加できます。上記の情報は必須です。 |
書籍情報の変更 | 「書籍情報の変更」をクリックすると、管理者がキーワードを入力して書籍を検索できるようになり、検索された書籍が検索ボックスの下に表示されます。管理者は「ブックの削除」をクリックして、対応するブックを削除できます。また、「書籍情報の変更」をクリックすると、ポップアップウィンドウで該当する書籍の情報を変更することができます。 |
5.2.2 管理者操作機能の実装
図 5.3 管理者によるユーザーの検索と管理
図5.4 管理者による書籍情報の検索と変更
図 5.5 管理者がブックを追加する
6.1 データベース関係図
6.2 全体的なER図
6.3 ユーザーモジュールのER図
6.4 ブックモジュールのER図
6.5 注文モジュールのER図
6.6 コメントモジュールのER図
7.1 ユーザーテーブル
表 7-1 ユーザーテーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | ユーザーID | PK | |
名前 | varchar | 20 | ユーザー名 | |
権限 | varchar | 20 | 権限 | |
アカウント | varchar | 20 | 口座番号 | |
パスワード | varchar | 20 | パスワード | テーブルに保存されるのは、実際のパスワードの md5 値です。 |
性別 | varchar | 10 | 性別 | |
電子メール | varchar | 40 | 郵便 |
7.2 アドレステーブル
表 7-2 アドレステーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | 38 | アドレスID | PK |
名前 | varchar | 20 | 荷受人名 | |
電話 | varchar | 20 | 電話 | |
国 | varchar | 20 | 国家 | |
州 | varchar | 20 | 州 | |
市 | varchar | 20 | 市 | |
地区 | varchar | 20 | 地区 | |
郵便番号 | 番号 | 10 | 郵便番号 | |
ユーザーID | 番号 | ユーザーID | ||
位置 | varchar | 100 | 特定の住所 |
7.3 ライブテーブル
表 7-3 ライブテーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ユーザーID | 番号 | ユーザーID | PK、FK、ユーザーのIDを参照 | |
住所_ID | 番号 | 38 | アドレスID | PK、FK、アドレスのIDを参照 |
7.4 ブックテーブル
表 7-4 図書テーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | 38 | 書籍ID | PK |
ISBN | varchar | 20 | 本のISBN | |
名前 | varchar | 30 | 本のタイトル | |
価格 | 番号 | 価格 | ||
画像 | varchar | 40 | 画像パス | |
カテゴリ | varchar | 20 | 書籍の分類 | |
出版社 | varchar | 100 | 出版社 | |
公開時刻 | varchar | 20 | 発行時期 | |
抽象的な | varchar | 400 | まとめ |
7.5 著者テーブル
表 7-5 著者表
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | 著者ID | PK | |
名前 | varchar | 20 | 名前 |
7.6 書き込みテーブル
表 7-6 書き込みテーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
著者ID | 番号 | 著者ID | PK、FK、作者のIDを参照 | |
本_ID | 番号 | 書籍ID | PK、FK、書籍のIDを参照 |
7.7 カテゴリテーブル
表 7-7 カテゴリ表
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | カテゴリID | PK | |
名前 | varchar | 20 | 名前 |
7.8 所属テーブル
表7-8 所属表
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
本_ID | 番号 | 書籍ID | PK、FK、書籍のIDを参照 | |
カテゴリID | 番号 | カテゴリID | PK.FK、カテゴリIDを参照 |
7.9 注文表
表 7-9 注文表
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | 注文ID | PK | |
ユーザーID | 番号 | 購入者ID | FK、ユーザーのIDを参照してください | |
住所_ID | 番号 | アドレスID | FK、アドレスのIDを参照 | |
量 | 番号 | 総冊数 | ||
価格 | 番号 | 本の合計金額 | ||
述べる | varchar | 100 | 述べる | |
開始時刻 | varchar | 20 | 注文時間 | |
時間取得 | varchar | 20 | 受付時間 | |
状態 | varchar | 20 | 注文状況 | 到着したのか、到着していないのか |
ポストコスト | 番号 | 特急料金 |
7.10 order_include テーブル
表 7-10 order_include テーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
注文ID | 番号 | 注文ID | PK、FK、オーダーのIDを参照 | |
本_ID | 番号 | 書籍ID | PK、FK、書籍のIDを参照 | |
量 | 番号 | 冊数 | ||
価格 | 番号 | この本の合計金額 |
7.11のお気に入りリスト
表7-11 お気に入りテーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ユーザーID | 番号 | ユーザーID | PK、FK、ユーザーのIDを参照 | |
本_ID | 番号 | 書籍ID | PK、FK、書籍のIDを参照 |
7.12 カートテーブル
表 7-12 カートテーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ユーザーID | 番号 | ユーザーID | PK、FK、ユーザーのIDを参照 | |
量 | 番号 | ショッピングカートに入っている本の合計数 | ||
開始時刻 | varchar | 20 | カートに追加する時間 | |
ポストコスト | 番号 | 特急料金 | ||
合計価格 | 番号 | 総費用 |
7.13 cart_include テーブル
表 7-13 cart_include テーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ユーザーID | 番号 | ユーザーID | PK、FK、ユーザーのIDを参照 | |
本_ID | 番号 | 書籍ID | PK.FK、書籍の ID を参照 | |
量 | 番号 | 総冊数 | ||
合計価格 | 番号 | 本の合計金額 |
7.14 コメントテーブル
表 7-14 コメント表
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ID | 番号 | コメントID | PK | |
ユーザーID | 番号 | ユーザーID | FK、ユーザーのIDを参照してください | |
本_ID | 番号 | 書籍ID | FK、書籍の ID を参照 | |
タイトル | varchar | 100 | コメントタイトル | |
コンテンツ | varchar | 2000年 | コメント内容 | |
時間 | varchar | 20 | コメントタイム | |
スコア | 番号 | スコア | ||
total_like | varchar | 20 | いいねの合計数 | |
合計_嫌い | varchar | 20 | 全面反対 | |
合計 | 番号 | 38 | サムアップの合計数とサムダウンの合計数の差 |
7.15 コメント_フィードバックテーブル
表 7-15 コメント_フィードバック テーブル
フィールド名 | データ型 | 長さ | 説明する | 述べる |
---|---|---|---|---|
ユーザーID | 番号 | ユーザーID | PK、FK、ユーザーのIDを参照 | |
コメントID | 番号 | コメントID | PK、FKはコメントのIDを指します。 | |
態度 | varchar | 20 | このレビューに対する態度 | |
時間 | varchar | 20 | 評価時間 |
このクラスは、EF 構造内のエンティティ クラスを表し、サーバー上のデータベースに対応します。DBSet<> 型の各メンバー変数は、データベース内のリレーションシップ インスタンスに対応し、get および set 操作に使用できます。
メンバー変数:
public virtual DbSet < ADDRESS > ADDRESS { get ; set ; }
public virtual DbSet < AUTHOR > AUTHOR { get ; set ; }
public virtual DbSet < BOOK > BOOK { get ; set ; }
public virtual DbSet < CART > CART { get ; set ; }
public virtual DbSet < CART_INCLUDE > CART_INCLUDE { get ; set ; }
public virtual DbSet < CATEGORY > CATEGORY { get ; set ; }
public virtual DbSet < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; }
public virtual DbSet < COMMENTS > COMMENTS { get ; set ; }
public virtual DbSet < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; }
public virtual DbSet < ORDERS > ORDERS { get ; set ; }
public virtual DbSet < USERS > USERS { get ; set ; }
public virtual DbSet < WRITE > WRITE { get ; set ; }
public virtual DbSet < CARTLIST > CARTLIST { get ; set ; }
public virtual DbSet < PURCHASE > PURCHASE { get ; set ; }
public virtual DbSet < ZUOZHE > ZUOZHE { get ; set ; }
このタイプのクラスは、データベース内のリレーショナル スキーマに対応し、そのメンバー変数は、リレーショナル スキーマのすべての属性とその get メソッドと set メソッド、およびメイン コードが他のリレーションおよび外部コード制約によって参照されるレコードと、対応する get に対応します。そしてメソッドを設定します。
いくつかのより重要なクラスのメンバー変数は次のとおりです。
public decimal ID { get ; set ; } public string ISBN { get ; set ; } public string NAME { get ; set ; } public Nullable < decimal > PRICE { get ; set ; } public string IMAGE { get ; set ; } public string CATEGORY { get ; set ; } public string PUBLISHER { get ; set ; } public string PUBLISHTIME { get ; set ; } public string ABSTRACT { get ; set ; } //BOOK关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } //其主码被CART_INCLUDE所引用为外码约束,下面类似 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < WRITE > WRITE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CATEGORY > CATEGORY1 { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < USERS > USERS { get ; set ; }
public decimal ID { get ; set ; } 、 public string NAME { get ; set ; } public string GENDER { get ; set ; } public string EMAIL { get ; set ; } public string PASSWORD { get ; set ; } public string ACCOUNT { get ; set ; } public string AUTHORITY { get ; set ; } //USERS关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS { get ; set ; } //其主码被ADDRESS引用,下面类似 public virtual CART CART { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ORDERS > ORDERS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < BOOK > BOOK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS1 { get ; set ; }
public decimal USER_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public string TIME_START { get ; set ; }
public Nullable < decimal > POST_COST { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART关系的属性
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART_INCLUDED关系的属性
クエリ (著者や書籍に対応する、ショッピング カートや注文内の書籍の詳細情報のクエリなど) を容易にするために、データベース内にいくつかのビューを確立しました。これらのビューには、次のように、モデル内にも対応するクラスがあります。
CART_INCLUDE 関係と BOOK 関係に基づいて、ショッピング カート内の書籍の情報と購入ステータスを知ることができます。
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
AUTHOR 関係、WRTIE 関係、BOOK 関係に基づいて、書籍情報と著者情報が書き込み関係に従ってマッピングされます。
public string AUTHOR_NAME { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
ORDER_INCLUDE 関係に従って BOOK 関係が生成され、注文内の書籍の情報と購入状況を知ることができます。
public decimal ORDER_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
public string ABSTRACT { get ; set ; }
public string PUBLISHER { get ; set ; }
public string AUTHOR_NAME { get ; set ; }
public decimal ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
Controllers クラスは、ビュー表示ページを返し、ページ上の操作リクエストに応答するために使用されるコントローラー内のクラスです。重要な問題は、コントローラーとビューの間のデータ転送を完了することです。 Razor エンジンと ViewBag は主にコントローラーからビューに渡すために使用され、HtmlHelpers、Session および AJAX はビューからコントローラーに渡すために使用されます。
主に書籍詳細ページの表示と、書籍をショッピングカートに追加するリクエストへの応答方法が含まれます。会員機能は次のとおりです。
public ActionResult Index ( int ID ) //读取图书详情页面所需的所有数据,并返回视图进行展示,参数为图书ID
public ActionResult addCart ( cartSender cs ) //将该图书添加至用户购物车中,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为利用HTTPPOST从视图传递数据的model
public int directAddCart ( int bookId ) //在首页将点击的图书添加至用户购物车,成功返回0,无用户登录则返回-1,参数为图书ID
これには主に、お気に入りページの表示と、お気に入りの変更要求に応答する方法が含まれます。このコントローラーのすべての操作を正常に実行するには、ユーザーがログインする必要があります。メンバー機能は次のとおりです。
public ActionResult Index ( int ID ) //读取收藏夹页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public ActionResult addFav ( int ID ) //在图书详情页面将图书加入收藏夹,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为图书ID
public int directAddFav ( int bookId ) //在首页将点击的图书添加至收藏夹,成功返回0,无用户登录则返回-1,参数为图书ID
public void DeleteFav ( int [ ] bookIds ) //将所有选中的图书移除收藏夹,参数为选中的图书的ID
これには主に、ショッピング カート ページの表示と、このコントローラーのすべての操作リクエストに応答するメソッドが含まれます。このコントローラーのすべての操作を正常に実行するには、ユーザーがログインする必要があります。メンバー関数は次のとおりです。
public ActionResult Index ( int ID ) //读取购物车页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void RemoveBook ( int bookId ) //将购物车中的某个图书项目移出购物车,参数为图书ID
public void AddFav ( int bookId ) //将购物车中的某个图书移入收藏并移出购物车,参数为图书ID
public void EditAmount ( int bookId , int bookAmount ) //通过购物车页面的加减按钮改变购物车中某一图书的数量,参数为用户ID和改变后的数量
public ActionResult AddAddress ( ADDRESS aDDRESS ) //响应购物车页面上方地址栏的添加新地址请求,参数为通过HTTPPOST传递的参数model
主に、注文管理ページ、注文記入および完了ページの表示と、これらのページ上のすべての操作要求に応答する方法が含まれます。このコントローラーのすべての操作にはユーザーがログインする必要があります。メンバー機能は次のとおりです。以下に続きます:
public ActionResult Index ( int ID ) //读取订单管理页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void StatusChange ( int orderId ) //在订单管理页面确认收货,参数为订单ID
public void DeleteOrder ( int orderId ) //删除已经签收的订单,参数为订单ID
public void SetComment ( int bookId , int grade , string content ) //对已经签收的图书进行评论,参数为图书ID,分数和评论内容
public int GetOrder ( int [ ] bookIds ) //将购物车中勾选的书目添加至session,返回用户ID
public ActionResult Process_CART ( int ID ) //读取购物车结算时的购买情况,据此返回一个显示订单填写页面,参数为用户ID
public void check ( int addrId ) //根据选择的地址和购买情况生成订单,参数为地址ID
public ActionResult Order_Complete ( ) //显示订单填写成功的页面
主に、管理者ページを表示し、ページ上のすべての操作要求に応答するためのメソッドが含まれます。このコントローラーのすべての操作には、管理者がログインする必要があります。主なメンバー機能は次のとおりです。
public ActionResult Index ( string search_book , string search_user ) //返回管理员操作页面,参数为搜索的图书或用户的字符串
public ActionResult Login ( ) //返回管理员登录页面
public ActionResult Login ( LoginSender msg ) //管理员登录的验证,参数为利用HTTPPOST传递参数的model
public void deleteUser ( int ID ) //删除用户,参数为用户ID
public void deleteBook ( int ID ) //删除书籍,参数为图书ID
public void adjustBook ( int ID , string name , string ISBN , string writer , string category , string publisher , string time , string image , string intro ) //修改书籍