136 lines
3.7 KiB
PHP
136 lines
3.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.cdcloudshop.com
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace addon\cashier\model\order;
|
|
|
|
|
|
use addon\cardservice\model\MemberCard;
|
|
use addon\memberrecharge\model\RechargeOrder;
|
|
use addon\o2o\model\goods\GoodsData;
|
|
use addon\o2o\model\member\MemberOnceCard;
|
|
use addon\o2o\model\stock\Stock;
|
|
use addon\o2o\model\store\Store;
|
|
use addon\o2o\model\yuyue\Yuyue;
|
|
use app\model\BaseModel;
|
|
use app\model\goods\Goods;
|
|
use app\model\member\MemberLevelOrder;
|
|
use app\model\site\Site;
|
|
|
|
|
|
/**
|
|
* 收银业务操作
|
|
*
|
|
* @author Administrator
|
|
*
|
|
*/
|
|
class CashierTrade extends BaseModel
|
|
{
|
|
|
|
|
|
public function toSend($item, $order_info)
|
|
{
|
|
|
|
$action_type = $item[ 'goods_class' ];//操作类型
|
|
if (in_array($action_type, [ 1, 4, 5 ])) {
|
|
switch ( $action_type ) {
|
|
case '5'://卡项
|
|
$result = $this->toCard($item, $order_info);
|
|
break;
|
|
case '1'://实物
|
|
$result = $this->toGoods($item, $order_info);
|
|
break;
|
|
case '4'://服务
|
|
$result = $this->toService($item, $order_info);
|
|
break;
|
|
}
|
|
if (!empty($result)) {
|
|
if ($result[ 'code' ] < 0) {
|
|
return $result;
|
|
}
|
|
}
|
|
//累加销量
|
|
$goods_model = new Goods();
|
|
$goods_model->incGoodsSaleNum($item[ 'sku_id' ], $item[ 'num' ], $item[ 'store_id' ] ?? 0);
|
|
}
|
|
$order_goods_data = array (
|
|
//配送状态
|
|
'delivery_status' => 2,
|
|
'delivery_status_name' => '已收货',
|
|
);
|
|
model('order_goods')->update($order_goods_data, [ [ 'order_goods_id', '=', $item[ 'order_goods_id' ] ] ]);
|
|
return $this->success();
|
|
}
|
|
|
|
|
|
/**
|
|
* 生成卡项
|
|
* @param $params
|
|
* @return array
|
|
*/
|
|
public function toCard($params, $order_info)
|
|
{
|
|
|
|
$member_card_model = new MemberCard();
|
|
$num = $params[ 'num' ];
|
|
$i = 0;
|
|
while ($i < $num) {
|
|
$result = $member_card_model->create($params);
|
|
if ($result[ 'code' ] < 0) {
|
|
return $result;
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
return $this->success();
|
|
}
|
|
|
|
/**
|
|
* 生成预约服务
|
|
* @param $order_info
|
|
* @return array
|
|
*/
|
|
public function toService($params, $order_info)
|
|
{
|
|
$store_id = $order_info[ 'store_id' ];
|
|
|
|
return $this->success();
|
|
}
|
|
|
|
/**
|
|
* 实物处理
|
|
* @param $params
|
|
* @param $order_info
|
|
* @return array
|
|
*/
|
|
public function toGoods($params, $order_info)
|
|
{
|
|
// $store_id = $order_info['store_id'];
|
|
//
|
|
// //扣除库存
|
|
// $order_stock_model = new OrderStock();
|
|
// $stock_params = array(
|
|
// 'store_id' => $store_id,
|
|
// 'sku_id' => $params['sku_id'],
|
|
// 'goods_id' => $params['goods_id'],
|
|
// 'stock' => $params['num'],
|
|
// 'goods_class' => $params['goods_class'],
|
|
// 'site_id' => $order_info['site_id'],
|
|
// 'user_info' => [
|
|
// 'uid' => $order_info['cashier_operator_id'],
|
|
// 'username' => $order_info['cashier_operator_name'],
|
|
// ]
|
|
// );
|
|
// $result = $order_stock_model->decOrderStock($stock_params);
|
|
// return $result;
|
|
}
|
|
|
|
|
|
} |