Ver código fonte

订单导出bugfix

kevin_zhangl 3 anos atrás
pai
commit
e2afb36d2a
1 arquivos alterados com 21 adições e 37 exclusões
  1. 21 37
      frontendApi/modules/v1/controllers/ShopController.php

+ 21 - 37
frontendApi/modules/v1/controllers/ShopController.php

@@ -486,48 +486,32 @@ class ShopController extends BaseController {
         $uname = Info::getUserNameByUserId(\Yii::$app->user->id);
         $orderSn = \Yii::$app->request->get('orderSn');
 
-        $condition = " ORDER_TYPE='FX' AND (USER_ID=:USER_ID OR CREATE_USER='$uname') AND SN=:SN";
+        $condition = " AND ORDER_TYPE='FX' AND (USER_ID=:USER_ID OR CREATE_USER='$uname') AND SN=:SN";
         $params = [
             ':USER_ID' => \Yii::$app->user->id,
             ':SN' => $orderSn,
         ];
 
-        $orderQuery = Order::find()
-            ->alias('O')
-            ->where($condition, $params)
-            ->select('O.*,U.REAL_NAME,SG.CATEGORY_TYPE,OG.REAL_PRICE,OG.TAX_RATE,OG.BUY_NUMS,OG.SKU_CODE,OG.GOODS_TITLE,OG.REAL_PV')
-            ->join('LEFT JOIN', User::tableName() . ' AS U', 'U.ID=O.USER_ID')
-            ->join('LEFT JOIN', OrderGoods::tableName() . ' AS OG', 'OG.ORDER_SN=O.SN')
-            ->join('LEFT JOIN', ShopGoods::tableName() . ' AS SG', 'SG.ID=OG.GOODS_ID')
-            ->orderBy('O.CREATED_AT DESC');
-
-        // 订单中间表只查询待支付和支付失败的订单
-        $params[':NOT_PAID'] = \Yii::$app->params['orderStatus']['notPaid']['value'];   // 待支付
-        $params[':FAIL_PAID'] = \Yii::$app->params['orderStatus']['failPaid']['value'];   // 支付失败
-        $orderStandardQuery = ApproachOrder::find()
-            ->alias('O')
-            ->where($condition . ' AND (O.STATUS = :NOT_PAID OR O.STATUS = :FAIL_PAID)', $params)
-            ->select('O.*,U.REAL_NAME,SG.CATEGORY_TYPE,OG.REAL_PRICE,OG.TAX_RATE,OG.BUY_NUMS,OG.SKU_CODE,OG.GOODS_TITLE,OG.REAL_PV')
-            ->join('LEFT JOIN', User::tableName() . ' AS U', 'U.ID=O.USER_ID')
-            ->join('LEFT JOIN', ApproachOrderGoods::tableName() . ' AS OG', 'OG.ORDER_SN=O.SN')
-            ->join('LEFT JOIN', ShopGoods::tableName() . ' AS SG', 'SG.ID=OG.GOODS_ID')
-            ->orderBy('O.CREATED_AT DESC');
-
-        $queryAll = $orderQuery->union($orderStandardQuery, true);
-        $query = (new Query())->from(['Q' => $queryAll])->select('Q.*')->distinct()->orderBy(['CREATED_AT' => SORT_DESC]);
-
-        $totalCount = $query->count();
-        $pagination = new Pagination(['totalCount' => $totalCount, 'pageSize' => \Yii::$app->request->get('pageSize')]);
-        $lists = $query->offset($pagination->offset)->limit($pagination->limit)->all();
-
-        $data = [
-            'list' => $lists,
-            'currentPage'=>$pagination->page,
-            'totalPages'=>$pagination->pageCount,
-            'startNum' => $pagination->page * $pagination->pageSize + 1,
-            'totalCount' => $pagination->totalCount,
-            'pageSize' => $pagination->pageSize,
-        ];
+        $data = Order::lists($condition, $params, [
+            'select' => 'O.*,U.REAL_NAME,OG.*,OG.CATEGORY_TYPE',
+            'orderBy' => 'O.CREATED_AT DESC',
+            'from' => Order::tableName() . ' AS O',
+            'join' => [
+                ['LEFT JOIN', User::tableName() . ' AS U', 'U.ID=O.USER_ID'],
+                ['LEFT JOIN', OrderGoods::tableName() . ' AS OG', 'OG.ORDER_SN=O.SN'],
+            ],
+        ]);
+        if (!$data['list']) {
+            $data = ApproachOrder::lists($condition, $params, [
+                'select' => 'O.*,U.REAL_NAME,OG.*,OG.CATEGORY_TYPE',
+                'orderBy' => 'O.CREATED_AT DESC',
+                'from' => ApproachOrder::tableName() . ' AS O',
+                'join' => [
+                    ['LEFT JOIN', User::tableName() . ' AS U', 'U.ID=O.USER_ID'],
+                    ['LEFT JOIN', ApproachOrderGoods::tableName() . ' AS OG', 'OG.ORDER_SN=O.SN'],
+                ],
+            ]);
+        }
 
         $userId = '';
         $userName = '';