forked from felipe.fontana/simples-painel
Felipe Fontana
6 months ago
11 changed files with 280 additions and 36 deletions
@ -0,0 +1,76 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace App\Models; |
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory; |
||||||
|
use Illuminate\Database\Eloquent\Model; |
||||||
|
use Illuminate\Support\Facades\DB; |
||||||
|
use Illuminate\Support\Carbon; |
||||||
|
|
||||||
|
class LicencaFixa extends Model |
||||||
|
{ |
||||||
|
use HasFactory; |
||||||
|
|
||||||
|
protected $table = "fixed_licenses"; |
||||||
|
public $timestamps = false; |
||||||
|
|
||||||
|
protected $fillable = [ |
||||||
|
"id_empresa", |
||||||
|
"used", |
||||||
|
"updated_at", |
||||||
|
"created_at" |
||||||
|
]; |
||||||
|
|
||||||
|
public function list(array $params) |
||||||
|
{ |
||||||
|
$licenses = DB::table('fixed_licenses as fl') |
||||||
|
->select('fl.*'); |
||||||
|
|
||||||
|
if(isset($params['id_empresa'])){ |
||||||
|
$licenses->where('fl.id_empresa', $params['id_empresa']); |
||||||
|
} |
||||||
|
|
||||||
|
if(isset($params['used'])){ |
||||||
|
$licenses->where('fl.used', $params['used']); |
||||||
|
} |
||||||
|
|
||||||
|
return $licenses->orderBy('fl.used')->get(); |
||||||
|
} |
||||||
|
|
||||||
|
public function listDisponiveis(array $params) |
||||||
|
{ |
||||||
|
$licenses = DB::table('fixed_licenses as fl') |
||||||
|
->select('fl.*') |
||||||
|
->whereNull('fl.updated_at') |
||||||
|
->orWhere('fl.updated_at', '<', Carbon::now()->subDay()); |
||||||
|
|
||||||
|
if(isset($params['id_empresa'])){ |
||||||
|
$licenses->where('fl.id_empresa', $params['id_empresa']); |
||||||
|
} |
||||||
|
|
||||||
|
if(isset($params['used'])){ |
||||||
|
$licenses->where('fl.used', $params['used']); |
||||||
|
} |
||||||
|
|
||||||
|
return $licenses->orderBy('fl.updated_at', 'asc')->get(); |
||||||
|
} |
||||||
|
|
||||||
|
public function create(int $id_empresa) |
||||||
|
{ |
||||||
|
DB::beginTransaction(); |
||||||
|
try { |
||||||
|
DB::table('fixed_licenses')->insert([ |
||||||
|
"id_empresa" => $id_empresa, |
||||||
|
"used" => false, |
||||||
|
"created_at" => "now()" |
||||||
|
]); |
||||||
|
|
||||||
|
DB::commit(); |
||||||
|
return true; |
||||||
|
} catch (\Throwable $th) { |
||||||
|
DB::rollBack(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue