63 lines
1.5 KiB
PHP
63 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Schema\Blueprint;
|
|
use Schema;
|
|
|
|
class Log extends Model
|
|
{
|
|
|
|
protected $guarded;
|
|
|
|
protected $table;
|
|
|
|
protected $casts = [
|
|
'in_source' => 'array',
|
|
'out_source' => 'array',
|
|
];
|
|
|
|
const TYPE_FREEZECOUPON = 'freezecoupon';
|
|
const TYPE_DESTROY = 'destroy';
|
|
const TYPE_QUERY = 'query';
|
|
const TYPE_GRANT = 'grant';
|
|
const TYPES = [
|
|
self::TYPE_FREEZECOUPON => '核销',
|
|
self::TYPE_DESTROY => '作废',
|
|
self::TYPE_QUERY => '查询',
|
|
self::TYPE_GRANT => '发券',
|
|
];
|
|
|
|
public function __construct(array $attributes = [])
|
|
{
|
|
parent::__construct($attributes);
|
|
if (!$this->table) {
|
|
$this->table = 'api_log_' . date('Ym');
|
|
}
|
|
|
|
if (!Schema::hasTable($this->table)) {
|
|
Schema::create($this->table, function (Blueprint $table) {
|
|
$table->increments('id');
|
|
$table->string('path', 255);
|
|
$table->string('method', 15);
|
|
$table->text('in_source');
|
|
$table->string('type', 20);
|
|
$table->text('out_source')->nullable();
|
|
$table->timestamps();
|
|
});
|
|
}
|
|
}
|
|
|
|
public function setTable($table)
|
|
{
|
|
if (Schema::hasTable($table)) {
|
|
$this->table = $table;
|
|
|
|
return $this;
|
|
}
|
|
|
|
}
|
|
|
|
}
|