krgm.so-manager-dev.com/app/Legacy/OperatorQue.php

88 lines
2.0 KiB
PHP

<?php
namespace App\Legacy;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Auth;
/**
* 旧システム オペレータキューモデル(互換)
* - テーブル: operator_que
* - 主キー: que_id
* - 旧定数/関連取得メソッドを維持
*/
class OperatorQue extends Model
{
public const CREATED_AT = 'created_at';
public const UPDATED_AT = 'updated_at';
/**
* キュー種別
*/
public const QueClass = [
'本人確認(社会人)',
'本人確認(学生)',
'タグ発送',
'予約告知電話',
'定期更新電話',
'返金',
'再発行リミット超過',
'支払い催促',
'シール発行催促',
'サーバーエラー',
'プリンタエラー',
'スキャナーエラー',
'プリンタ用紙残少警告',
];
/**
* キューステータス
*/
public const QueStatus = [
'キュー発生',
'キュー作業中',
'キュー作業済',
'返金済',
];
protected $table = 'operator_que';
protected $primaryKey = 'que_id';
protected $fillable = [
'user_id',
'que_comment',
'park_id',
'que_class',
'que_status',
'que_status_comment',
];
protected static function boot()
{
parent::boot();
static::creating(function (OperatorQue $model) {
if (Auth::check() && property_exists($model, 'operator_id')) {
$model->operator_id = Auth::user()->ope_id ?? null;
}
});
}
/**
* 利用者取得(旧互換)
*/
public function getUser()
{
return $this->belongsTo(User::class, 'user_id', 'user_seq')->first();
}
/**
* 駐輪場取得(旧互換)
*/
public function getPark()
{
return $this->belongsTo(Park::class, 'park_id', 'park_id')->first();
}
}