84 lines
2.5 KiB
PHP
84 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.cdcloudshop.com
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace addon\blindbox\event;
|
|
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* 活动展示
|
|
*/
|
|
class ShowPromotion
|
|
{
|
|
|
|
/**
|
|
* 活动展示
|
|
* @param $params
|
|
* @return array
|
|
*/
|
|
public function handle($params)
|
|
{
|
|
$data = [
|
|
'shop' => [
|
|
[
|
|
//插件名称
|
|
'name' => 'blindbox',
|
|
//店铺端展示分类 shop:营销活动 member:互动营销
|
|
'show_type' => 'shop',
|
|
//展示主题
|
|
'title' => '盲盒',
|
|
//展示介绍
|
|
'description' => '一起拆盲盒',
|
|
//展示图标
|
|
'icon' => 'addon/blindbox/icon.png',
|
|
//跳转链接
|
|
'url' => 'blindbox://shop/blindbox/lists',
|
|
'summary' => $this->summary($params),
|
|
]
|
|
]
|
|
];
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* 营销活动概况
|
|
* @param $params
|
|
* @return array
|
|
*/
|
|
private function summary($params)
|
|
{
|
|
if (empty($params)) {
|
|
return [];
|
|
}
|
|
//获取活动数量
|
|
if (isset($params[ 'count' ])) {
|
|
$count = model("blindbox")->getCount([ [ 'site_id', '=', $params[ 'site_id' ] ] ]);
|
|
return [
|
|
'count' => $count
|
|
];
|
|
}
|
|
//获取活动概况,需要获取开始时间与结束时间
|
|
if (isset($params[ 'summary' ])) {
|
|
$list = model("blindbox")->getList([
|
|
[ '', 'exp', Db::raw('not ( (`start_time` >= ' . $params[ 'end_time' ] . ') or (`end_time` <= ' . $params[ 'start_time' ] . '))') ],
|
|
[ 'site_id', '=', $params[ 'site_id' ] ],
|
|
[ 'blindbox_status', '<>', 2 ],
|
|
[ 'blindbox_status', '<>', -1 ]
|
|
], 'blindbox_name as promotion_name,blindbox_id as promotion_id,start_time,end_time');
|
|
return !empty($list) ? [
|
|
'time_limit' => [
|
|
'count' => count($list),
|
|
'detail' => $list,
|
|
'color' => '#7BE295'
|
|
]
|
|
] : [];
|
|
}
|
|
}
|
|
} |