劇場でチケット予約を実現するためのivxの使用経験の要約

今日は劇場チケットモデルを作成します。このモデルでは、ユーザーは映画、番組、座席を選択でき、複数の映画チケットの予約を一度にサポートできます。具体的な実装方法について説明します。
1.データベース
1.
実際の場合、映画ライブラリはキャストテーブルや映画の説明などのフィールドを追加する必要がある場合があります。モデルでは、簡略化し、映画名と映画ポスターのみを保存します。
劇場でチケット予約を実現するためのivxの使用経験の要約
2.
講堂の座席は一般的にランクに従ってソートされるため、2次元配列を使用して講堂の座席情報を格納できます。ただし、講堂の座席は次の図のようになる場合があり、完全な2次元配列に対応していないため、配列要素をtrueおよびfalseにして、対応する座席があるかどうかを示します。具体的な操作は、JSONフィールドのロケーションマップを追加し、2次元配列をJSON文字列形式に書き込んで、データベースに追加することです。さらに、JSONフィールドの予約マップも追加する必要があります。このフィールドのtrueとfalseは、座席が予約されているかどうかを示しますが、各シアターが複数回表示されるため、特定の予約状況をシアターライブラリに反映することはできません。はい、予約されていないすべての座席の初期状態データのコピーを保存するだけです。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
3.
セッションライブラリ最初のいくつかのフィールドには、映画の名前、日付、開始時間と終了時間、劇場の名前などの基本情報が格納されます。背面のロケーションマップと予約マップは、劇場のライブラリと同じ意味で追加されます。新しいショーの初期値は、講堂ライブラリの出力によって直接割り当てられます(この場合、Ctrl + Cを使用します。Ctrl+ Vをデータベースに直接入力できます)。明らかに、ライブラリの予約済みマップフィールドの値は、ユーザーの予約操作によって変化します。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
4.ユーザーの座席選択レコード
このデータベースには、ユーザーが成功した座席予約の操作レコードが格納されます。これは、データベースがデフォルトで送信ユーザーを追加するため、2つのフィールドを使用して、ユーザーの映画イベントIDと座席選択を記録するだけで済みます。 。ここでの「ユーザー選択」は1次元配列形式のJSONフィールドであり、各引用符の内容は座席、行番号の前の「-」、列番号の後の「-」を表すことに注意してください。
劇場でチケット予約を実現するためのivxの使用経験の要約
2.サービス
1.ビデオを選択
映画サービスを選択して、選択した映画の名前をサービスに渡します。データベースは、エピソードライブラリ内の映画のすべてのエピソードを出力して返します。
劇場でチケット予約を実現するためのivxの使用経験の要約
2.番組を選択する
実際には、映画を選択すると、映画のすべての番組情報がフロントデスクに出力されていますが、フロントデスクに出力した後、チケットを正常に予約し、バックグラウンドデータを更新した他のユーザーがいる可能性があります。データIDを使用して、イベントライブラリにイベントの最新データを出力させます。
劇場でチケット予約を実現するためのivxの使用経験の要約
3.座席選択と予約サービス
次は、ケース座席選択と予約サービスの中核であり、サービスに渡す必要があるのは、IDと座席選択の1次元配列です。最初に、ショーの座席表をバックグラウンドの2次元配列に出力し、数値変数「利用可能なチケットの数」をゼロにリセットします。その後、ユーザーが選択した各座席がループで予約されているかどうかを判断し、そうでない場合は、「利用可能なチケットの数」を1増やして、2次元配列の対応する要素をtrueに変更します。
ループの終了後、「利用可能なチケットの数」がユーザーによってサービスに渡された1次元配列の要素の数と等しい場合、ユーザーが選択した座席はすべて予約可能であり、更新された2次元配列は会場ライブラリに更新されます中および戻り成功。等しくない場合、別のユーザーがこの座席を予約したことを意味します。予約が失敗した場合、戻り失敗です。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
3.フロントデスク
1.ムービー選択ページ
ページが初期化されると、ムービーライブラリがすべてのムービーを前景のオブジェクト配列に出力し、ループによってすべてのムービーを作成および表示します。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
ユーザーが特定の映画を選択すると、映画を選択するためのサービスが呼び出され、返された映画セッション情報がフォアグラウンドのオブジェクト配列「Course Selection」に保存されます。
劇場でチケット予約を実現するためのivxの使用経験の要約
2.イベント選択ページ
イベント選択ページでは、ループの作成を通じてすべてのイベントを表示します。ユーザーがセッションを選択すると、選択されたセッションサービスがセッションIDによって呼び出されてセッションデータが取得され、返された結果の予約済みマップとロケーションマップが2つの2次元配列に保存されます。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
3.場所選択ページ
場所の選択ページで、最初に2次元配列「場所マップ」を使用して2層ループを作成し、ifコンテナーを使用して現在のデータ値を判断します。trueの場合、その時点で座席があり、座席アイコンが表示されます。 Falseは、プレースホルダーと同じ背景色の分割線コンポーネントを使用します。もちろん、現在のユーザーによって予約されている、予約されていない、および選択されている座席の3つのケースが表示されます。座席がある場合に座席が予約されているかどうか、および現在予約されていない場合に予約されているかどうか、さらに2つのレベルの判断を行う必要があります。ユーザーが選択しました。
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
劇場でチケット予約を実現するためのivxの使用経験の要約
次は予約操作のロジックです。予約されていない座席アイコンをクリックすると、最初に座席が1次元配列の「ユーザー選択」にあるかどうかを判断し、そうでない場合は、座席の行番号を使用してスペルします「ユーザー選択」に「3-3」のような形式が追加され、すでに「ユーザー選択」にある場合は配列から値が削除されます。(前のステップでは、ユーザーが選択したifコンテナとして座席が表示されているかどうかが判断され、フィルタリング条件はここのロジックに対応しています。
劇場でチケット予約を実現するためのivxの使用経験の要約
最後に、予約が送信され、無効化された属性と下部ボタンの内容は「ユーザー」と同じです。 「選択」はデータバインディングです。「ユーザー選択」の要素数が0の場合、つまり現在のユーザーが座席を選択していない場合、ボタンは無効になり、「座席を選択してください」が表示されます。ユーザーが座席を選択すると、ボタンに「チケットを購入」と表示されますクリックを許可します。クリック後、座席選択予約サービスが呼び出され、セッションの最新データ情報が返され、予約結果がユーザーに通知されます。
劇場でチケット予約を実現するためのivxの使用経験の要約
サマリー
ケース最初の難点は、適切なデータ構造を使用してユーザーの予約情報を格納することです。これには、JSON文字列を使用して必要な変数形式を設計することに熟練している必要があります。2番目は、座席のステータスを表示するときにそれを使用することです。コンテナーとifコンテナーを多層にするために、ここでは、各レイヤーループのデータ形式とタイプ、および判断するifコンテナーの条件付きブランチ構造を明確にする必要があります。

おすすめ

転載: blog.51cto.com/14556317/2489491