初始上传

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

22
addon/store/event/AddStore.php Executable file
View File

@@ -0,0 +1,22 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
/**
*添加门店
*/
class AddStore
{
public function handle($data)
{
}
}

27
addon/store/event/GoodsEdit.php Executable file
View File

@@ -0,0 +1,27 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreGoods;
/**
* 商品编辑之后
*/
class GoodsEdit
{
public function handle($data)
{
$goods = new StoreGoods();
$goods->goodsEditAfter($data['goods_id'], $data['site_id']);
}
}

View File

@@ -0,0 +1,39 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreGoodsSku;
class GoodsSkuStock
{
public function handle($params)
{
//todo 优化
$order_object = $params['order_object'];
$store_goods_sku_model = new StoreGoodsSku();
foreach ($params[ 'goods_list' ] as $v) {
$condition = array (
[ 'store_id', '=', $order_object->delivery[ 'store_id' ] ],
[ 'sku_id', '=', $v[ 'sku_id' ] ]
);
$store_sku_info = model('store_goods_sku')->getInfo($condition, 'id, goods_id, stock');
if (empty($store_sku_info)) {
return $store_goods_sku_model->error([ 'error_code' => 11 ], '当前门店库存不足,请选择其他门店');
}
$store_sku_info[ 'stock' ] = numberFormat($store_sku_info[ 'stock' ]);
if (( $store_sku_info[ 'stock' ] - $v[ 'num' ] ) < 0) {
return $store_goods_sku_model->error([ 'error_code' => 11 ], '当前门店库存不足,请选择其他门店');
}
}
}
}

32
addon/store/event/Install.php Executable file
View File

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

View File

