49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Listeners;
|
|
|
|
use App\Models\Card;
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use RuLong\Order\Events\OrderPaid as OrderPaidEvent;
|
|
use RuLong\Order\Models\Order;
|
|
|
|
class OrderPaidListener implements ShouldQueue
|
|
{
|
|
|
|
public $queue = 'LISTENER';
|
|
|
|
/**
|
|
* Handle the event.
|
|
*
|
|
* @param OrderPaidEvent $event
|
|
* @return void
|
|
*/
|
|
public function handle(OrderPaidEvent $event)
|
|
{
|
|
|
|
$order = Order::find($event->order->id);
|
|
|
|
if ($order->type == 'PICK') {
|
|
//提货产品 更新card
|
|
$card = $order->card;
|
|
$card->status = 5;
|
|
$card->active_id = $order->user_id;
|
|
$card->actived_at = time();
|
|
$card->save();
|
|
foreach ($order->details as $key => $detail) {
|
|
if ($detail->item_type == 'App\Models\Mobile') {
|
|
$detail->item->paid($order->user_id);
|
|
}
|
|
}
|
|
$order->user->identityUpdate(1, 'PickAutoUp');
|
|
$order->user->UpdateRelation($card->user);
|
|
}
|
|
|
|
//增加销量
|
|
foreach ($order->details as $detail) {
|
|
$detail->item->addSold($detail->number);
|
|
}
|
|
|
|
}
|
|
}
|