added kashkool

This commit is contained in:
2026-06-11 22:08:47 +03:30
parent 779a67a23e
commit 2d177ad581
24 changed files with 1575 additions and 3 deletions
+70
View File
@@ -0,0 +1,70 @@
<?php
namespace App\Jobs;
use App\Models\Customer;
use App\Models\RouteInfo;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\DB;
class LogRouteCustomerJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $customer;
protected $route;
public function __construct(Customer $customer, string $route)
{
$this->customer = $customer;
$this->route = $route;
}
public function handle()
{
$now = now();
$this->customer->last_using_api = $now;
$this->customer->save();
$parts = explode(' ', $this->route);
if (count($parts) < 2) {
return;
}
$method = trim($parts[0]);
$path = trim($parts[1]);
$routeInfo = RouteInfo::where('method', $method)
->where('route', $path)
->first();
$lastlog = DB::table('customer_route_logs')
->where('customer_id', $this->customer->id)
->where('route', $this->route)
->where('last_using_api', '<', $now)
->orderBy('last_using_api', 'desc')
->first();
if ($lastlog) {
$diff = Carbon::parse($lastlog->last_using_api)->diff($now);
$timeSpentFormatted = sprintf('%02d:%02d:%02d', $diff->h + ($diff->d * 24), $diff->i, $diff->s);
DB::table('customer_route_logs')
->where('id', $lastlog->id)
->update(['time_spent' => $timeSpentFormatted]);
}
DB::table('customer_route_logs')->insert([
'customer_id' => $this->customer->id,
'route' => $this->route,
'route_info_id' => $routeInfo ? $routeInfo->id : null,
'last_using_api' => $now,
'time_spent' => null,
]);
}
}