store-manage/app/Services/MessageService.php

34 lines
830 B
PHP

<?php
namespace App\Services;
use App\Enums\MessageType;
use App\Models\Employee;
use App\Models\Message;
class MessageService
{
/**
* 创建消息通知
*
* @param array<int, \App\Models\Employee|int> $employees
*/
public function create(MessageType $type, ?string $title, ?string $content, array $employees = [], array $additional = [])
{
$employeeIds = collect($employees)->map(function ($employee) {
if ($employee instanceof Employee) {
return $employee->id;
}
return (int) $employee;
})->all();
Message::create([
'type' => $type,
'title' => $title,
'content' => $content,
'additional' => $additional,
'employee_ids' => $employeeIds,
]);
}
}