laravel event使用

1,controller中调用
event(new OrderApproved($reportTaskModel));
2,app/Event/
OrderApproved.php中继承event
class OrderApproved extends Event
{
    use SerializesModels;
    /**
     * @var InventoryHistoryDetailsReportTask
     */
    public $reportTask;

    /**
     * Create a new event instance.
     *
     * @param ReportTask $reportTask
     */
    public function __construct(ReportTask $reportTask)
    {
        //
        $this->reportTask = $reportTask;
    }

    /**
     * Get the channels the event should be broadcast on.
     *
     * @return array
     */
    public function broadcastOn()
    {
        return [];
    }
}
3,app/Providers/EventServiceProvider.php中绑定
protected $listen = [
    'SocialiteProviders\Manager\SocialiteWasCalled' => [
        // add your listeners (aka providers) here
        'SocialiteProviders\Thebizark\ThebizarkExtendSocialite@handle',
        'SocialiteProviders\Qq\QqExtendSocialite@handle',
        'SocialiteProviders\Weibo\WeiboExtendSocialite@handle',
        'SocialiteProviders\Weixin\WeixinExtendSocialite@handle',
        'SocialiteProviders\Live\LiveExtendSocialite@handle',
    ],
    \App\Events\OrderApproved::class => [
        \App\Listeners\OrderApprovedEventListenerNotification::class,
    ],]
4,
OrderApprovedEventListenerNotification.php中处理物理逻辑(
updateInventoryStatus


class 
OrderApprovedEventListenerNotification
{ /** * @var DetailsReportServiceTask */ private $detailsReportServiceTask ; /** * Create the event listener. * * @param DetailsReportServiceTask $detailsReportServiceTask */ public function __construct (DetailsReportServiceTask $detailsReportServiceTask ) { // $this -> detailsReportServiceTask = $detailsReportServiceTask ; } /** * Handle the event. * * @param DetailsReportTaskApproved $event * @return void */ public function handle (DetailsReportTaskApproved $event ) { // try { $this -> detailsReportServiceTask -> updateInventoryStatus ( $event -> detailsReportTask , [ 'task_status' =>DetailsReportTaskRepository:: TASKSTATUS_QUEUED , ]) ; } catch (AppRuntimeException $ex ){ // Log::error('Event updateInventoryStatus Exception',['code'=>$ex->getCode(),'message'=>$ex->getMessage()]); } } }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值