Soumettre la recherche
Mettre en ligne
2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-
•
3 j'aime
•
3,147 vues
Chihiro Adachi
Suivre
EC-CUBE4.0で実装された、PurchaseFlowの解説です
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 18
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
Tomohiro Shinden
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi
Google Cloud Platform - Japan
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Recommandé
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
Tomohiro Shinden
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi
Google Cloud Platform - Japan
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
初めての Spanner 移行
初めての Spanner 移行
Igarashi Toru
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
Ryuji Tamagawa
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
株式会社MonotaRO Tech Team
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
トランザクション入門
トランザクション入門
Kumazaki Hiroki
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
ShichijoYuhi
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo!デベロッパーネットワーク
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
NTT DATA Technology & Innovation
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Yahoo!デベロッパーネットワーク
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
LakeTahoe
LakeTahoe
Yahoo!デベロッパーネットワーク
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
VirtualTech Japan Inc.
Contenu connexe
Tendances
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
初めての Spanner 移行
初めての Spanner 移行
Igarashi Toru
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
Ryuji Tamagawa
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
株式会社MonotaRO Tech Team
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
トランザクション入門
トランザクション入門
Kumazaki Hiroki
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
ShichijoYuhi
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo!デベロッパーネットワーク
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
NTT DATA Technology & Innovation
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Yahoo!デベロッパーネットワーク
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
LakeTahoe
LakeTahoe
Yahoo!デベロッパーネットワーク
Tendances
(20)
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
初めての Spanner 移行
初めての Spanner 移行
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
地理分散DBについて
地理分散DBについて
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
トランザクション入門
トランザクション入門
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
How to build massive service for advance
How to build massive service for advance
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
トランザクションの設計と進化
トランザクションの設計と進化
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
Aws Batchを用いたサーバレスな競馬スクレイピング環境.pptx
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
LakeTahoe
LakeTahoe
Similaire à 2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
VirtualTech Japan Inc.
JPiere 伝票の基礎知識
JPiere 伝票の基礎知識
Hideaki Hagiwara
kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事
Cybozu, Inc.
ログにまつわるエトセトラ
ログにまつわるエトセトラ
菊池 佑太
SubversionとSugarsync
SubversionとSugarsync
Hidenori Goto
Gui自動テストツール基本
Gui自動テストツール基本
Tsuyoshi Yumoto
プロジェクトマネジメント入門以前 Web
プロジェクトマネジメント入門以前 Web
minamo
TopSE.20121119
TopSE.20121119
Osamu Habuka
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdf
ssuser41f27b
Similaire à 2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-
(10)
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
仮想化専門コンサルタントが教える「成功する仮想化導入のポイント」
JPiere 伝票の基礎知識
JPiere 伝票の基礎知識
kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事
ログにまつわるエトセトラ
ログにまつわるエトセトラ
SubversionとSugarsync
SubversionとSugarsync
Gui自動テストツール基本
Gui自動テストツール基本
プロジェクトマネジメント入門以前 Web
プロジェクトマネジメント入門以前 Web
TopSE.20121119
TopSE.20121119
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdf
2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-
1.
EC-CUBE東京ユーザグループ勉強会 2019/02/07
2.
chihiro-adachi (足立 智広) 株式会社イーシーキューブ -
@chihiro-adachi - EC-CUBEエバンジェリスト
3.
アジェンダ ● 導入 ○ 今日のゴール ○
PurchaseFlowとは ● カスタマイズ例(デモ) ● PurchaseFlowの仕組み ● カスタマイズ例の解説 ● まとめ
4.
今日のゴール ● PurchaseFlowの仕組みがわかる ● Processorのカスタマイズができるようになる
5.
PurchaseFlowとは ● 受注の集計処理や整合性チェック・受注明細の操作を拡 張できる仕組み ● たとえば... ○
値引きの計算を行う ○ 送料計算を行う ○ 合計金額を集計する ○ 在庫切れ商品のチェックを行う
6.
PurchaseFlowとは ● 集計処理や、在庫チェックなどのバリデーションは、受注に関わる共通したロ ジック ● 従来は、利用される画面で個別に実装されており、カスタマイズ時の影響が 読みづらい、再利用しにくいなどの課題があった ●
集計フローを制御するPurchaseFlowと、各処理を行うProcessorに分離し、ロ ジックを差し替えたり、新たなバリデーションを追加したりなど拡張できるよう に対応 https://github.com/EC-CUBE/ec-cube/pull/2424
7.
カスタマイズ例(デモ)
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.
PurchaseFlowの仕組み
10.
PurchaseFlowとProcessor ● PurchaseFlow ○ 明細処理や集計処理の全体のフローを制御する Processorを順次実行していく ●
Processor ○ 受注や明細に対するバリデーションや操作を行う ○ たとえば ■ 値引き明細を追加する ■ 販売制限数のチェックを行う ○ 実行タイミングはアノテーションや実装するインター フェースで指定する(後述)
11.
PurchaseFlowの流れ ①受注明細のバリデーション ②受注のバリデーション 金額集計 ③受注の操作 ④値引き明細の操作 ⑤金額確定後の操作・バリデー ション 金額集計 金額集計 金額集計 ※PurchaseFlow::validate()の処理 金額集計
12.
2系・3系の購入処理の流れ https://github.com/EC-CUBE/ec-cube/pull/2424
13.
PurchaseFlowの流れ 概要 具体例(一部抜粋) 実装するインターフェース 明細のバリデーション
商品価格の変更チェック 商品の公開ステータスチェック ItemValidator 受注のバリデーション 在庫チェック 販売制限数のチェック ItemHolderValidator 受注の操作 注文番号の払い出し 送料の明細の追加 送料無料条件の適用 支払い手数料の明細の追加 ItemHolderPreprocessor 値引き明細の操作 ポイント値引明細の追加 DiscountProcessor 金額確定後の操作・バリデーション 合計金額のマイナスチェック ItemHolderPostValidator
14.
3種類のフロー ● CartFlow ○ カート画面、カートブロックで実行される ●
ShoppingFlow ○ 購入確認画面、完了画面で実行される ● OrderFlow ○ 管理画面の受注登録画面で実行される
15.
カスタマイズ例の解説 (ソースコード見ながら)
16.
まとめ
17.
覚えるのは3つだけ ● PurchaseFlowは集計や明細処理のフロー全体を制御し、 Processorを実行していく ● Processorはバリデーションや明細の操作をする ●
Processorをどのタイミングで実行するかは、アノテーショ ンや実装するインターフェースで指定
18.
Thanks #eccube
Télécharger maintenant