From 0fce28dd12a42c9946186451b88d4fb52b5f2400 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Sun, 25 Jun 2023 15:44:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9F=A5=E7=9C=8B=E7=89=A9?= =?UTF-8?q?=E6=B5=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/admin/StoreOrderController.php | 78 +++++++++++++++++++ crmeb/app/api/route/v1.php | 1 + 2 files changed, 79 insertions(+) diff --git a/crmeb/app/api/controller/v1/admin/StoreOrderController.php b/crmeb/app/api/controller/v1/admin/StoreOrderController.php index 17ab9ec7d..81cc01289 100644 --- a/crmeb/app/api/controller/v1/admin/StoreOrderController.php +++ b/crmeb/app/api/controller/v1/admin/StoreOrderController.php @@ -46,6 +46,84 @@ class StoreOrderController $this->service = $services; } + + /** + * 订单 查看物流 + * @param StoreOrderCartInfoServices $services + * @param ExpressServices $expressServices + * @param $uni + * @param string $type + * @return mixed + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + */ + public function express(StoreOrderServices $orderServices, StoreOrderCartInfoServices $services, ExpressServices $expressServices, $uni, $type = '') + { + if ($type == 'refund') { + /** @var StoreOrderRefundServices $refundService */ + $refundService = app()->make(StoreOrderRefundServices::class); + $order = $refundService->refundDetail($uni); + $express = $order['refund_express']; + $cacheName = $uni . $express; + $orderInfo = []; + $info = []; + $cartNew = []; + foreach ($order['cart_info'] as $k => $cart) { + $cartNew['cart_num'] = $cart['cart_num']; + $cartNew['truePrice'] = $cart['truePrice']; + $cartNew['postage_price'] = $cart['postage_price']; + $cartNew['productInfo']['image'] = $cart['productInfo']['image']; + $cartNew['productInfo']['store_name'] = $cart['productInfo']['store_name']; + $cartNew['productInfo']['unit_name'] = $cart['productInfo']['unit_name'] ?? ''; + array_push($info, $cartNew); + unset($cart); + } + $orderInfo['cartInfo'] = $info; + $orderInfo['delivery_id'] = $express; + $orderInfo['delivery_name'] = $order['refund_express_name']; + $orderInfo['delivery_code'] = ''; + } else { + if (!$uni || !($order = $orderServices->getUserOrderDetail($uni, 0, []))) { + return app('json')->fail(410173); + } + if ($type != 'refund' && ($order['delivery_type'] != 'express' || !$order['delivery_id'])) { + return app('json')->fail(410206); + } + $express = $type == 'refund' ? $order['refund_express'] : $order['delivery_id']; + $cacheName = $uni . $express; + $orderInfo = []; + $cartInfo = $services->getCartColunm(['oid' => $order['id']], 'cart_info', 'unique'); + $info = []; + $cartNew = []; + foreach ($cartInfo as $k => $cart) { + $cart = json_decode($cart, true); + $cartNew['cart_num'] = $cart['cart_num']; + $cartNew['truePrice'] = $cart['truePrice']; + $cartNew['postage_price'] = $cart['postage_price']; + $cartNew['productInfo']['image'] = $cart['productInfo']['image']; + $cartNew['productInfo']['store_name'] = $cart['productInfo']['store_name']; + $cartNew['productInfo']['unit_name'] = $cart['productInfo']['unit_name'] ?? ''; + array_push($info, $cartNew); + unset($cart); + } + $orderInfo['delivery_id'] = $express; + $orderInfo['delivery_name'] = $type == 'refund' ? '用户退回' : $order['delivery_name'];; + $orderInfo['delivery_code'] = $type == 'refund' ? '' : $order['delivery_code']; + $orderInfo['delivery_type'] = $order['delivery_type']; + $orderInfo['user_address'] = $order['user_address']; + $orderInfo['user_mark'] = $order['mark']; + $orderInfo['cartInfo'] = $info; + } + return app('json')->success([ + 'order' => $orderInfo, + 'express' => [ + 'result' => ['list' => $expressServices->query($cacheName, $orderInfo['delivery_id'], $orderInfo['delivery_code'], $order['user_phone']) + ] + ] + ]); + } + /** * 订单数据统计 * @param StoreOrderServices $services diff --git a/crmeb/app/api/route/v1.php b/crmeb/app/api/route/v1.php index 871368eec..4dedbe5ef 100644 --- a/crmeb/app/api/route/v1.php +++ b/crmeb/app/api/route/v1.php @@ -81,6 +81,7 @@ Route::group(function () { Route::get('admin/order/delivery_info', 'v1.admin.StoreOrderController/getDeliveryInfo')->name('getDeliveryInfo')->option(['real_name' => '获取电子面单默认信息']);//获取电子面单默认信息 Route::get('admin/order/export_temp', 'v1.admin.StoreOrderController/getExportTemp')->name('getExportTemp')->option(['real_name' => '获取电子面单模板获取']);//获取电子面单模板获取 Route::get('admin/order/export_all', 'v1.admin.StoreOrderController/getExportAll')->name('getExportAll')->option(['real_name' => '获取物流公司']);//获取物流公司 + Route::get('admin/order/express/:uni/[:type]', 'v1.admin.StoreOrderController/express')->name('orderExpress')->option(['real_name' => '订单查看物流']); //订单查看物流 })->middleware(\app\http\middleware\AllowOriginMiddleware::class) ->middleware(\app\api\middleware\StationOpenMiddleware::class) ->middleware(\app\api\middleware\AuthTokenMiddleware::class, true)