getList($dataType, $this->postData(), $this->getSupplierId()); $order_count = [ 'order_count' => [ 'payment' => $model->getCount('payment', $this->getSupplierId()), 'delivery' => $model->getCount('delivery', $this->getSupplierId()), 'received' => $model->getCount('received', $this->getSupplierId()), 'cancel' => $model->getCount('cancel', $this->getSupplierId()), ],]; // 自提门店列表 $shop_list = StoreModel::getAllList($this->getSupplierId()); $ex_style = DeliveryTypeEnum::data(); $orderSource = OrderSourceEnum::data(); return $this->renderSuccess('', compact('list', 'order_count', 'shop_list', 'ex_style', 'orderSource')); } /** * */ /* public function test() { $model = new OrderModel(); // 测试小票打印 $order = $model::detail(2074); (new OrderPrinterService)->printTicket($order); }*/ /** * 订单详情 */ public function detail($order_id) { // 订单详情 $detail = OrderModel::detail($order_id); if (isset($detail['pay_time']) && $detail['pay_time'] != '') { $detail['pay_time'] = date('Y-m-d H:i:s', $detail['pay_time']); } if (isset($detail['delivery_time']) && $detail['delivery_time'] != '') { $detail['delivery_time'] = date('Y-m-d H:i:s', $detail['delivery_time']); } if ($detail['order_source'] == 70 && isset($detail['advance'])) { $detail['pay_price'] = round($detail['pay_price'] + $detail['advance']['pay_price'], 2); $detail['order_price'] = round($detail['order_price'] + $detail['advance']['pay_price'], 2); } // 物流公司列表 $model = new ExpressModel(); $expressList = $model->getAll(); // 门店店员列表 $shopClerkList = (new ClerkModel)->getClerk($detail['extract_store_id']); // 配送门店信息 $delivery_storeinfo=array(); if (isset($detail['delivery_store']) && $detail['delivery_store'] != '') { $delivery_storeinfo = StoreModel::detail($detail['delivery_store']); } // 虚拟商品可核销门店列表 by lyzflash $verifyShopList = !empty($detail['verify']['verify_store_ids']) ? (new StoreModel)->getListByIds($detail['verify']['verify_store_ids'], $detail['shop_supplier_id']) : (new StoreModel)->getCheckList($detail['shop_supplier_id']); return $this->renderSuccess('', compact('detail', 'expressList', 'shopClerkList','delivery_storeinfo', 'verifyShopList')); } /** * 确认发货 */ public function delivery($order_id) { $model = OrderModel::detail($order_id); if ($model->delivery($this->postData('param'))) { // 微信发货 $model->wxDelivery(); return $this->renderSuccess('发货成功'); } return $this->renderError('发货失败'); } /** * 修改订单价格 */ public function updatePrice($order_id) { $model = OrderModel::detail($order_id); if ($model->updatePrice($this->postData('order'))) { return $this->renderSuccess('修改成功'); } return $this->renderError($model->getError() ?: '修改失败'); } /** * 获取物流信息 */ public function express($order_id) { // 订单信息 $order = OrderModel::detail($order_id); if (!$order['express_no']) { return $this->renderError('没有物流信息'); } // 获取物流信息 $model = $order['express']; $express = $model->dynamic($model['express_name'], $model['express_code'], $order['express_no']); if ($express === false) { return $this->renderError($model->getError()); } return $this->renderSuccess('', compact('express')); } /** * 订单改地址 */ public function updateAddress($order_id) { // 订单信息 $order = OrderModel::detail($order_id); if (($order['delivery_type']['value'] == 10 || $order['delivery_type']['value'] == 40 ) && $order['delivery_status']['value'] == 20) { return $this->renderError('订单已发货不允许修改'); } // 获取物流信息 $model = $order['address']; if (!$model->updateAddress($this->postData())) { return $this->renderError($model->getError() ?: '修改失败'); } return $this->renderSuccess('修改成功'); } /** * 取消订单(后台主动取消) */ public function orderCancel($order_no) { // 订单信息 $model = OrderModel::detail(['order_no' => $order_no]); if ($model->orderCancel($this->postData())) { return $this->renderSuccess('操作成功'); } return $this->renderError($model->getError() ?: '操作失败'); } /** * 虚拟商品发货 */ public function virtual($order_id) { // 订单信息 $model = OrderModel::detail($order_id); if ($model->virtual($this->postData())) { return $this->renderSuccess('操作成功'); } return $this->renderError($model->getError() ?: '操作失败'); } /** * 微信小程序发货 */ public function wxDelivery($order_id) { $model = OrderModel::detail($order_id); if ($model->wxDelivery()) { return $this->renderSuccess('发货成功'); } return $this->renderError($model->getError() ?: '发货失败'); } }