<?php
|
|
namespace app\admin\model;
|
|
use think\Model;
|
|
|
class Banner extends Model
|
{
|
|
// 表名
|
protected $name = 'banner';
|
|
// 自动写入时间戳字段
|
protected $autoWriteTimestamp = true;
|
|
// 定义时间戳字段名
|
protected $createTime = 'create_time';
|
protected $updateTime = false;
|
protected $deleteTime = false;
|
|
// 追加属性
|
protected $append = [
|
'type_text',
|
'status_text',
|
'url_type_text',
|
'start_time_text',
|
'end_time_text',
|
'create_time_text'
|
];
|
|
|
protected static function init()
|
{
|
self::beforeInsert(function ($row) {
|
$row->parameter_json = json_encode($row->parameter_json);
|
});
|
self::beforeUpdate(function($row){
|
$row->parameter_json = json_encode($row->parameter_json);
|
});
|
}
|
|
|
|
public function getTypeList()
|
{
|
return ['0' => __('Type 0'), '1' => __('Type 1'), '2' => __('Type 2'), '3' => __('Type 3'), '4' => __('Type 4'), '5' => __('Type 5'), '6' => __('Type 6'), '7' => __('Type 7'),'9' => '新人教程','10'=>'逛逛','11'=>'app首页小轮播','12'=>'首页连标','13'=>'app首页快捷上','14'=>'app首页快捷下','15'=>'app启动页','16'=>'淘宝返利轮播','17'=>'京东返利轮播','18'=>'抖音返利轮播','19'=>'拼多多返利轮播','20'=>'唯品会返利轮播'];
|
}
|
|
public function getStatusList()
|
{
|
return ['0' => __('Status 0'), '1' => __('Status 1')];
|
}
|
|
public function getUrlTypeList()
|
{
|
return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14' => __('Url_type 14'),'999' => '不跳转'];
|
}
|
|
public function getParameterJsonAttr($value, $data)
|
{
|
return empty($value) ? [] : (is_array($value) ? $value : json_decode($value, true));
|
}
|
|
|
public function getTypeTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
|
$list = $this->getTypeList();
|
return isset($list[$value]) ? $list[$value] : '';
|
}
|
|
|
public function getStatusTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
|
$list = $this->getStatusList();
|
return isset($list[$value]) ? $list[$value] : '';
|
}
|
|
|
public function getUrlTypeTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['url_type']) ? $data['url_type'] : '');
|
$list = $this->getUrlTypeList();
|
return isset($list[$value]) ? $list[$value] : '';
|
}
|
|
|
public function getStartTimeTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
|
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
|
}
|
|
|
public function getEndTimeTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
|
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
|
}
|
|
|
public function getCreateTimeTextAttr($value, $data)
|
{
|
$value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : '');
|
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
|
}
|
|
protected function setStartTimeAttr($value)
|
{
|
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
|
}
|
|
protected function setEndTimeAttr($value)
|
{
|
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
|
}
|
|
protected function setCreateTimeAttr($value)
|
{
|
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
|
}
|
|
|
}
|