<?php

namespace backend\modules\shop\models\ars;

use Yii;
use yii\behaviors\TimestampBehavior;

/**
 * This is the model class for table "ats_express_template".
 *
 * @property int $id
 * @property string $name 名称
 * @property string $province 省份
 * @property string $city 城市
 * @property string $area 区域
 * @property int $extra_price 续重运费
 * @property int $updated_at 更新时间
 * @property int $created_at 创建时间
 * @property int $basic_price 基本运费
 * @property int $basic_count 基本数量
 * @property int $extra_count 续重数量
 * @property int $calculation_type 计算方式
 */
class ExpressTemplate extends \yii\db\ActiveRecord
{
    //计算方式calculation_type
    const CALCULATION_TYPE_WEIGHT = 1;   //按重量
    const CALCULATION_TYPE_NUMBER = 2;   //按件数

    public static $calculationType = [
        self::CALCULATION_TYPE_WEIGHT => '按重量',
        self::CALCULATION_TYPE_NUMBER => '按件数'
    ];
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'ats_express_template';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['name'], 'required'],
            [['province', 'city', 'area'], 'string'],
            [['calculation_type'], 'integer'],
            [['name'], 'string', 'max' => 255],
            [['extra_price', 'basic_price', 'basic_count', 'extra_count'], 'safe']
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'id',
            'name' => '名称',
            'province' => '省份',
            'city' => '城市',
            'area' => '区域',
            'extra_price' => '续重运费',
            'updated_at' => '更新时间',
            'created_at' => '创建时间',
            'basic_price' => '基本运费',
            'basic_count' => '基本数量',
            'extra_count' => '续重数量',
            'calculation_type' => '计算方式',
        ];
    }
   

    /**
    * @author linyao
    * @email 602604991@qq.com
    * @created Nov 8, 2019
    *
    * 行为存储创建时间和更新时间
    */
    public function behaviors()
    {
        return [
            [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
                'value' => function() {
                    return time();
                },
            ],
        ];
    }
}