50 lines
1.9 KiB
PHP
50 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.gobuysaas.com
|
|
* =========================================================
|
|
*/
|
|
|
|
|
|
namespace addon\store\event;
|
|
|
|
use addon\pointexchange\model\Exchange;
|
|
use addon\pointexchange\model\Order;
|
|
use addon\store\model\StoreMember as StoreMemberModel;
|
|
use addon\store\model\StoreGoodsSku;
|
|
|
|
/**
|
|
* 积分兑换订单创建之后
|
|
*/
|
|
class PointExchangeOrderCreate
|
|
{
|
|
|
|
// 行为扩展的执行入口必须是run
|
|
public function handle($data)
|
|
{
|
|
$order_model = new Order();
|
|
$order_info = $order_model->getOrderInfo([ [ 'order_id', '=', $data[ 'order_id' ] ] ], 'site_id,member_id,delivery_store_id,exchange_goods_id,num')[ 'data' ];
|
|
if (!empty($order_info) && !empty($order_info[ 'delivery_store_id' ])) {
|
|
//添加店铺关注记录
|
|
$shop_member_model = new StoreMemberModel();
|
|
$res = $shop_member_model->addStoreMember($order_info[ 'delivery_store_id' ], $order_info[ 'member_id' ]);
|
|
if ($res[ "code" ] < 0) {
|
|
return $res;
|
|
}
|
|
|
|
$goods_info = ( new Exchange() )->getExchangeInfo($order_info[ 'exchange_goods_id' ])[ 'data' ];
|
|
if (empty($goods_info)) return error(-1, '未获取到兑换商品信息', '');
|
|
|
|
$store_goods_sku_model = new StoreGoodsSku();
|
|
$stock_result = $store_goods_sku_model->decStock([ "store_id" => $order_info[ "delivery_store_id" ], "sku_id" => $goods_info[ "sku_id" ], 'stock' => $order_info[ "num" ] ]);
|
|
if ($stock_result[ "code" ] < 0) {
|
|
return $store_goods_sku_model->error([], '当前门店库存不足,请选择其他门店');
|
|
}
|
|
return $stock_result;
|
|
}
|
|
}
|
|
|
|
} |