3 回答

TA貢獻1845條經驗 獲得超8個贊
一般在Listeners 里面就可以完成發送郵件了,你想用api的話,可以把api作為全局的helper來用,或者use ../Api, 然后在SendEmail handle方法new Api()調用

TA貢獻1818條經驗 獲得超11個贊
如果是我的話,我會這么做
首先先創建一個OrderCreated
的事件
再創建一個OrderCreatedListener
,監聽OrderCreated
事件
再創建一個OrderCreatedNotification
,用于處理訂單創建的通知
最后創建一個OrderCreatedMail
,用于生成通知郵件
調用方式是控制器觸發OrderCreated
事件,OrderCreatedListener
監聽到事件,觸發OrderCreatedNotification
,OrderCreatedNotification
再調用OrderCreateMail
生成通知郵件,最后發送
這么做的好處
通知從監聽器解耦。監聽器不僅僅只做通知的功能,還可以做例如訂單超時關閉等其他功能(當然也可以額外再創建一個
Listener
處理)。通知非常易于擴展。后期可以非常方便的擴展通知頻道,比如App通知、短信通知等。
Mail
與通知解耦。通知里面可以根據用戶類型,調用不同的通知郵件,例如針對VIP用戶和普通用戶,調用不同的Mail
類模板,生成不同的Mail
。
題主可以根據自己的業務復雜程度進行相應的增減步驟
- 3 回答
- 0 關注
- 268 瀏覽
添加回答
舉報