You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.7 KiB
101 lines
2.7 KiB
<?php
|
|
declare (strict_types=1);
|
|
|
|
namespace app\api\model;
|
|
|
|
use app\Request;
|
|
use think\facade\Db;
|
|
use think\Model;
|
|
|
|
/**
|
|
* @mixin think\Model
|
|
*/
|
|
class Ad extends Common
|
|
{
|
|
|
|
protected $table = 'cloud_ad';
|
|
protected $_data_table = 'ad_data';
|
|
/**
|
|
* 管理员列表数据模型
|
|
* @return array|\think\Collection
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function index()
|
|
{
|
|
$name = $this->request->param('name', '');
|
|
$_op = $this->where('site_id', SITE_ID); //没有默认where查询 这个一定要 否则获取不到下面的getOptions查询条件值
|
|
if ($name) {
|
|
$_op->whereLike('name', "%{$name}%");
|
|
}
|
|
$_op->order('create_time DESC');
|
|
return parent::parentLists($_op);
|
|
}
|
|
|
|
|
|
/**
|
|
* 读取后
|
|
* @param Model $model
|
|
* @return bool|void
|
|
*/
|
|
public static function onAfterRead(Model $model)
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* 新增前
|
|
* @param Model $model
|
|
* @return mixed|void
|
|
*/
|
|
public static function onBeforeInsert(Model $model)
|
|
{
|
|
//code
|
|
}
|
|
|
|
/**
|
|
* 新增或修改前
|
|
* @param Model $model
|
|
* @return mixed|void
|
|
*/
|
|
public static function onBeforeWrite(Model $model)
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* 获取广告数据
|
|
* @return array|\think\Collection
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function AdData()
|
|
{
|
|
$adid = $this->request->param('adid', '');
|
|
|
|
$_op = Db::name($this->_data_table)->where('site_id', SITE_ID); //没有默认where查询 这个一定要 否则获取不到下面的getOptions查询条件值
|
|
if ($adid) {
|
|
$_op->whereLike('adid', $adid);
|
|
}
|
|
|
|
$_op->order('create_time DESC');
|
|
$data = parent::parentLists($_op);
|
|
$result = $data['data'];
|
|
|
|
//查询广告位限制的图片宽度、高度
|
|
$_ad = Db::name('ad')->field('width,height')->where('id',$adid)->find();
|
|
array_walk($result, function (&$v) use ($_ad) {
|
|
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
|
$v['start_time'] = date('Y-m-d H:i:s', $v['start_time']);
|
|
$v['end_time'] = date('Y-m-d H:i:s', $v['end_time']);
|
|
$v['thumb'] = config('dictionary.upload.cdn_img_host') . $v['thumb'];
|
|
$v['crop_thumb'] = crop_thumb($v['thumb'], (int)$_ad['width'], (int)$_ad['height']);
|
|
});
|
|
$data['data'] = $result;
|
|
return $data;
|
|
}
|
|
|
|
|
|
}
|
|
|