<?php
|
|
namespace app\api\controller\store;
|
|
use app\api\controller\Controller;
|
use app\api\model\settings\Setting as SettingModel;
|
use app\api\model\store\Clerk as ClerkModel;
|
use app\api\model\order\Order as OrderModel;
|
use app\api\model\store\Order as StoreOrderModel;
|
|
/**
|
* 自提订单管理
|
*/
|
class Order extends Controller
|
{
|
private $user;
|
|
/**
|
* 构造方法
|
*/
|
public function initialize()
|
{
|
parent::initialize();
|
$this->user = $this->getUser(); // 用户信息
|
}
|
|
/**
|
* 订单核销记录列表
|
*/
|
public function index($search = '')
|
{
|
$data = $this->postData();
|
// 核销记录列表
|
$store_id = $this->user["clerkUser"]["store_id"];
|
$model = new StoreOrderModel;
|
$list = $model->getList($store_id, $search, $data);
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 核销订单详情
|
*/
|
public function detail($order_no)
|
{
|
// 订单详情
|
$model = OrderModel::detailByNo($order_no);
|
// 验证是否为该门店的核销员
|
$clerkModel = ClerkModel::detail(['user_id' => $this->user['user_id']]);
|
|
/*if (!$clerkModel->checkUser($model['extract_store_id'])) {
|
return $this->renderError($clerkModel->getError());
|
}*/
|
return $this->renderSuccess('', [
|
'order' => $model, // 订单详情
|
'clerkModel' => $clerkModel,
|
'setting' => [
|
// 积分名称
|
'points_name' => SettingModel::getPointsName(),
|
],
|
]);
|
}
|
|
/**
|
* 确认核销
|
*/
|
public function extract($order_id)
|
{
|
// 订单详情
|
$order = OrderModel::detail($order_id);
|
// 验证是否为该门店的核销员
|
$ClerkModel = ClerkModel::detail(['user_id' => $this->user['user_id']]);
|
if(empty($ClerkModel)){
|
return $this->renderError('您的不是该门店核销员');
|
}
|
//如果是虚拟商品支持核销 by yj
|
if ($order['is_verify'] == 1) {
|
//验证门店有没有核销权限
|
$store_ids = explode(',', $order['verify']['verify_store_ids']);
|
if ($store_ids && !in_array($ClerkModel['store_id'], $store_ids)) {
|
return $this->renderError('您的门店没有核销权限');
|
}
|
$order['extract_store_id'] = $ClerkModel['store_id'];
|
}
|
if (!$ClerkModel->checkUser($order['extract_store_id'])) {
|
return $this->renderError($ClerkModel->getError());
|
}
|
// 确认核销
|
if ($order->verificationOrder($ClerkModel['clerk_id'],$ClerkModel['store_id'],$ClerkModel["shop_supplier_id"])) {
|
// 微信发货
|
if(!empty($order["transaction_id"])){
|
$order->wxDelivery();
|
}
|
|
return $this->renderSuccess('订单核销成功', []);
|
}
|
return $this->renderError($order->getError() ?:'核销失败');
|
}
|
|
}
|