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
4
/ 18
5
/ 18
Most read
6
/ 18
7
/ 18
8
/ 18
9
/ 18
10
/ 18
11
/ 18
12
/ 18
13
/ 18
Most read
14
/ 18
15
/ 18
16
/ 18
17
/ 18
Most read
18
/ 18
More Related Content
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PPTX
C# 8.0 null許容参照型
by
信之 岩永
PPTX
Msを16倍出し抜くwpf開発1回目
by
cct-inc
PPTX
20150530 めとべや東京 Reactive Property + Livetで作るWPFアプリ
by
Takayoshi Tanaka
PDF
Rust製の全文検索エンジンライブラリ(tantivy bayard)を試してみた
by
虎の穴 開発室
PDF
DBスキーマもバージョン管理したい!
by
kwatch
PPTX
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
by
Takahiro Miyaura
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
by
Jun-ichi Sakamoto
やはりお前らのMVCは間違っている
by
Koichi Tanaka
C# 8.0 null許容参照型
by
信之 岩永
Msを16倍出し抜くwpf開発1回目
by
cct-inc
20150530 めとべや東京 Reactive Property + Livetで作るWPFアプリ
by
Takayoshi Tanaka
Rust製の全文検索エンジンライブラリ(tantivy bayard)を試してみた
by
虎の穴 開発室
DBスキーマもバージョン管理したい!
by
kwatch
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
by
Takahiro Miyaura
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
by
Jun-ichi Sakamoto
What's hot
PPTX
ドライブレコーダの画像認識による道路情報の自動差分抽出
by
Tetsutaro Watanabe
PDF
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
by
一希 大田
PDF
四脚ロボットによるつくばチャレンジへの取り組み
by
kiyoshiiriemon
PDF
object detection with lidar-camera fusion: survey
by
Takuya Minagawa
PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
PPTX
Wpfと非同期
by
yone64
PPTX
5分で解るセキュアコーディング
by
Yasuo Ohgaki
PPT
メタプログラミングって何だろう
by
Kota Mizushima
PDF
リッチなドメインモデル 名前探し
by
増田 亨
PDF
KDD Cup 2021 時系列異常検知コンペ 参加報告
by
GentaYoshimura
PDF
20190307 visualslam summary
by
Takuya Minagawa
PDF
tf,tf2完全理解
by
Koji Terada
PDF
gRPC入門
by
Kenjiro Kubota
PDF
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
PDF
できる!並列・並行プログラミング
by
Preferred Networks
PPTX
C++でテスト駆動開発
by
Akineko Shimizu
PDF
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PPTX
PHP と SAPI と ZendEngine3 と
by
do_aki
PDF
WPF開発での陥りやすい罠
by
Sho Okada
ドライブレコーダの画像認識による道路情報の自動差分抽出
by
Tetsutaro Watanabe
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
by
一希 大田
四脚ロボットによるつくばチャレンジへの取り組み
by
kiyoshiiriemon
object detection with lidar-camera fusion: survey
by
Takuya Minagawa
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
Wpfと非同期
by
yone64
5分で解るセキュアコーディング
by
Yasuo Ohgaki
メタプログラミングって何だろう
by
Kota Mizushima
リッチなドメインモデル 名前探し
by
増田 亨
KDD Cup 2021 時系列異常検知コンペ 参加報告
by
GentaYoshimura
20190307 visualslam summary
by
Takuya Minagawa
tf,tf2完全理解
by
Koji Terada
gRPC入門
by
Kenjiro Kubota
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
できる!並列・並行プログラミング
by
Preferred Networks
C++でテスト駆動開発
by
Akineko Shimizu
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PHP と SAPI と ZendEngine3 と
by
do_aki
WPF開発での陥りやすい罠
by
Sho Okada
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