Sfoglia il codice sorgente

会员订单调整

gorden 5 mesi fa
parent
commit
b7ab112dbf
1 ha cambiato i file con 33 aggiunte e 20 eliminazioni
  1. 33 20
      app/admin/controller/order/WholeController.php

+ 33 - 20
app/admin/controller/order/WholeController.php

@@ -256,6 +256,7 @@ class WholeController extends Curd
                 unset($item['join_express_order_id'], $item['order_express_type']);
             }
             $payDetails = PayDetail::where('join_pay_order_id', $item['order_groupby'])
+                ->whereJsonContains('join_pay_object_json->order_id', $item['order_id'])
                 ->where('pay_category', '<>', 'REFUND')
                 ->where('pay_status', 'SUCCESS')
                 ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status', 'pay_amount', 'pay_extend_json')
@@ -283,6 +284,8 @@ class WholeController extends Curd
                     $item['payWay'] = 'VIP账户';
                 } else if (!empty($payWay[1]) && $payWay[1] == 'QRCODE') {
                     $item['payWay'] = '付款码';
+                } else if (!empty($payWay[1]) && $payWay[1] == 'NONE') {
+                    $item['payWay'] = '付零';
                 } else if (!empty($payWay[0]) && $payWay[0] == 'OFFLINE') {
                     $item['payWay'] = '线下支付';
                 } else if (!empty($payWay[0]) && $payWay[0] == 'OFFLINE_ALIPAY') {
@@ -4032,44 +4035,53 @@ class WholeController extends Curd
         if (!$memberId) {
             return json_fail('查询错误');
         }
-        $goodsIds = [];
+        $sheetOrderIds = [];
         if (!empty($goodsName)) {
             $goodsIds = Goods::where('goods_name', 'like', '%' . $goodsName . '%')->pluck('goods_id')->toArray();
+            $sheetOrderIds = OrderSheet::whereIn('join_sheet_goods_id', $goodsIds)
+                ->where('join_sheet_member_id', $memberId)
+                ->pluck('join_sheet_order_id')
+                ->toArray();
         }
 
-        $sheet = OrderSheet::with([
-            'goods' => function ($query) {
-                $query->select('goods_id', 'goods_name', 'goods_cover', 'goods_classify');
-            },
-            'order' => function ($query) {
-                $query->select('order_id', 'order_status_system', 'order_status_payment', 'order_status_storage');
-            },
-            'refund' => function ($query) {
+        $order = Order::with([
+            'return' => function ($query) {
                 $query->select('join_return_order_id', 'orders_return_id', 'order_return_status');
             },
+            'sheets',
+            'express' => function ($query) {
+                $query->select('join_express_order_id', 'order_express_type');
+            }
         ])
-            ->leftJoin('order', 'order.order_id', 'order_sheet.join_sheet_order_id')
-            ->where('join_sheet_member_id', $memberId)
-            ->where('order.order_category', '<>', 'RECHARGE')
+            ->where('join_order_member_id', $memberId)
+            ->where('order_classify', '<>', 'RECHARGE')
             ->when(!empty($datetime), function ($query) use ($datetime) {
                 $datetime[0] = strtotime($datetime[0]);
                 $datetime[1] = strtotime($datetime[1]);
-                $query->whereBetween('order_sheet_addtimes', $datetime);
+                $query->whereBetween('order_addtimes', $datetime);
             })
-            ->when(!empty($goodsIds), function ($query) use ($goodsIds) {
-                $query->whereIn('join_sheet_goods_id', $goodsIds);
+            ->when(!empty($sheetOrderIds), function ($query) use ($sheetOrderIds) {
+                $query->whereIn('order_id', $sheetOrderIds);
             });
 
-        $total = $sheet->count();
-        $rows = $sheet
-            ->orderBy('order_sheet_addtimes', 'desc')
+        $total = $order->count();
+        $rows = $order
+            ->orderBy('order_addtimes', 'desc')
             ->forPage($page, $pageSize)
             ->get()
             ->toArray();
         foreach ($rows as &$item) {
-            if (!empty($item->goods->goods_cover)) {
-                $item->goods->goods_cover = getenv('STORAGE_DOMAIN') . $item->goods->goods_cover;
+            $sheetGoodsIds = array_column($item['sheets'], 'join_sheet_goods_id');
+            $goods = Goods::whereIn('goods_id', $sheetGoodsIds)->select('goods_id', 'goods_name')->get()->toArray();
+            if (count($goods) > 1) {
+                $item['goods_name'] = $goods[0]['goods_name'] . ' 等';
+            } else {
+                $item['goods_name'] = $goods[0]['goods_name'];
             }
+//            $item['goods_name'] = !empty($goods->goods_name) ? $goods->goods_name : '';
+//            if (!empty($item->goods->goods_cover)) {
+//                $item->goods->goods_cover = getenv('STORAGE_DOMAIN') . $item->goods->goods_cover;
+//            }
         }
 
         return json_success('', compact('rows', 'page', 'pageSize', 'total'));
@@ -4635,6 +4647,7 @@ class WholeController extends Curd
             }
 
             $payDetails = PayDetail::where('join_pay_order_id', $item['order_groupby'])
+                ->whereJsonContains('join_pay_object_json->order_id', $item['order_id'])
                 ->where('pay_status', 'SUCCESS')
                 ->where('pay_category', '<>', 'REFUND')
                 ->get()