Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-

490 views

Published on

EC-CUBE4.0で実装された、PurchaseFlowの解説です

Published in: Engineering
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-

  1. 1. EC-CUBE東京ユーザグループ勉強会 2019/02/07
  2. 2. chihiro-adachi (足立 智広) 株式会社イーシーキューブ - @chihiro-adachi - EC-CUBEエバンジェリスト
  3. 3. アジェンダ ● 導入 ○ 今日のゴール ○ PurchaseFlowとは ● カスタマイズ例(デモ) ● PurchaseFlowの仕組み ● カスタマイズ例の解説 ● まとめ
  4. 4. 今日のゴール ● PurchaseFlowの仕組みがわかる ● Processorのカスタマイズができるようになる
  5. 5. PurchaseFlowとは ● 受注の集計処理や整合性チェック・受注明細の操作を拡 張できる仕組み ● たとえば... ○ 値引きの計算を行う ○ 送料計算を行う ○ 合計金額を集計する ○ 在庫切れ商品のチェックを行う
  6. 6. PurchaseFlowとは ● 集計処理や、在庫チェックなどのバリデーションは、受注に関わる共通したロ ジック ● 従来は、利用される画面で個別に実装されており、カスタマイズ時の影響が 読みづらい、再利用しにくいなどの課題があった ● 集計フローを制御するPurchaseFlowと、各処理を行うProcessorに分離し、ロ ジックを差し替えたり、新たなバリデーションを追加したりなど拡張できるよう に対応 https://github.com/EC-CUBE/ec-cube/pull/2424
  7. 7. カスタマイズ例(デモ)
  8. 8. カスタマイズ例(デモ) ● 「10,000円以上の購入で500円の値引き」を作る ● 作成するファイルは一つだけ ○ app/Customize/Service/PurchaseFlow/Processor/NebikiProcessor. php ● ソースコード ○ https://github.com/chihiro-adachi/ec-cube/tree/demo-tokyo ○ https://github.com/chihiro-adachi/ec-cube/compare/ad03d2d0078f8 347c0a8fae9acc1ced74bf6e967...demo-tokyo
  9. 9. PurchaseFlowの仕組み
  10. 10. PurchaseFlowとProcessor ● PurchaseFlow ○ 明細処理や集計処理の全体のフローを制御する Processorを順次実行していく ● Processor ○ 受注や明細に対するバリデーションや操作を行う ○ たとえば ■ 値引き明細を追加する ■ 販売制限数のチェックを行う ○ 実行タイミングはアノテーションや実装するインター フェースで指定する(後述)
  11. 11. PurchaseFlowの流れ ①受注明細のバリデーション ②受注のバリデーション 金額集計 ③受注の操作 ④値引き明細の操作 ⑤金額確定後の操作・バリデー ション 金額集計 金額集計 金額集計 ※PurchaseFlow::validate()の処理 金額集計
  12. 12. 2系・3系の購入処理の流れ https://github.com/EC-CUBE/ec-cube/pull/2424
  13. 13. PurchaseFlowの流れ 概要 具体例(一部抜粋) 実装するインターフェース 明細のバリデーション 商品価格の変更チェック 商品の公開ステータスチェック ItemValidator 受注のバリデーション 在庫チェック 販売制限数のチェック ItemHolderValidator 受注の操作 注文番号の払い出し 送料の明細の追加 送料無料条件の適用 支払い手数料の明細の追加 ItemHolderPreprocessor 値引き明細の操作 ポイント値引明細の追加 DiscountProcessor 金額確定後の操作・バリデーション 合計金額のマイナスチェック ItemHolderPostValidator
  14. 14. 3種類のフロー ● CartFlow ○ カート画面、カートブロックで実行される ● ShoppingFlow ○ 購入確認画面、完了画面で実行される ● OrderFlow ○ 管理画面の受注登録画面で実行される
  15. 15. カスタマイズ例の解説 (ソースコード見ながら)
  16. 16. まとめ
  17. 17. 覚えるのは3つだけ ● PurchaseFlowは集計や明細処理のフロー全体を制御し、 Processorを実行していく ● Processorはバリデーションや明細の操作をする ● Processorをどのタイミングで実行するかは、アノテーショ ンや実装するインターフェースで指定
  18. 18. Thanks #eccube

×