<?php

namespace App\Models\Virtual;

use App\Core\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

/**
 * App\Models\Virtual\FlowPoolSetting
 *
 * @property int $id 自增ID
 * @property int $pool_id 流量池ID
 * @property array|null $minimum_settings 套餐保底配置
 * @property int $gradient_price 首月单价
 * @property int $gradient 梯度
 * @property int $gradient_unit 梯度单位 0:M 1:G
 * @property string|null $start_at 开始时间
 * @property string|null $end_at 结束时间
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property string|null $deleted_at
 * @method static bool|null forceDelete()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting newQuery()
 * @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPoolSetting onlyTrashed()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting query()
 * @method static bool|null restore()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereDeletedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereEndAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereFirstMonthPrice($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereGradient($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereGradientUnit($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereMinimumSettings($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereOtherMonthPrice($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting wherePoolId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereStartAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPoolSetting whereUpdatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPoolSetting withTrashed()
 * @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPoolSetting withoutTrashed()
 * @mixin \Eloquent
 */
class FlowPoolSetting extends Model
{
    use SoftDeletes;

    protected $table = 'virtual_flow_pool_settings';

    protected $casts = [
        'minimum_settings' => 'array',
    ];
}
