Selaa lähdekoodia

【Mod】优化产品服务城市提示

liuxiangxin 4 kuukautta sitten
vanhempi
sitoutus
68803942b1
1 muutettua tiedostoa jossa 8 lisäystä ja 6 poistoa
  1. 8 6
      app/Http/Controllers/Api/Product.php

+ 8 - 6
app/Http/Controllers/Api/Product.php

@@ -6,6 +6,7 @@ use App\Models\Business;
 use App\Models\Custom;
 use App\Models\Custom;
 use App\Models\Product as Model;
 use App\Models\Product as Model;
 use App\Models\Product\Attr as ProductAttr;
 use App\Models\Product\Attr as ProductAttr;
+use App\Models\Product\City as ProductCity;
 use App\Models\Product\Spec as ProductSpec;
 use App\Models\Product\Spec as ProductSpec;
 use App\Models\Product\Skus as ProductSkus;
 use App\Models\Product\Skus as ProductSkus;
 use App\Models\ProductPhoto;
 use App\Models\ProductPhoto;
@@ -176,7 +177,7 @@ class Product extends Api{
 	 * @param	int     $id		        产品id
 	 * @param	int     $id		        产品id
 	 * 
 	 * 
 	 * */
 	 * */
-	public function get_detail(Request $request, Model $Model, ProductPhoto $ProductPhoto, Business $Business, ProductAttr $ProductAttr, ProductSpec $ProductSpec, ProductSkus $ProductSkus, RegimentActive $RegimentActive, Regiment $Regiment, Custom $Custom, WeiBanTags $WeiBanTags, PromoProduct $PromoProduct){
+	public function get_detail(Request $request, Model $Model, ProductPhoto $ProductPhoto,ProductCity $ProductCity, Business $Business, ProductAttr $ProductAttr, ProductSpec $ProductSpec, ProductSkus $ProductSkus, RegimentActive $RegimentActive, Regiment $Regiment, Custom $Custom, WeiBanTags $WeiBanTags, PromoProduct $PromoProduct){
 		// 接口验签
 		// 接口验签
 		// $this->verify_sign();
 		// $this->verify_sign();
         // 验证参数
         // 验证参数
@@ -188,13 +189,15 @@ class Product extends Api{
 		// 接收参数
 		// 接收参数
 		$id						    = request('id',0);
 		$id						    = request('id',0);
 		// 显示
 		// 显示
-		$map[]						= ['product.status','=','0'];
-        // 是否有城市
-		$wherIn						= empty($custom['city_id']) ? [1] : [1,$custom['city_id']];
+		$map[]						= ['status','=','0'];
 		// 查询
 		// 查询
-		$data   					= $Model->query()->join('product_city','product_city.product_id','=','product.id')->where($map)->whereIn('product_city.city_id',$wherIn)->find($id,['product.id','product.name','product.thumb','product.stock','product.spec','product.poster','product.price','product.business_id','product.market_price']);
+		$data   					= $Model->query()->where($map)->find($id,['id','name','thumb','stock','spec','poster','price','business_id','market_price']);
 		// 如果没有数据
 		// 如果没有数据
         if( !$data )                return json_send(['code'=>'error','msg'=>'产品已下架','data'=>['error'=>'产品已下架或不存在']]);
         if( !$data )                return json_send(['code'=>'error','msg'=>'产品已下架','data'=>['error'=>'产品已下架或不存在']]);
+        // 允许城市
+        $allowCity                  = $ProductCity->where([['product_id','=',$id]])->pluck('city_id')->toArray();
+        // 如果不是全国城市 也不是服务城市范围
+        if ( !in_array(1,$allowCity) && !in_array($custom['city_id'],$allowCity) ) return json_send(['code'=>'error','msg'=>'您的城市不在该产品服务范围','data'=>['error'=>'您的城市不在该产品服务范围']]);
 		// 转数组
 		// 转数组
 		$data						= $data->toArray();
 		$data						= $data->toArray();
 		// 处理数据
 		// 处理数据
@@ -338,7 +341,6 @@ class Product extends Api{
             }
             }
 
 
         }
         }
-
 		// 返回结果
 		// 返回结果
 		return						json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
 		return						json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
 	}
 	}