初始上传
This commit is contained in:
38
addon/cardservice/event/CardGoodsClass.php
Executable file
38
addon/cardservice/event/CardGoodsClass.php
Executable file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\CardGoods;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class CardGoodsClass
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return [
|
||||
'goods_class' => (new CardGoods())->getGoodsClass()['id'],
|
||||
'goods_class_name' => (new CardGoods())->getGoodsClass()['name'],
|
||||
'is_virtual' => 1,
|
||||
'add_url' => 'cardservice://shop/card/addGoods',
|
||||
'edit_url' => 'cardservice://shop/card/editGoods'
|
||||
];
|
||||
}
|
||||
}
|
||||
30
addon/cardservice/event/CardGoodsVerify.php
Executable file
30
addon/cardservice/event/CardGoodsVerify.php
Executable file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\MemberCard;
|
||||
|
||||
/**
|
||||
* 卡密商品核销
|
||||
*/
|
||||
class CardGoodsVerify
|
||||
{
|
||||
/**
|
||||
* 执行安装
|
||||
*/
|
||||
public function handle($data)
|
||||
{
|
||||
if ($data[ 'verify_type' ] == 'cardgoods') {
|
||||
return ( new MemberCard() )->verify($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
37
addon/cardservice/event/CardServiceZoneConfig.php
Executable file
37
addon/cardservice/event/CardServiceZoneConfig.php
Executable file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
|
||||
/**
|
||||
* 活动专区——卡项专区页面配置
|
||||
*/
|
||||
class CardServiceZoneConfig
|
||||
{
|
||||
|
||||
public function handle($params)
|
||||
{
|
||||
if (empty($params) || $params[ 'name' ] == 'cardservice') {
|
||||
$data = [
|
||||
'name' => 'cardservice', // 标识
|
||||
'title' => '卡项', // 名称
|
||||
'url' => 'shop/adv/lists?keyword=NS_CARD', // 自定义跳转链接
|
||||
'preview' => 'addon/cardservice/shop/view/public/img/zone_preview.png', // 预览图
|
||||
// 页面配置
|
||||
'value' => [
|
||||
'bg_color' => '#F9FBFF'
|
||||
],
|
||||
];
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
32
addon/cardservice/event/CronMemberCardExpire.php
Executable file
32
addon/cardservice/event/CronMemberCardExpire.php
Executable file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\MemberCard;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class CronMemberCardExpire
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @return array
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
return ( new MemberCard() )->memberOncecardInvalid([['card_id', '=', $param[ 'relate_id' ]]], 'expired');
|
||||
}
|
||||
}
|
||||
64
addon/cardservice/event/DeleteGoodsCheck.php
Executable file
64
addon/cardservice/event/DeleteGoodsCheck.php
Executable file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\MemberCard as MemberCardModel;
|
||||
use app\model\order\Order as OrderModel;
|
||||
|
||||
class DeleteGoodsCheck
|
||||
{
|
||||
|
||||
public function handle($param)
|
||||
{
|
||||
if(in_array($param['field'], ['goods_id', 'sku_id'])){
|
||||
$cannot_delete_goods_list = array_merge($this->getInUseGoodsList($param), $this->getToBuyGoodsList($param));
|
||||
$cannot_delete_ids = array_unique(array_column($cannot_delete_goods_list, $param['field']));
|
||||
return [
|
||||
'reason' => '存在待付款或未兑换的卡包商品',
|
||||
'cannot_delete_ids' => $cannot_delete_ids,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
protected function getInUseGoodsList($param)
|
||||
{
|
||||
$alias = 'mgc';
|
||||
$join = [
|
||||
['member_goods_card_item mgci', 'mgc.card_id = mgci.card_id', 'inner'],
|
||||
];
|
||||
$field = 'mgci.'.$param['field'];
|
||||
$condition = [
|
||||
['mgc.status', '=', MemberCardModel::STATUS_NORMAL],
|
||||
['mgci.'.$param['field'], 'in', $param['ids']],
|
||||
];
|
||||
$cannot_delete_goods_list = model('member_goods_card')->getList($condition, $field, '', $alias, $join);
|
||||
return $cannot_delete_goods_list;
|
||||
}
|
||||
|
||||
protected function getToBuyGoodsList($param)
|
||||
{
|
||||
$alias = 'o';
|
||||
$join = [
|
||||
['order_goods og', 'og.order_id = o.order_id', 'inner'],
|
||||
['goods_card_item gci', 'gci.card_goods_id = og.goods_id', 'inner'],
|
||||
];
|
||||
$condition = [
|
||||
['gci.'.$param['field'], 'in', $param['ids']],
|
||||
['o.order_status', '=', OrderModel::ORDER_CREATE],
|
||||
];
|
||||
$field = 'gci.'.$param['field'];
|
||||
$cannot_delete_goods_list = model('order')->getList($condition, $field, '', $alias, $join);
|
||||
return $cannot_delete_goods_list;
|
||||
}
|
||||
}
|
||||
26
addon/cardservice/event/Install.php
Executable file
26
addon/cardservice/event/Install.php
Executable file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
/**
|
||||
* 应用安装
|
||||
*/
|
||||
class Install
|
||||
{
|
||||
/**
|
||||
* 执行安装
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
31
addon/cardservice/event/MemberDetail.php
Executable file
31
addon/cardservice/event/MemberDetail.php
Executable file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use app\Controller;
|
||||
|
||||
/**
|
||||
* Class MemberDetail
|
||||
* @package addon\cardservice\event
|
||||
*/
|
||||
class MemberDetail extends Controller
|
||||
{
|
||||
|
||||
public function handle($params)
|
||||
{
|
||||
if ($params[ 'type' ] == 'member_goods_card') {
|
||||
$this->assign('member_id', $params['member_id']);
|
||||
$template = dirname(realpath(__DIR__)) . '/shop/view/card/member_goods_card.html';
|
||||
return $this->fetch($template);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
40
addon/cardservice/event/OrderClose.php
Executable file
40
addon/cardservice/event/OrderClose.php
Executable file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\MemberCard;
|
||||
use app\model\order\OrderCommon;
|
||||
|
||||
/**
|
||||
* 订单关闭后抵扣的卡项退还
|
||||
*/
|
||||
class OrderClose
|
||||
{
|
||||
public function handle($param)
|
||||
{
|
||||
$order_info = $param;
|
||||
$order_common = new OrderCommon();
|
||||
$order_goods_list = $order_common->getOrderGoodsList([['order_id', '=', $order_info['order_id']]], 'order_goods_id,card_item_id')['data'];
|
||||
$card_refund_data = [];
|
||||
foreach($order_goods_list as $order_goods){
|
||||
if($order_info['pay_status'] == 0 && !empty($order_goods['card_item_id'])){
|
||||
$card_refund_data[] = ['type' => 'order', 'relation_id' => $order_goods['order_goods_id']];
|
||||
}
|
||||
}
|
||||
if(!empty($card_refund_data)){
|
||||
$member_card_model = new MemberCard();
|
||||
return $member_card_model->memberOncecardItemRefund($card_refund_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
addon/cardservice/event/OrderPromotionType.php
Executable file
27
addon/cardservice/event/OrderPromotionType.php
Executable file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
/**
|
||||
* 订单营销活动类型
|
||||
*/
|
||||
class OrderPromotionType
|
||||
{
|
||||
|
||||
/**
|
||||
* 订单营销活动类型
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return [ "name" => "卡项提货", "type" => "cardservice" ];
|
||||
}
|
||||
}
|
||||
40
addon/cardservice/event/OrderRefundFinish.php
Executable file
40
addon/cardservice/event/OrderRefundFinish.php
Executable file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\MemberCard;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class OrderRefundFinish
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @return array
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
$order_id = $param['order_info']['order_id'] ?? 0;
|
||||
$order_goods_id = $param['order_goods_info']['order_goods_id'] ?? 0;
|
||||
$member_card_model = new MemberCard();
|
||||
//两种业务
|
||||
//1、如果是卡项商品订单 退款结束后用户的卡包要作废
|
||||
//2、如果是卡包中的商品使用订单,则使用记录删除,恢复未使用状态
|
||||
$member_card_model->memberOncecardInvalid([['order_id', '=', $order_id]], 'refunded');
|
||||
$member_card_model->memberOncecardItemRefund([['type' => 'order', 'relation_id' => $order_goods_id]]);
|
||||
return $member_card_model->success();
|
||||
}
|
||||
}
|
||||
36
addon/cardservice/event/ServiceGoodsClass.php
Executable file
36
addon/cardservice/event/ServiceGoodsClass.php
Executable file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
use addon\cardservice\model\ServiceGoods;
|
||||
|
||||
/**
|
||||
*/
|
||||
class ServiceGoodsClass
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return [
|
||||
'goods_class' => (new ServiceGoods())->getGoodsClass()['id'],
|
||||
'goods_class_name' => (new ServiceGoods())->getGoodsClass()['name'],
|
||||
'is_virtual' => 1,
|
||||
'add_url' => 'cardservice://shop/service/addGoods',
|
||||
'edit_url' => 'cardservice://shop/service/editGoods'
|
||||
];
|
||||
}
|
||||
}
|
||||
48
addon/cardservice/event/ShowPromotion.php
Executable file
48
addon/cardservice/event/ShowPromotion.php
Executable file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
*/
|
||||
class ShowPromotion
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @return array
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$data = [
|
||||
'shop' => [
|
||||
[
|
||||
//插件名称
|
||||
'name' => 'cardservice',
|
||||
//店铺端展示分类 shop:营销活动 member:互动营销
|
||||
'show_type' => 'tool',
|
||||
//展示主题
|
||||
'title' => '卡项与服务商品',
|
||||
//展示介绍
|
||||
'description' => '卡项与服务商品',
|
||||
//展示图标
|
||||
'icon' => 'addon/cardservice/icon.png',
|
||||
//跳转链接
|
||||
'url' => 'cardservice://shop/service/addgoods',
|
||||
]
|
||||
]
|
||||
];
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
26
addon/cardservice/event/UnInstall.php
Executable file
26
addon/cardservice/event/UnInstall.php
Executable file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
/**
|
||||
* 应用卸载
|
||||
*/
|
||||
class UnInstall
|
||||
{
|
||||
/**
|
||||
* 执行卸载
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return error("系统插件不能删除");
|
||||
}
|
||||
}
|
||||
23
addon/cardservice/event/VerifyType.php
Executable file
23
addon/cardservice/event/VerifyType.php
Executable file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\cardservice\event;
|
||||
|
||||
class VerifyType
|
||||
{
|
||||
/**
|
||||
* 执行卸载
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return ['cardgoods' => [ 'name' => '卡项商品' ] ];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user