@@ -0,0 +1,43 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreGoodsSku;
use app\model\order\OrderCommon;
/**
* 关闭订单返还门店库存
*/
class OrderClose
{
public function handle($data)
{
// $order_model = new OrderCommon();
// $order_info_result = $order_model->getOrderInfo([['order_id', '=', $data['order_id']]], 'site_id,member_id,delivery_store_id');
// $order_info = $order_info_result['data'];
//
// if ($order_info["delivery_store_id"] > 0) {
// //减少库存
// $order_goods_list_result = $order_model->getOrderGoodsList([['order_id', '=', $data['order_id']]], "num,sku_id");
// $order_goods_list = $order_goods_list_result["data"];
// foreach ($order_goods_list as $k => $v) {
// $store_goods_sku_model = new StoreGoodsSku();
// $stock_result = $store_goods_sku_model->incStock(["store_id" => $order_info["delivery_store_id"], "sku_id" => $v["sku_id"], 'stock' => $v["num"]]);
// if ($stock_result["code"] < 0) {
// return $stock_result;
// }
// }
// }
}
}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreOrder;
/**
* 添加下单用户为门店用户
*/
class OrderComplete
{
public function handle($order)
{
$store_order = new StoreOrder();
$res = $store_order->orderComplete($order[ 'order_id' ]);
return $res;
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreMember as StoreMemberModel;
use app\model\order\OrderCommon;
/**
* 添加下单用户为门店用户
*/
class OrderCreateAfter
{
public function handle($data)
{
$order_data = $data['create_data'] ?? [];
$delivery_store_id = $order_data['delivery_store_id'] ?? 0;
$member_id = $order_data['member_id'] ?? 0;
if ($delivery_store_id > 0 && $member_id > 0) {
//添加门店关注记录
$shop_member_model = new StoreMemberModel();
$res = $shop_member_model->addStoreMember($delivery_store_id, $member_id);
if ($res["code"] < 0) {
return $res;
}
}
return true;
}
}

View File

@@ -0,0 +1,229 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\store\event;
use addon\cashier\model\order\CashierOrderPay;
use app\model\express\Express;
use app\model\express\Local;
use app\model\order\OrderCommon;
use app\model\order\OrderCreateTool;
use app\model\store\Store;
/**
* 订单创建相关
*/
class OrderCreateCommonData
{
use OrderCreateTool;
// 行为扩展的执行入口必须是run
public function handle($params)
{
/** @var \app\model\order\OrderCreate $order_object */
$order_object = $params['order_object'];
$type = $params['type'];
$store_id = $order_object->store_id ?? 0;
$site_id = $order_object->site_id;
if($store_id == 0)
return null;
$store_model = new Store();
$store_condition = array(
['store_id', '=', $store_id]
);
$store_info = $store_model->getStoreInfo($store_condition)['data'] ?? [];
$store_is_express = $store_info['is_express'];
$store_is_o2o = $store_info['is_o2o'];
$store_is_pickup = $store_info['is_pickup'];
$store_config_model = new \addon\store\model\Config();
$store_config = $store_config_model->getStoreBusinessConfig($site_id)['data']['value'] ?? [];
$deliver_type_sort = $order_object->config('delivery_type_sort');
$deliver_sort_list = explode(',', $deliver_type_sort['value']['deliver_type']);
// $deliver_sort_list = $params['deliver_sort_list'];
$latitude = $order_object->param[ 'latitude' ] ?? 0;
$longitude= $order_object->param[ 'longitude' ] ?? 0;
$order_model = new OrderCommon();
switch($type){
case 'trade':
//必须是连锁模式 还需要判断某一个插件是否存在
if($store_id > 0 && $store_config['store_business'] == 'store'){
foreach ($deliver_sort_list as $type) {
// 物流
if ($type == 'express') {
$store_is_express = $store_is_express ?? 0;
if($store_is_express == 1){
$title = $order_object->config('express')[ 'value' ][ 'express_name' ];
if ($title == '') {
$title = Express::express_type[ 'express' ][ 'title' ];
}
$express_type[] = [ 'title' => $title, 'name' => 'express' ];
}
}
// 自提
if ($type == 'store') {
$store_is_pickup = $store_is_pickup ?? 0;
if($store_is_pickup == 1){
//根据坐标查询门店
$store_model = new Store();
$store_condition = array (
[ 'site_id', '=', $site_id ],
[ 'is_pickup', '=', 1 ],
[ 'status', '=', 1 ],
[ 'is_frozen', '=', 0 ],
);
$store_condition[] = ['store_id', '=', $store_id];
$latlng = array (
'lat' => $latitude,
'lng' => $longitude,
);
$store_list = $store_model->getLocationStoreList($store_condition, '*', $latlng)['data'] ?? [];
$title = $order_object->config('store')[ 'value' ][ 'store_name' ];
if ($title == '') {
$title = Express::express_type[ 'store' ][ 'title' ];
}
$express_type[] = [ 'title' => $title, 'name' => 'store', 'store_list' => $store_list ];
}
}
// 外卖
if ($type == 'local') {
$store_is_o2o = $store_is_o2o ?? 0;
if($store_is_o2o == 1){
//查询本店的通讯地址
$title = $order_object->config('local')[ 'value' ][ 'local_name' ];
if ($title == '') {
$title = '外卖配送';
}
$store_model = new Store();
$local_condition = array (
[ 'site_id', '=', $site_id ],
);
// if (addon_is_exit('store', $site_id)) {
$local_condition[] = [ 'is_o2o', '=', 1 ];
$local_condition[] = [ 'status', '=', 1 ];
$local_condition[] = [ 'is_frozen', '=', 0 ];
// } else {
// $store_condition[] = ['is_default', '=', 1];
// }
$local_condition[] = ['store_id', '=', $store_id];
$latlng = array (
'lat' => $latitude,
'lng' => $longitude,
);
$local_store_list = $store_model->getLocationStoreList($local_condition, '*', $latlng)['data'] ?? [];
$express_type[] = [ 'title' => $title, 'name' => 'local', 'store_list' => $local_store_list ];
}
}
}
return $order_model->success($express_type ?? []);
}
break;
case 'trade_calc':
if($store_id > 0 && $store_config['store_business'] == 'store'){
//如果本地配送开启, 则查询出本地配送的配置
$local_model = new Local();
$local_info = $local_model->getLocalInfo([ [ 'site_id', '=', $site_id ], ['store_id', '=', $store_id ] ])['data'] ?? [];
$order_object->delivery[ 'local' ][ 'info' ] = $local_info;
$delivery_array = $order_object->param[ 'delivery' ] ?? [];
$delivery_type = $delivery_array[ 'delivery_type' ] ?? 'express';
if ($delivery_type == 'store') {
//门店自提
$delivery_money = 0;
$order_object->delivery[ 'delivery_type' ] = 'store';
if ($store_is_pickup == 0) {
$error = ['error_msg' => '门店自提方式未开启!'];
}
$order_object->delivery[ 'store_id' ] = $delivery_array[ 'store_id' ] ?? 0;
// $order_object->delivery[ 'buyer_ask_delivery_time' ] = $delivery_array[ 'buyer_ask_delivery_time' ] ?? [];
//同步门店信息
$order_object->storeOrderData();
} else {
if (empty($order_object->delivery[ 'member_address' ])) {
$delivery_money = 0;
$order_object->delivery[ 'delivery_type' ] = 'express';
$error = ['error_msg' => '未配置默认收货地址!'];
} else {
if ($delivery_type == 'express') {
if ($store_is_express == 1) {
//物流配送
$express = new Express();
$express_fee_result = $express->calculate(['order_object' => $order_object]);
if ($express_fee_result[ 'code' ] < 0) {
$error = ['error_msg' => $express_fee_result[ 'message' ]];
$delivery_fee = 0;
} else {
$delivery_fee = $express_fee_result[ 'data' ][ 'delivery_fee' ];
}
} else {
$error = ['error_msg' => '物流配送方式未开启!'];
$delivery_fee = 0;
}
$order_object->delivery_money = $delivery_fee;
$order_object->delivery[ 'delivery_type' ] = 'express';
} else if ($delivery_type == 'local') {
//外卖配送
$delivery_money = 0;
$order_object->delivery[ 'delivery_type' ] = 'local';
if ($store_is_o2o == 0) {
$error = ['error_msg' => '外卖配送方式未开启!'];
} else {
if (empty($delivery_array[ 'store_id' ])) {
$error = ['error_msg' => '门店未选择!'];
}
// $local_delivery_time = $delivery_array[ 'buyer_ask_delivery_time' ] ?? [];
// $order_object->delivery[ 'buyer_ask_delivery_time' ] = $local_delivery_time;
$local_model = new Local();
$local_result = $local_model->calculate(['order_object' => $order_object]);
$order_object->delivery[ 'start_money' ] = 0;
if ($local_result[ 'code' ] < 0) {
$order_object->delivery[ 'start_money' ] = $local_result[ 'data' ][ 'start_money_array' ][ 0 ] ?? 0;
$error = ['error_msg' => $local_result[ 'message' ], 'priority' => 1, 'error' => $local_result[ 'data' ][ 'code' ]];
} else {
$order_object->delivery_money = $local_result[ 'data' ][ 'delivery_money' ];
if (!empty($local_result[ 'data' ][ 'error_code' ])) {
$error = ['error_msg' => $local_result[ 'data' ][ 'error' ], 'priority' => 1, 'error' => $local_result[ 'data' ][ 'error' ]];
}
}
$order_object->delivery[ 'error' ] = $error['error'] ?? 0;
$order_object->delivery[ 'error_msg' ] = $error['error_msg'] ?? '';
}
}
}
}
if(!empty($error)){
$order_object->setError($error['error'] ?? 1, $error['error_msg'] ?? '', $error['priority'] ?? 0);
}
return true;
// return $order_model->success(['shop_goods' => $shop_goods, 'delivery_money' => $delivery_money, 'error' => $error ?? []]);
}
break;
}
}
}

View File

@@ -0,0 +1,158 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\store\event;
use addon\cashier\model\order\CashierOrderPay;
/**
* 订单项计算
*/
class OrderGoodsCalculate
{
public function handle($data)
{
/** @var \app\model\order\OrderCreate $order_object */
$order_object = $data['order_object'];
$store_id = $order_object->store_id;
if($store_id > 0){
$site_id = $order_object->site_id;
// $delivery_array = $data[ 'delivery' ] ?? [];
// $delivery_type = $delivery_array[ 'delivery_type' ] ?? 'express';
$store_config_model = new \addon\store\model\Config();
$store_config = $store_config_model->getStoreBusinessConfig($site_id)[ 'data' ][ 'value' ] ?? [];
// if ($store_config[ 'store_business' ] == 'shop' && !in_array($delivery_type, [ 'local', 'store' ])) {
// return null;
// }
//只要是平台运营模式,就不参与商品设置的门店,所在门店的上下架状态
if ($store_config[ 'store_business' ] == 'shop') {
return true;
}
if(!empty($order_object->goods_list)) {
$sku_ids = array_column($order_object->goods_list, 'sku_id');
$store_sku_condition = array(
['sku_id', 'in', $sku_ids],
['store_id', '=', $store_id]
);
$store_sku_column = model('store_goods_sku')->getColumn($store_sku_condition, 'sku_id, price, stock, status', 'sku_id');
foreach ($order_object->goods_list as &$goods_v) {
$sale_store = $goods_v[ 'sale_store' ] ?? '';
if ($sale_store != 'all') {
$sale_store_ids = explode(',', $sale_store);
if (!in_array($store_id, $sale_store_ids)) {
$error = array (
'message' => '当前门店暂不支持销售此项商品'
);
$goods_v[ 'error' ] = $error;
$order_object->setError(1, '存在商品不支持在当前门店销售!');
continue;
}
}
//门店sku信息
$store_sku_info = $store_sku_column[$goods_v['sku_id']] ?? [];
if (!empty($store_sku_info)) {
$is_unify_price = $goods_v[ 'is_unify_price' ];
if ($is_unify_price == 1) {
//表逻辑,无实际意义
} else {
$goods_v[ 'price' ] = $store_sku_info[ 'price' ];
}
$goods_v[ 'stock' ] = numberFormat($store_sku_info[ 'stock' ]);
if ($store_sku_info[ 'status' ] != 1) {
$goods_v[ 'error' ] = array (
'message' => '当前门店暂不支持销售此项商品'
);
$order_object->setError(1, '存在商品不支持在当前门店销售!');
}
} else {
$goods_v[ 'error' ] = array (
'message' => '当前门店暂不支持销售此项商品'
);
$order_object->setError(1, '存在商品不支持在当前门店销售!');
}
}
}
}
// $store_id = $data[ 'store_id' ] ?? 0;
// if ($store_id > 0) {
//
//
// $site_id = $data[ 'site_id' ];
// //还需要判断配送方式(平台运营模式如果是 同城 门店自提的话 才有可能传入store_id)
// $delivery_array = $data[ 'delivery' ] ?? [];
// $delivery_type = $delivery_array[ 'delivery_type' ] ?? 'express';
// $store_config_model = new \addon\store\model\Config();
// $store_config = $store_config_model->getStoreBusinessConfig($site_id)[ 'data' ][ 'value' ] ?? [];
// if ($store_config[ 'store_business' ] == 'shop' && !in_array($delivery_type, [ 'local', 'store' ])) {
// return null;
// }
//
// $goods_id = $data[ 'goods_id' ];
// $goods_info = model('goods')->getInfo([ [ 'goods_id', '=', $goods_id ] ], 'sale_store');
// $sale_store = $goods_info[ 'sale_store' ] ?? '';
//
// if ($sale_store != 'all') {
// $sale_store_ids = explode(',', $sale_store);
// if (!in_array($store_id, $sale_store_ids)) {
// $error = array (
//// 'code' => '',//暂无映射关系
// 'message' => '当前门店暂不支持销售此项商品'
// );
// $data[ 'error' ] = $error;
// return ( new CashierOrderPay() )->success($data);
// }
// }
//
// $sku_id = $data[ 'sku_id' ];
// $store_sku_condition = array (
// [ 'sku_id', '=', $sku_id ],
// [ 'store_id', '=', $store_id ]
// );
// $store_sku_info = model('store_goods_sku')->getInfo($store_sku_condition);
// if (!empty($store_sku_info)) {
// $is_unify_price = $data[ 'is_unify_price' ];
// if ($is_unify_price == 1) {
// //表逻辑,无实际意义
// } else {
// $data[ 'price' ] = $store_sku_info[ 'price' ];
// }
// $data[ 'stock' ] = numberFormat($store_sku_info[ 'stock' ]);
//
// if ($store_sku_info[ 'status' ] != 1) {
// $error = array (
//// 'code' => '',//暂无映射关系
// 'message' => '当前门店暂不支持销售此项商品'
// );
// }
// } else {
// $error = array (
//// 'code' => '',//暂无映射关系
// 'message' => '当前门店暂不支持销售此项商品'
// );
// }
//
//
// if (!empty($error)) {
// $data[ 'error' ] = $error;
// }
// return ( new CashierOrderPay() )->success($data);
// }
}
}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreOrder;
/**
* 添加下单用户为门店用户(todo 为兼容已存在但未完成的旧数据先保留)
*/
class OrderPayAfter
{
public function handle($order)
{
$store_order = new StoreOrder();
$res = $store_order->orderPay($order);
return $res;
}
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\StoreMember as StoreMemberModel;
/**
* 积分兑换订单创建之后
*/
class PointExchangeOrderCreate
{
// 行为扩展的执行入口必须是run
public function handle($data)
{
$order_data = $data['create_data'];
$delivery_store_id = $order_data['delivery'][ 'delivery_store_id' ] ?? 0;
if ($delivery_store_id > 0) {
//添加店铺关注记录
$shop_member_model = new StoreMemberModel();
$res = $shop_member_model->addStoreMember($delivery_store_id, $order_data[ 'member_id' ]);
if ($res[ "code" ] < 0) {
return $res;
}
return true;
}
}
}

View File

@@ -0,0 +1,48 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\store\event;
/**
* 活动展示
*/
class ShowPromotion
{
/**
* 活动展示
* @return array
*/
public function handle()
{
$data = [
'shop' => [
[
//插件名称
'name' => 'store',
//店铺端展示分类 shop:营销活动 member:互动营销
'show_type' => 'tool',
//展示主题
'title' => '门店管理',
//展示介绍
'description' => '门店管理功能',
//展示图标
'icon' => 'addon/store/icon.png',
//跳转链接
'url' => 'store://shop/store/lists',
]
]
];
return $data;
}
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\settlement\OrderSettlement;
/**
* 门店分成结算
*/
class StoreOrderRefundSettlementCalculate
{
public function handle($data)
{
$order_settlement_model = new OrderSettlement();
$order_settlement_model->orderRefundSettlementAccount($data);
}
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\settlement\OrderSettlement;
/**
* 门店分成结算
*/
class StoreOrderSettlementCalculate
{
public function handle($data)
{
$order_settlement_model = new OrderSettlement();
$order_settlement_model->orderSettlementAccount($data);
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
use addon\store\model\Settlement;
use Carbon\Carbon;
/**
* 门店结算
*/
class StoreWithdrawPeriodCalc
{
public function handle($params)
{
$model = new Settlement();
$time = Carbon::today()->timestamp;
$res = $model->settlement($params[ 'relate_id' ], $time);
return $res;
}
}

30
addon/store/event/UnInstall.php Executable file
View File

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

View File

@@ -0,0 +1,25 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
/**
* 提现通知
*/
class WithdrawTransferCheck
{
public function handle($param)
{
if($param['from_type'] == 'store_withdraw'){
$model = new \addon\store\model\StoreWithdraw();
return $model->transferCheck($param['relate_tag']);
}
}
}

View File

@@ -0,0 +1,25 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace addon\store\event;
/**
* 提现通知
*/
class WithdrawTransferNotify
{
public function handle($param)
{
if($param['from_type'] == 'store_withdraw'){
$model = new \addon\store\model\StoreWithdraw();
return $model->transferNotify($param);
}
}
}