mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 21:40:50 +00:00
140 lines
3.3 KiB
PHP
140 lines
3.3 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\model\driver\express;
|
||
|
||
use crmeb\basic\BaseModel;
|
||
|
||
/**
|
||
* 电子面单驱动字典
|
||
* Class ExpressDriver
|
||
* @package app\model\driver\express
|
||
*/
|
||
class ExpressDriver extends BaseModel
|
||
{
|
||
/**
|
||
* 驱动类型标识(对应 eb_driver.driver_type)
|
||
*/
|
||
const DRIVER_TYPE = 'express';
|
||
|
||
/**
|
||
* @var string
|
||
*/
|
||
protected $name = 'driver';
|
||
|
||
/**
|
||
* 全局查询作用域:读取时自动过滤 driver_type
|
||
* @var array
|
||
*/
|
||
protected $globalScope = ['driverType'];
|
||
|
||
/**
|
||
* 插入时自动填充 driver_type
|
||
* @var array
|
||
*/
|
||
protected $insert = ['driver_type' => self::DRIVER_TYPE];
|
||
|
||
/**
|
||
* 更新时自动填充 driver_type
|
||
* @var array
|
||
*/
|
||
protected $update = ['driver_type' => self::DRIVER_TYPE];
|
||
|
||
/**
|
||
* 驱动类型全局作用域
|
||
* @param $query
|
||
*/
|
||
public function scopeDriverType($query)
|
||
{
|
||
$query->where('driver_type', self::DRIVER_TYPE)->where('owner_plugin_id', '<>', '');
|
||
}
|
||
|
||
/**
|
||
* @var string
|
||
*/
|
||
protected $pk = 'id';
|
||
|
||
/**
|
||
* @var bool
|
||
*/
|
||
protected $autoWriteTimestamp = true;
|
||
|
||
/**
|
||
* 驱动名称搜索器
|
||
* @param $query
|
||
* @param $value
|
||
*/
|
||
public function searchDriverNameAttr($query, $value)
|
||
{
|
||
if ($value) $query->where('driver_name', 'like', "%{$value}%");
|
||
}
|
||
|
||
/**
|
||
* 驱动标识搜索器
|
||
* @param $query
|
||
* @param $value
|
||
*/
|
||
public function searchDriverKeyAttr($query, $value)
|
||
{
|
||
if ($value) $query->where('driver_key', $value);
|
||
}
|
||
|
||
/**
|
||
* 状态搜索器
|
||
* @param $query
|
||
* @param $value
|
||
*/
|
||
public function searchStatusAttr($query, $value)
|
||
{
|
||
if ($value !== '') $query->where('status', $value);
|
||
}
|
||
|
||
/**
|
||
* config_fields 字段自动序列化
|
||
* @param $value
|
||
* @return mixed
|
||
*/
|
||
public function getConfigFieldsAttr($value)
|
||
{
|
||
return $value ? json_decode($value, true) : [];
|
||
}
|
||
|
||
/**
|
||
* config_fields 字段自动序列化存储
|
||
* @param $value
|
||
* @return string
|
||
*/
|
||
public function setConfigFieldsAttr($value)
|
||
{
|
||
return is_array($value) ? json_encode($value, JSON_UNESCAPED_UNICODE) : $value;
|
||
}
|
||
|
||
/**
|
||
* 创建时间获取器
|
||
* @param $value
|
||
* @return string
|
||
*/
|
||
public function getAddTimeAttr($value)
|
||
{
|
||
return $value ? date('Y-m-d H:i:s', (int)$value) : '';
|
||
}
|
||
|
||
/**
|
||
* 更新时间获取器
|
||
* @param $value
|
||
* @return string
|
||
*/
|
||
public function getUpdateTimeAttr($value)
|
||
{
|
||
return $value ? date('Y-m-d H:i:s', (int)$value) : '';
|
||
}
|
||
}
|