order-food-admin/app/Models/Traits/SendQuanTicketTrait.php

37 lines
1.2 KiB
PHP

<?php
namespace App\Models\Traits;
use Carbon\Carbon;
use App\Models\{QuanTicket,UserTicket};
trait SendQuanTicketTrait
{
public function sendTicket($quan_ids, $admin_id = 0, $desc=''){
if(!is_array($quan_ids)){
$quan_ids = [$quan_ids];
}
$user_tickets = [];
$quan_tickets = QuanTicket::whereIn('id', $quan_ids)->get();
foreach($quan_tickets as $quan_ticket){
$now_time = Carbon::now();
$user_ticket = [];
$user_ticket['user_id'] = $this->id;
$user_ticket['quan_id'] = $quan_ticket->id;
$user_ticket['admin_user_id'] = $admin_id;
$user_ticket['use_day'] = $quan_ticket->use_day;
$user_ticket['start_time'] = $quan_ticket->start_time ?? $now_time;
$user_ticket['end_time'] = $quan_ticket->end_time ?? Carbon::now()->addDays($user_ticket['use_day']);
$user_ticket['ticket_desc'] = $desc;
$user_ticket['created_at'] = $now_time;
$user_ticket['updated_at'] = $now_time;
$user_tickets[] = $user_ticket;
}
if(count($user_tickets) > 0){
UserTicket::insert($user_tickets);
}
}
}