Browse Source

平台后台-订单列表-支持关键字搜索订单数据

Xpy 8 months ago
parent
commit
80677c11cd

+ 6 - 1
app/common/dao/store/order/StoreOrderDao.php

@@ -15,6 +15,7 @@ use app\common\dao\BaseDao;
15 15
 use app\common\model\BaseModel;
16 16
 use app\common\model\store\order\StoreOrder;
17 17
 use app\common\model\user\User;
18
+use app\common\repositories\store\order\StoreOrderProductRepository;
18 19
 use app\common\repositories\user\UserRepository;
19 20
 use app\entity\CommonEntity;
20 21
 use app\entity\data\store\StoreOrderEntity;
@@ -110,10 +111,14 @@ class StoreOrderDao extends BaseDao
110 111
             })
111 112
             ->when(isset($where['keywords']) && $where['keywords'] !== '', function ($query) use ($where) {
112 113
                 $query->where(function ($query) use ($where) {
114
+                    /** @var StoreOrderProductRepository $storeOrderProductRepository */
115
+                    $storeOrderProductRepository = app()->make(StoreOrderProductRepository::class);
116
+                    $orderIdList = $storeOrderProductRepository->getOrderIdListByKeyword($where['keywords']);
113 117
                     $query->where('real_name', 'like', "%" . $where['keywords'] . "%")
114 118
                         ->whereOr('user_phone', 'like', "%{$where['keywords']}%")
115 119
                         ->whereOr('order_sn', 'like', '%' . $where['keywords'] . '%')
116
-                        ->whereOr('verify_code', 'like', '%' . $where['keywords'] . '%');
120
+                        ->whereOr('verify_code', 'like', '%' . $where['keywords'] . '%')
121
+                        ->whereOr('order_id', 'in', $orderIdList);
117 122
                 });
118 123
             })
119 124
             ->when(isset($where['reconciliation_type']) && $where['reconciliation_type'] !== '', function ($query) use ($where) {

+ 0 - 14
app/common/repositories/store/order/StoreOrderRepository.php

@@ -5141,20 +5141,6 @@ class StoreOrderRepository extends BaseRepository
5141 5141
                     return $query->field('uid,phone,nickname');
5142 5142
                 }
5143 5143
             ]);
5144
-        if (!empty($where['keywords'])) {
5145
-            /** @var StoreOrderProductRepository $storeOrderProductRepository */
5146
-            $storeOrderProductRepository = app()->make(StoreOrderProductRepository::class);
5147
-            $orderIdList = $storeOrderProductRepository->getOrderIdListByKeyword($where['keywords']);
5148
-            $query->whereIn('order_id', $orderIdList);
5149
-        }
5150
-        $kw = trim($where['product_keywords'] ?? '');
5151
-        if ($kw !== '') {
5152
-            $ids = Db::name('store_order_product')
5153
-                ->whereRaw("JSON_UNQUOTE(JSON_EXTRACT(cart_info, '$.product.store_name')) LIKE ?", ["%{$kw}%"]) 
5154
-                ->column('order_id');
5155
-            $ids = $ids ?: [-1];
5156
-            $query->whereIn('order_id', $ids);
5157
-        }
5158 5144
         $query1 = clone ($query);
5159 5145
         $query2 = clone ($query);
5160 5146