初始上传
This commit is contained in:
28
addon/groupbuy/event/CloseGroupbuy.php
Executable file
28
addon/groupbuy/event/CloseGroupbuy.php
Executable file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
|
||||
/**
|
||||
* 关闭活动
|
||||
*/
|
||||
class CloseGroupbuy
|
||||
{
|
||||
|
||||
public function handle($params)
|
||||
{
|
||||
$groupbuy = new Groupbuy();
|
||||
$res = $groupbuy->cronCloseGroupbuy($params['relate_id']);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
35
addon/groupbuy/event/GoodsListCategoryIds.php
Executable file
35
addon/groupbuy/event/GoodsListCategoryIds.php
Executable file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
|
||||
/**
|
||||
* 商品分类ids
|
||||
*/
|
||||
class GoodsListCategoryIds
|
||||
{
|
||||
public function handle($param)
|
||||
{
|
||||
if (empty($param['promotion']) || $param['promotion'] != 'groupbuy') return [];
|
||||
$condition[] = [
|
||||
['pg.site_id', '=', $param['site_id']],
|
||||
['pg.status', '=', 2],
|
||||
['g.goods_state','=',1],
|
||||
['g.is_delete','=',0]
|
||||
];
|
||||
|
||||
$groupbuy_model = new Groupbuy();
|
||||
$res = $groupbuy_model->getGoodsCategoryIds($condition);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
57
addon/groupbuy/event/GoodsListPromotion.php
Executable file
57
addon/groupbuy/event/GoodsListPromotion.php
Executable file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
|
||||
/**
|
||||
* 商品营销活动信息
|
||||
*/
|
||||
class GoodsListPromotion
|
||||
{
|
||||
|
||||
/**
|
||||
* 商品营销活动信息
|
||||
* @param $param
|
||||
* @return array
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
if (empty($param[ 'promotion' ]) || $param[ 'promotion' ] != 'groupbuy') return [];
|
||||
$condition[] = [
|
||||
[ 'pg.site_id', '=', $param[ 'site_id' ] ],
|
||||
[ 'pg.status', '=', 2 ],
|
||||
[ 'g.goods_state', '=', 1 ],
|
||||
[ 'g.is_delete', '=', 0 ],
|
||||
];
|
||||
|
||||
if (!empty($param[ 'goods_name' ])) {
|
||||
$condition[] = [ 'g.goods_name', 'like', '%' . $param[ 'goods_name' ] . '%' ];
|
||||
}
|
||||
if (!empty($param[ 'select_type' ]) && $param[ 'select_type' ] == 'selected' && isset($param[ 'goods_ids' ])) {
|
||||
$condition[] = [ 'g.goods_id', 'in', $param[ 'goods_ids' ] ];
|
||||
}
|
||||
if (!empty($param[ 'category_id' ])) {
|
||||
$condition[] = [ 'g.category_id', 'like', '%,' . $param[ 'category_id' ] . ',%' ];
|
||||
}
|
||||
if (!empty($param[ 'label_id' ])) {
|
||||
$condition[] = [ 'g.label_id', '=', $param[ 'label_id' ] ];
|
||||
}
|
||||
if (!empty($param[ 'goods_class' ])) {
|
||||
$condition[] = [ 'g.goods_class', '=', $param[ 'goods_class' ] ];
|
||||
}
|
||||
|
||||
$groupbuy_model = new Groupbuy();
|
||||
$list = $groupbuy_model->getGroupbuyGoodsPageList($condition, $param[ 'page' ], $param[ 'page_size' ], 'pg.groupbuy_id desc');
|
||||
$list[ 'condition' ] = $condition;
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
68
addon/groupbuy/event/GoodsPromotion.php
Executable file
68
addon/groupbuy/event/GoodsPromotion.php
Executable file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
use app\model\goods\Goods as GoodsModel;
|
||||
|
||||
/**
|
||||
* 商品营销活动信息
|
||||
*/
|
||||
class GoodsPromotion
|
||||
{
|
||||
|
||||
/**
|
||||
* 商品营销活动信息
|
||||
* @param $param
|
||||
* @return array
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
if (isset($param[ 'goods_sku_detail' ])) {
|
||||
$goods_info = $param[ 'goods_sku_detail' ];
|
||||
if (!empty($goods_info[ 'promotion_addon' ])) {
|
||||
$promotion_addon = json_decode($goods_info[ 'promotion_addon' ], true);
|
||||
if (!empty($promotion_addon[ 'groupbuy' ])) {
|
||||
return [
|
||||
'promotion_type' => 'groupbuy',
|
||||
'promotion_name' => '团购',
|
||||
'groupbuy_id' => $promotion_addon[ 'groupbuy' ]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (empty($param[ 'goods_id' ])) return [];
|
||||
$goods_model = new GoodsModel();
|
||||
$goods_info = $goods_model->getGoodsInfo([ [ 'goods_id', '=', $param[ 'goods_id' ] ] ], 'promotion_addon')[ 'data' ];
|
||||
if (!empty($goods_info[ 'promotion_addon' ])) {
|
||||
$promotion_addon = json_decode($goods_info[ 'promotion_addon' ], true);
|
||||
if (!empty($promotion_addon[ 'groupbuy' ])) {
|
||||
$groupbuy_model = new Groupbuy();
|
||||
$condition = [
|
||||
[ 'pg.groupbuy_id', '=', $promotion_addon[ 'groupbuy' ] ],
|
||||
[ 'pg.goods_id', '=', $param[ 'goods_id' ] ],
|
||||
[ 'pg.status', '=', 2 ],
|
||||
[ 'g.goods_state', '=', 1 ],
|
||||
[ 'g.is_delete', '=', 0 ]
|
||||
];
|
||||
$goods_detail = $groupbuy_model->getGroupbuyInfo($condition, 'pg.groupbuy_id,pg.site_id,pg.goods_id,pg.goods_price,pg.groupbuy_price,g.sku_id')[ 'data' ];
|
||||
if (!empty($goods_detail)) {
|
||||
$goods_detail[ 'promotion_type' ] = 'groupbuy';
|
||||
$goods_detail[ 'promotion_name' ] = '团购';
|
||||
return $goods_detail;
|
||||
}
|
||||
}
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
28
addon/groupbuy/event/GoodsPromotionType.php
Executable file
28
addon/groupbuy/event/GoodsPromotionType.php
Executable file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
class GoodsPromotionType
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return ['name' => '团购', 'short' => '团', 'type' => 'groupbuy', 'color' => '#4CB130', 'url' => 'groupbuy://shop/groupbuy/lists'];
|
||||
}
|
||||
}
|
||||
37
addon/groupbuy/event/GroupBuyZoneConfig.php
Executable file
37
addon/groupbuy/event/GroupBuyZoneConfig.php
Executable file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
|
||||
/**
|
||||
* 活动专区——团购页面配置
|
||||
*/
|
||||
class GroupBuyZoneConfig
|
||||
{
|
||||
|
||||
public function handle($params)
|
||||
{
|
||||
if (empty($params) || $params[ 'name' ] == 'groupbuy') {
|
||||
$data = [
|
||||
'name' => 'groupbuy', // 标识
|
||||
'title' => '团购', // 名称
|
||||
'url' => 'shop/adv/lists?keyword=NS_GROUPBUY', // 自定义跳转链接
|
||||
'preview' => 'addon/groupbuy/shop/view/public/img/zone_preview.png', // 预览图
|
||||
// 页面配置
|
||||
'value' => [
|
||||
'bg_color' => '#E64136'
|
||||
],
|
||||
];
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
25
addon/groupbuy/event/Install.php
Executable file
25
addon/groupbuy/event/Install.php
Executable file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
/**
|
||||
* 应用安装
|
||||
*/
|
||||
class Install
|
||||
{
|
||||
/**
|
||||
* 执行安装
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
28
addon/groupbuy/event/OpenGroupbuy.php
Executable file
28
addon/groupbuy/event/OpenGroupbuy.php
Executable file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
|
||||
/**
|
||||
* 启动活动
|
||||
*/
|
||||
class OpenGroupbuy
|
||||
{
|
||||
|
||||
public function handle($params)
|
||||
{
|
||||
$groupbuy = new Groupbuy();
|
||||
$res = $groupbuy->cronOpenGroupbuy($params['relate_id']);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
35
addon/groupbuy/event/OrderPayAfter.php
Executable file
35
addon/groupbuy/event/OrderPayAfter.php
Executable file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use addon\groupbuy\model\Groupbuy;
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
*/
|
||||
class OrderPayAfter
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
*
|
||||
* @return multitype:number unknown
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
if ($param['promotion_type'] == 'groupbuy') {
|
||||
$model = new Groupbuy();
|
||||
$res = $model->orderPay($param);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
}
|
||||
28
addon/groupbuy/event/OrderPromotionType.php
Executable file
28
addon/groupbuy/event/OrderPromotionType.php
Executable file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
/**
|
||||
* 订单营销活动类型
|
||||
*/
|
||||
class OrderPromotionType
|
||||
{
|
||||
|
||||
/**
|
||||
* 订单营销活动类型
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return ["name" => "团购", "type" => "groupbuy"];
|
||||
}
|
||||
}
|
||||
28
addon/groupbuy/event/PromotionType.php
Executable file
28
addon/groupbuy/event/PromotionType.php
Executable file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
class PromotionType
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return ["name" => "团购", "type" => "groupbuy"];
|
||||
}
|
||||
}
|
||||
92
addon/groupbuy/event/ShowPromotion.php
Executable file
92
addon/groupbuy/event/ShowPromotion.php
Executable file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
use think\facade\Db;
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
*/
|
||||
class ShowPromotion
|
||||
{
|
||||
public $promotion_type = 'time_limit';
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @param array $params
|
||||
* @return array
|
||||
*/
|
||||
public function handle($params = [])
|
||||
{
|
||||
$data = [
|
||||
'shop' => [
|
||||
[
|
||||
//插件名称
|
||||
'name' => 'groupbuy',
|
||||
//店铺端展示分类 shop:营销活动 member:互动营销
|
||||
'show_type' => 'shop',
|
||||
//展示主题
|
||||
'title' => '团购活动',
|
||||
//展示介绍
|
||||
'description' => '消费者组团购买更优惠',
|
||||
//展示图标
|
||||
'icon' => 'addon/groupbuy/icon.png',
|
||||
//跳转链接
|
||||
'url' => 'groupbuy://shop/groupbuy/lists',
|
||||
'summary' => $this->summary($params)
|
||||
]
|
||||
]
|
||||
|
||||
];
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 营销活动概况
|
||||
* @param $params
|
||||
* @return array
|
||||
*/
|
||||
private function summary($params)
|
||||
{
|
||||
if (empty($params)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if(isset($params['promotion_type']) && $params['promotion_type'] != $this->promotion_type){
|
||||
return [];
|
||||
}
|
||||
|
||||
//获取活动数量
|
||||
if (isset($params[ 'count' ])) {
|
||||
$count = model("promotion_groupbuy")->getCount([ [ 'site_id', '=', $params[ 'site_id' ] ] ]);
|
||||
return [
|
||||
'count' => $count
|
||||
];
|
||||
}
|
||||
//获取活动概况,需要获取开始时间与结束时间
|
||||
if (isset($params[ 'summary' ])) {
|
||||
$list = model("promotion_groupbuy")->getList([
|
||||
[ '', 'exp', Db::raw('not ( (`start_time` >= ' . $params[ 'end_time' ] . ') or (`end_time` <= ' . $params[ 'start_time' ] . '))') ],
|
||||
[ 'pg.site_id', '=', $params[ 'site_id' ] ],
|
||||
[ 'pg.status', '<>', 3 ],
|
||||
[ 'g.goods_state', '=', 1 ],
|
||||
[ 'g.is_delete', '=', 0 ]
|
||||
], 'g.goods_name as promotion_name,groupbuy_id as promotion_id,start_time,end_time', '', 'pg', [ [ 'goods g', 'g.goods_id = pg.goods_id', 'inner' ] ], 'pg.create_time');
|
||||
return !empty($list) ? [
|
||||
'time_limit' => [
|
||||
'count' => count($list),
|
||||
'detail' => $list,
|
||||
'color' => '#6D66FF'
|
||||
]
|
||||
] : [];
|
||||
}
|
||||
}
|
||||
}
|
||||
25
addon/groupbuy/event/UnInstall.php
Executable file
25
addon/groupbuy/event/UnInstall.php
Executable file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\groupbuy\event;
|
||||
|
||||
/**
|
||||
* 应用卸载
|
||||
*/
|
||||
class UnInstall
|
||||
{
|
||||
/**
|
||||
* 执行卸载
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user