From 6b3b1dedd0aae84ed141f083963cafdaecd97d47 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sat, 23 Nov 2024 14:58:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(store=5Forder):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E5=92=8C=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 格式化代码,提高可读性 - 添加订单支付方式名称字段 - 优化用户昵称显示逻辑 - 添加订单商品信息 - 修复部分字段查询条件 --- .../lists/store_order/StoreOrderLists.php | 62 +++++++++++++------ .../store_order/StoreRefundOrderLists.php | 16 +++-- 2 files changed, 54 insertions(+), 24 deletions(-) diff --git a/app/admin/lists/store_order/StoreOrderLists.php b/app/admin/lists/store_order/StoreOrderLists.php index aa1db8e62..664ed87e2 100644 --- a/app/admin/lists/store_order/StoreOrderLists.php +++ b/app/admin/lists/store_order/StoreOrderLists.php @@ -18,7 +18,7 @@ use app\common\lists\ListsExcelInterface; * Class StoreOrderLists * @package app\admin\listsstore_order */ -class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface +class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface { @@ -31,7 +31,7 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface public function setSearch(): array { return [ - '=' => ['order_id','store_id', 'pay_type', 'staff_id', 'shipping_type', 'delivery_id','paid', 'status', 'is_writeoff','is_merge','uid','source'], + '=' => ['order_id', 'store_id', 'pay_type', 'staff_id', 'shipping_type', 'delivery_id', 'paid', 'status', 'is_writeoff', 'is_merge', 'uid', 'source'], 'between_time' => 'create_time' ]; } @@ -48,10 +48,10 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface */ public function lists(): array { - if($this->request->get('is_delivery')>=1){ - $this->searchWhere[]=['delivery_uid','>',0]; + if ($this->request->get('is_delivery') >= 1) { + $this->searchWhere[] = ['delivery_uid', '>', 0]; } - return StoreOrder::with(['staff','store'])->where($this->searchWhere) + return StoreOrder::with(['staff', 'store'])->where($this->searchWhere) ->when(!empty($this->request->adminInfo['store_id']), function ($query) { $query->where('store_id', $this->request->adminInfo['store_id']); }) @@ -63,40 +63,62 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface $query->whereIn('status', $status); } }) - ->field(['id', 'store_id', 'staff_id', 'order_id', 'paid','source', 'pay_price','total_price', 'pay_time', 'pay_type', 'status', 'uid','refund_status','create_time','delivery_name','delivery_id','refund_price']) + ->field(['id', 'store_id', 'staff_id', 'order_id', 'paid', 'source', 'pay_price', 'total_price', 'pay_time', 'pay_type', 'status', 'uid', 'refund_status', 'create_time', 'delivery_name', 'delivery_id', 'refund_price']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($item) { $item['pay_time'] = $item['pay_time'] > 0 ? date('Y-m-d H:i:s', $item['pay_time']) : ''; - if($item['status']==-1){ + if ($item['status'] == -1) { $item['status_name'] = OrderEnum::refundStatus($item['refund_status']) ?? ''; - }else{ + } else { $item['status_name'] = OrderEnum::getOrderType($item['status']) ?? ''; } if ($item['uid'] <= 0) { $item['nickname'] = '游客'; } else { $id = $item['uid']; - $user=User::where('id', $item['uid'])->field('real_name,nickname')->find(); - if($user){ - $item['nickname'] =$user['real_name']!=''?$user['real_name'].'|'.$id:$user['nickname'].'|'.$id; + $user = User::where('id', $item['uid'])->field('real_name,nickname')->find(); + if ($user) { + $item['nickname'] = $user['real_name'] != '' ? $user['real_name'] . '|' . $id : $user['nickname'] . '|' . $id; } } if ($item['paid'] == 0) { $item['status_name'] = '待支付'; } - if($item['source']==4){ + if ($item['source'] == 4) { $item['source_name'] = '批发订单'; - }else{ + } else { $item['source_name'] = '普通订单'; } $product = StoreOrderCartInfo::where('oid', $item['id'])->field(['id', 'oid', 'product_id', 'cart_info']) ->limit(3)->select(); - foreach ($product as &$items) { - $items['store_name'] = $items['cart_info']['name']??''; - $items['image'] = $items['cart_info']['image']??''; - } + foreach ($product as &$items) { + $items['store_name'] = $items['cart_info']['name'] ?? ''; + $items['image'] = $items['cart_info']['image'] ?? ''; + } $item['product'] = $product; + $pay_type_name = ''; + switch ($item['pay_type']) { + case 3: + $pay_type_name = '余额支付'; + break; + case 7: + $pay_type_name = '微信支付'; + break; + case 9: + $pay_type_name = '微信条码'; + break; + case 13: + $pay_type_name = '支付宝条码'; + break; + case 17: + $pay_type_name = '现金支付'; + break; + case 18: + $pay_type_name = '采购款支付'; + break; + } + $item['pay_type_name'] = $pay_type_name; return $item; }) ->toArray(); @@ -126,7 +148,7 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface ->count(); } - /** + /** * @notes 导出文件名 * @return string * @author 乔峰 @@ -148,8 +170,8 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface { $data = [ 'id' => 'ID', - 'order_id'=>'订单号', - 'store_name'=>'门店', + 'order_id' => '订单号', + 'store_name' => '门店', 'nickname' => '用户', 'total_price' => '总金额', 'pay_price' => '实际支付', diff --git a/app/admin/lists/store_order/StoreRefundOrderLists.php b/app/admin/lists/store_order/StoreRefundOrderLists.php index 8aff1b11d..b142d8843 100644 --- a/app/admin/lists/store_order/StoreRefundOrderLists.php +++ b/app/admin/lists/store_order/StoreRefundOrderLists.php @@ -6,6 +6,7 @@ use app\admin\lists\BaseAdminDataLists; use app\common\enum\OrderEnum; use app\common\lists\ListsSearchInterface; use app\common\model\store_order\StoreOrder; +use app\common\model\store_order_cart_info\StoreOrderCartInfo; use app\common\model\user\User; class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInterface @@ -38,7 +39,7 @@ class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInt */ public function lists(): array { - $this->searchWhere[] = ['refund_status','>', 0]; + $this->searchWhere[] = ['refund_status', '>', 0]; return StoreOrder::with(['staff', 'product' => function ($query) { $query->field(['id', 'oid', 'product_id', 'cart_info']); }]) @@ -51,11 +52,18 @@ class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInt $item['nickname'] = '游客'; } else { $id = $item['uid']; - $user=User::where('id', $item['uid'])->field('real_name,nickname')->find(); - if($user){ - $item['nickname'] =$user['real_name']!=''?$user['real_name'].'|'.$id:$user['nickname'].'|'.$id; + $user = User::where('id', $item['uid'])->field('real_name,nickname')->find(); + if ($user) { + $item['nickname'] = $user['real_name'] != '' ? $user['real_name'] . '|' . $id : $user['nickname'] . '|' . $id; } } + $product = StoreOrderCartInfo::where('oid', $item['id'])->field(['id', 'oid', 'product_id', 'cart_info']) + ->limit(3)->select(); + foreach ($product as &$items) { + $items['store_name'] = $items['cart_info']['name'] ?? ''; + $items['image'] = $items['cart_info']['image'] ?? ''; + } + $item['product'] = $product; $item['pay_time'] = $item['pay_time'] > 0 ? date('Y-m-d H:i:s', $item['pay_time']) : ''; $item['refund_status_name'] = OrderEnum::refundStatus($item['refund_status']) ?? ''; $item['refund_type_name'] = OrderEnum::refundType($item['refund_type']) ?? '';