Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Chihiro Adachi
3,431 views
2019/2/7 EC-CUBE東京UG勉強会-PurchaseFlowの使い方-
EC-CUBE4.0で実装された、PurchaseFlowの解説です
Engineering
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 18
2
/ 18
3
/ 18
Most read
4
/ 18
5
/ 18
Most read
6
/ 18
7
/ 18
8
/ 18
9
/ 18
10
/ 18
11
/ 18
12
/ 18
13
/ 18
14
/ 18
15
/ 18
16
/ 18
17
/ 18
Most read
18
/ 18
More Related Content
PPTX
Keycloakの実際・翻訳プロジェクト紹介
by
Hiroyuki Wada
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
by
Yahoo!デベロッパーネットワーク
PDF
"商用ホワイトボックス暗号方式" に対する "鍵回復攻撃" by アン・サンファン
by
CODE BLUE
PDF
例外設計における大罪
by
Takuto Wada
PPTX
分散システムについて語らせてくれ
by
Kumazaki Hiroki
PDF
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
PDF
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
Keycloakの実際・翻訳プロジェクト紹介
by
Hiroyuki Wada
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
ヤフー社内でやってるMySQLチューニングセミナー大公開
by
Yahoo!デベロッパーネットワーク
"商用ホワイトボックス暗号方式" に対する "鍵回復攻撃" by アン・サンファン
by
CODE BLUE
例外設計における大罪
by
Takuto Wada
分散システムについて語らせてくれ
by
Kumazaki Hiroki
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
What's hot
PDF
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
by
T. Suwa
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PDF
Linux女子部 systemd徹底入門
by
Etsuji Nakai
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PDF
Scapyで作る・解析するパケット
by
Takaaki Hoyo
PPTX
テストコードの DRY と DAMP
by
Yusuke Kagata
PDF
SATySFi 最近の発展と目下実装中の変更
by
T. Suwa
PDF
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
by
Hironori Washizaki
PDF
SAT/SMTソルバの仕組み
by
Masahiro Sakai
PDF
FlutterでGraphQLを扱う
by
IgaHironobu
PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み
by
Chihiro Ito
PDF
Marp Tutorial
by
Rui Watanabe
PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
by
DeNA
PDF
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
PDF
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
PDF
Test Yourself - テストを書くと何がどう変わるか
by
Takuto Wada
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
by
T. Suwa
Dockerからcontainerdへの移行
by
Kohei Tokunaga
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
Linux女子部 systemd徹底入門
by
Etsuji Nakai
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
Scapyで作る・解析するパケット
by
Takaaki Hoyo
テストコードの DRY と DAMP
by
Yusuke Kagata
SATySFi 最近の発展と目下実装中の変更
by
T. Suwa
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
by
Hironori Washizaki
SAT/SMTソルバの仕組み
by
Masahiro Sakai
FlutterでGraphQLを扱う
by
IgaHironobu
Javaはどのように動くのか~スライドでわかるJVMの仕組み
by
Chihiro Ito
Marp Tutorial
by
Rui Watanabe
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
by
DeNA
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
Test Yourself - テストを書くと何がどう変わるか
by
Takuto Wada
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
Download