wesmiler 2 лет назад
Родитель
Сommit
8370a04570
2 измененных файлов с 13 добавлено и 21 удалено
  1. 1 1
      app/Models/MerchantModel.php
  2. 12 20
      app/Services/Api/MerchantService.php

+ 1 - 1
app/Models/MerchantModel.php

@@ -31,7 +31,7 @@ class MerchantModel extends BaseModel
      */
     public function category()
     {
-        return $this->hasOne(MerchantCategoryModel::class, 'id','category')
+        return $this->hasOne(MerchantCategoryModel::class, 'id','category_id')
             ->select(['id','name','type']);
     }
 

+ 12 - 20
app/Services/Api/MerchantService.php

@@ -74,10 +74,7 @@ class MerchantService extends BaseService
                 'pageSize'=>$pageSize
             ];
         }
-        $field = $field ? $field : 'lev_a.id,lev_a.user_id,lev_a.name,lev_a.logo,lev_a.type,lev_a.category,lev_a.business_scope,lev_a.service_time,lev_a.deposit,lev_a.service_order_num,lev_a.score_rate,lev_a.city,lev_a.lng,lev_a.lat,lev_a.status';
-        $lat = isset($params['lat']) ? $params['lat'] : 0.00;
-        $lng = isset($params['lng']) ? $params['lng'] : 0.00;
-        $sortType = isset($params['sort_type']) ? $params['sort_type'] : 0;
+        $field = $field ? $field : 'lev_a.id,lev_a.user_id,lev_a.name,lev_a.logo,lev_a.type,lev_a.category_id,lev_a.business_scope,lev_a.service_time,lev_a.deposit,lev_a.service_order_num,lev_a.score_rate,lev_a.city,lev_a.lng,lev_a.lat,lev_a.status';
         $order = 'lev_a.id desc';
 
         $datas = $this->model->from('merchant as a')
@@ -86,7 +83,7 @@ class MerchantService extends BaseService
             ->where(function ($query) use ($params) {
                 $kw = isset($params['kw']) ? trim($params['kw']) : '';
                 if ($kw) {
-                    $query->where('a.name', 'like', "%{$kw}%")->orWhere('a.business_scope', 'like', "%{$kw}%");
+                    $query->where('a.name', 'like', "%{$kw}%");
                 }
             })
             ->where(function ($query) use ($params) {
@@ -105,30 +102,26 @@ class MerchantService extends BaseService
                 }
 
                 // 经营类目
-                $category = isset($params['category']) ? intval($params['category']) : 0;
+                $category = isset($params['category_id']) ? intval($params['category_id']) : 0;
                 if ($category) {
-                    $query->where('a.category', $category);
-                }
-
-                // 省
-                $province = isset($params['province']) ? trim($params['province']) : '';
-                $city = isset($params['city']) ? trim($params['city']) : '';
-                if ($province && empty($city)) {
-                    $query->where('a.province', 'like',"{$province}%");
+                    $query->where('a.category_id', $category);
                 }
 
                 // 市
+                $city = isset($params['city']) ? trim($params['city']) : '';
                 if ($city) {
                     $query->where(function($query) use($city){
                         $query->where('a.city', $city)->orWhere('a.address','like',"%{$city}%");
                     });
                 }
 
-                // 是否保障金
-                $isDeposit = isset($params['deposit']) ? intval($params['deposit']) : 0;
-                if ($isDeposit) {
-                    $query->where('a.deposit', '>', 0);
+                $locale = isset($params['locale']) ? trim($params['locale']) : '';
+                if ($locale) {
+                    $query->where(function($query) use($locale){
+                        $query->where('a.country_code', $locale);
+                    });
                 }
+
             })
             ->selectRaw($field)
             ->orderByRaw($order)
@@ -138,7 +131,6 @@ class MerchantService extends BaseService
         if ($datas) {
             foreach($datas['data'] as &$item){
                 $item['logo'] = $item['logo'] ? get_image_url($item['logo']) : '';
-                $item['score_rate'] = max(0, moneyFormat($item['score_rate'], 1));
             }
             unset($item);
             RedisService::set($cacheKey, $datas, rand(3, 5));
@@ -481,7 +473,7 @@ class MerchantService extends BaseService
         $data = [
             'name' => $name,
             'user_id' => $userId,
-            'category'=> $category,
+            'category_id'=> $category,
             'type'=> $type,
             'logo'=> $logo,
             'albums'=> $albums? $albums : '',