Jelajahi Sumber

充值订单归类

gorden 5 bulan lalu
induk
melakukan
8e12b82d6f
1 mengubah file dengan 25 tambahan dan 1 penghapusan
  1. 25 1
      app/admin/controller/order/PackagesController.php

+ 25 - 1
app/admin/controller/order/PackagesController.php

@@ -90,6 +90,19 @@ class PackagesController extends Curd
         if ($orderIds) {
             $where['order_id'] = ['in', implode(',', $orderIds)];
         }
+        if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
+            if ($where['order_status_system'] == 'SENDING') {
+                $where['order_express.order_express_type'] = '配送';
+            }
+            $where['order_is_complete'] = 'N';
+//            $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in', 'SYSTEM,NORMAL,DISHES'];
+        }
+        // 自提订单
+        if (!empty($where['order_status_system']) && $where['order_status_system'] == 'PICKUP') {
+            $where['order_is_complete'] = 'N';
+            $where['order_status_system'] = 'SENDING';
+            $where['order_express.order_express_type'] = '自提';
+        }
 
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
@@ -117,8 +130,18 @@ class PackagesController extends Curd
             'express' => function ($query) {
                 $query->select('join_express_order_id', 'order_express_type');
             }
-        ])->leftJoin('order_return', 'order_return.join_return_order_id', '=', 'order.order_id');
+        ])->leftJoin('order_return', 'order_return.join_return_order_id', '=', 'order.order_id')
+            ->leftJoin('order_express', 'order_express.join_express_order_id', '=', 'order.order_id');
         // ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
+        if (isset($where['order_status_system']) && $where['order_status_system'] == 'DONE'){
+            $model = $model->where(function($query){
+                $query->where('order_status_system','DONE')
+                ->orWhere(function($query2){
+                    $query2->where('order_status_system','CONFIRM')->where('order_is_complete','Y');
+                });
+            });
+            unset($where['order_status_system']);
+        }
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {
@@ -152,6 +175,7 @@ class PackagesController extends Curd
             $model = $model->orderBy($field, $order);
         }
         $model = $model->select('order.*', 'order_return.orders_return_id', 'order_return.join_return_order_id', 'order_return.order_return_status', 'order_return.order_return_apply_json', 'order_return.order_return_remark');
+
         return $model;
     }