初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use addon\jielong\model\Jielong;
/**
* 关闭活动
*/
class CloseJielong
{
public function handle($params)
{
$jielong = new Jielong();
$res = $jielong->cronCloseJielong($params[ 'relate_id' ]);
return $res;
}
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
/**
* 活动类型
*/
class GoodsPromotionType
{
/**
* 活动类型
* @return array
*/
public function handle()
{
return [ 'name' => '社群接龙', 'short' => '接', 'type' => 'jielong', 'color' => '#4CB130', 'url' => 'jielong://shop/Jielong/lists' ];
}
}

26
addon/jielong/event/Install.php Executable file
View File

@@ -0,0 +1,26 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\jielong\event;
/**
* 应用安装
*/
class Install
{
/**
* 执行安装
*/
public function handle()
{
return success();
}
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use addon\jielong\model\Jielong;
/**
* 启动活动
*/
class OpenJielong
{
public function handle($params)
{
$jielong = new Jielong();
$res = $jielong->cronOpenJielong($params[ 'relate_id' ]);
return $res;
}
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use app\model\order\OrderCommon;
/**
* 订单支付后同步状态
*/
class OrderClose
{
public function handle($params)
{
$order_common_model = new OrderCommon();
$close_status = OrderCommon::ORDER_CLOSE;
/******************************************************* 接龙订单相关,建议移动到插件 **********************************************************/
//更改接龙订单状态
model('promotion_jielong_order')->update([
'order_status' => $close_status,
'order_status_name' => $order_common_model->order_status[$close_status]['name'],
'order_status_action' => json_encode($order_common_model->order_status[$close_status], JSON_UNESCAPED_UNICODE),
'close_time' => time(),
], [['relate_order_id', '=', $params['order_id']]]);
return true;
}
}

View File

@@ -0,0 +1,89 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use addon\jielong\model\Cart;
use app\model\order\OrderCommon;
/**
* 关闭活动
*/
class OrderCreateAfter
{
public function handle($params)
{
//订单支付后
$order_object = $params['order_object'];
if ($order_object->jielong_id > 0) {
$cart_ids = $order_object->cart_ids;
$member_id = $order_object->member_id;
$jielong_cart = new Cart();
//删除购物车
$data_cart = [
'cart_id' => $cart_ids,
'member_id' => $member_id
];
$jielong_cart->deleteCart($data_cart);
//配送数据
$express_type_list = $order_object->config('delivery_type');
$delivery_type_name = $express_type_list[$order_object->delivery['delivery_type']] ?? '';
model('promotion_jielong_order')->add([
'order_no' => $order_object->order_no,
'site_id' => $order_object->site_id,
'site_name' => $order_object->site_name,
'order_from' => $order_object->param['order_from'],
'order_from_name' => $order_object->param['order_from_name'],
'order_type' => $order_object->order_type['order_type_id'],
'order_type_name' => $order_object->order_type['order_type_name'],
'order_status_name' => $order_object->order_type['order_status']['name'],
'order_status_action' => json_encode($order_object->order_type['order_status'], JSON_UNESCAPED_UNICODE),
'member_id' => $order_object->member_id,
'name' => $order_object->delivery['member_address']['name'] ?? '',
'mobile' => $order_object->delivery['member_address']['mobile'] ?? '',
'telephone' => $order_object->delivery['member_address']['telephone'] ?? '',
'province_id' => $order_object->delivery['member_address']['province_id'] ?? '',
'city_id' => $order_object->delivery['member_address']['city_id'] ?? '',
'district_id' => $order_object->delivery['member_address']['district_id'] ?? '',
'community_id' => $order_object->delivery['member_address']['community_id'] ?? '',
'address' => $order_object->delivery['member_address']['address'] ?? '',
'full_address' => $order_object->delivery['member_address']['full_address'] ?? '',
'longitude' => $order_object->delivery['member_address']['longitude'] ?? '',
'latitude' => $order_object->delivery['member_address']['latitude'] ?? '',
'buyer_ip' => request()->ip(),
'buyer_message' => $order_object->param['buyer_message'] ?? '',
'num' => $order_object->goods_num,
'goods_money' => $order_object->goods_money,
'delivery_money' => $order_object->delivery_money,
'promotion_money' => $order_object->promotion_money,
'coupon_id' => $order_object->coupon_id ?? 0,
'coupon_money' => $order_object->coupon_money ?? 0,
'order_money' => $order_object->order_money,
'delivery_type' => $order_object->delivery['delivery_type'],
'delivery_type_name' => $delivery_type_name,
'create_time' => time(),
'relate_order_id' => $order_object->order_id,
'jielong_id' => $order_object->jielong_id,
]);
}
return true;
}
}

View File

@@ -0,0 +1,45 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use addon\jielong\model\Jielong;
use app\model\order\OrderCommon;
/**
* 订单支付后同步状态
*/
class OrderPay
{
public function handle($params)
{
$order_id = $params['order_id'];
$order_info = model('order')->getInfo([['order_id', '=', $order_id]]);
//操作接龙订单start
$where = array(
['relate_order_id', '=', $params['order_id']],
['order_status', '=', OrderCommon::ORDER_CREATE],
);
model('promotion_jielong_order')->update([
'order_status' => $order_info['order_status'],
'order_status_name' => $order_info['order_status_name'],
'order_status_action' => $order_info['order_status_action'],
'pay_time' => time(),
'pay_type' => $order_info['pay_type'],
'pay_type_name' => $order_info['pay_type_name']
], $where);
//操作接龙订单end
return true;
}
}

View File

@@ -0,0 +1,94 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\jielong\event;
use think\facade\Db;
/**
* 活动展示
*/
class ShowPromotion
{
public $promotion_type = 'time_limit';
/**
* 活动展示
* @param array $params
* @return array
*/
public function handle($params = [])
{
$data = [
'shop' => [
[
//插件名称
'name' => 'jielong',
//店铺端展示分类 shop:营销活动 member:互动营销
'show_type' => 'shop',
//展示主题
'title' => '社群接龙',
//展示介绍
'description' => '接龙购买,快速成单',
//展示图标
'icon' => 'addon/jielong/icon.png',
//跳转链接
'url' => 'jielong://shop/jielong/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_jielong")->getCount([ [ 'site_id', '=', $params[ 'site_id' ] ] ]);
return [
'count' => $count
];
}
//获取活动概况,需要获取开始时间与结束时间
if (isset($params[ 'summary' ])) {
$list = model("promotion_jielong")->getList([
[ '', 'exp', Db::raw('not ( (`start_time` >= ' . $params[ 'end_time' ] . ') or (`end_time` <= ' . $params[ 'start_time' ] . '))') ],
[ 'site_id', '=', $params[ 'site_id' ] ],
[ 'status', '<>', 2 ],
[ 'status', '<>', 3 ]
], 'jielong_name as promotion_name,jielong_id as promotion_id,start_time,end_time');
return !empty($list) ? [
'time_limit' => [
'count' => count($list),
'detail' => $list,
'color' => '#E066FF'
]
] : [];
}
}
}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\jielong\event;
/**
* 应用卸载
*/
class UnInstall
{
/**
* 执行卸载
*/
public function handle()
{
return success();
}
}