注文処理ミニオン
Orders プラグインは、注文処理フロー全体で重要な役割を果たすミニオンを提供します。これらのミニオンは、注文が完了するまで、[処理待ち] ステータスから開始して、以降のステータスに注文のステータスを移動します。
処理待ち注文ミニオン
処理待ち注文プロセスは、スケーリングされたミニオンを使用して管理されます。
PendingOrdersMinionBoss
はスケーリングされたミニオンであり、PendingOrdersList
を監視します。これは 5 分ごとに実行され、ラウンドロビン アルゴリズムを使用して、リスト内のアイテムを 2 つの子 PendingOrderMinions
に配分してから、以降の処理を実施します。
PendingOrdersMinion
には、PendingOrderMinionBoss
の子として定義される 2 つのインスタンス、PendingOrders.1
および PendingOrders.2
があります。処理待ち注文を処理する各子ミニオンは、親ミニオン (PendingOrdersMinionBoss
) から渡された、処理待ち注文の各自のリストを監視します。
PendingOrderMinion
は IPendingOrdersMinionPipeline
を実行します。このパイプラインは、注文された全品目が提供可能かどうかを確認してから、以下を実行します。
-
対応する営業活動を生成します。
-
必要に応じて支払いを処理します。
-
注文を
ReleasedOrders
リストに移動します。 -
注文のステータスを [リリース済み] に変更します。
注文に含まれるいずれかの品目が用意できない場合、IPendingOrdersMinionPipeline
はこの処理待ち注文を WaitingForAvailabilityOrders
リストに移動します。この注文のステータスは、[処理待ち] から [入荷待ち] に変わります。
何らかの問題や状況により、正常な注文プロセス フローが中断されると、注文ステータスが [問題] に変わり、この注文は問題のある注文リストに加えられます。
WaitingForAvailabilityOrdersMinion
WaitingForAvailabilityOrdersMinion
は WaitingForAvailabilityOrders
リストを監視して、注文に含まれる品目の在庫確認を行う IWaitingForAvailabilityOrdersMinionPipeline
を実行します。欠品商品の在庫が揃うと、この注文は PendingOrderslist
に戻され、[処理待ち] ステータスに変わります。
WaitingForAvailabilityOrdersMinion
は、5 分ごとに実行されます。
ReleasedOrdersMinion
ReleasedOrdersMinion
は ReleasedOrdersList
を監視します。IReleasedOrdersMinionPipeline
を呼び出し、注文を完了する準備ができているかどうかを確認します。
注文のリリースが準備できている場合は、注文の出荷またはエンタイトルメントを生成し、この注文を CompletedOrderList
に移動します。注文のステータスは [完了] に変わります。
Sitecore XC 9.2 では、SettleSalesActivitiesMinion
および iSettleSalesActivitiesPipeline
は廃止され、ReleasedOrdersMinion
が統合決済の営業活動に関する決済を行います。ギフト カードの支払いに対する営業活動は、引き続き PendingOrdersMinion
が決済します。
ReleasedOrdersMinion
は、統合決済を 1 回だけ試みます。決済プロバイダー (Braintree など) が決済に失敗した場合、この営業活動および注文は「問題」とマークされ、「問題」リストに加えられます。それ以外の場合は、営業活動は「決済済み」とマークされ、「決済済み」リストに移動されます。その後、この注文は「完了」とマークされ、「完了」リストに移動されます。
ReleasedOrdersMinion
は、5 分ごとに実行されます。
RefundRmasMinion
RefundRmasMinion
は RefundPendingRmas
リストを監視します。返金承認要求を処理する IRefundRmasMinionPipeline
を呼び出し、返品を含む注文に対し、注文の支払い額を返金します。
RefundRmasMinion
は、5 分ごとに実行されます。