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 关注
- 278 浏览
添加回答
举报