File: D:/HostingSpaces/SBogers10/vanderkampen.komma.pro/app/KommaApp/Shop/Orders/Kms/OrderMailService.php
<?php
namespace App\KommaApp\Shop\Orders\Kms;
use App\KommaApp\Shop\Orders\Mail\OrderStatusUpdatedCustomer;
use App\KommaApp\Shop\Orders\Mail\OrderStatusUpdatedStaff;
use App\KommaApp\Shop\Orders\Models\Order;
use App\KommaApp\Users\Models\User;
use App\KommaApp\Users\Roles;
/**
* Class OrderMailService
*
* @package App\KommaApp\Shop\Orders\Kms
*/
class OrderMailService implements OrderMailServiceInterface
{
/**
* Mail a customer about their current order status
*
* @param Order $order
* @param User $customer
*/
public function mailCustomerAboutCurrentOrderStatus(Order $order, User $customer)
{
\Mail::to($order->shipping_email)->queue(new OrderStatusUpdatedCustomer($order, $customer));
}
/**
* Mail Staff about an order's current status
*
* @param Order $order
*/
public function mailStaffAboutCurrentOrderStatus(Order $order)
{
$order->load(['customer']);
User::whereIn('role_id', [Roles::SuperAdmin, Roles::Admin])->get(['id', 'email'])->each(function(User $staffMember) use($order) {
\Mail::to($staffMember->email)->queue(new OrderStatusUpdatedStaff($order, $order->customer, $staffMember));
});
}
}