dddmo 5 months ago
parent
commit
7967835113
1 changed files with 23 additions and 15 deletions
  1. 23 15
      app/JsonRpc/OrderService.php

+ 23 - 15
app/JsonRpc/OrderService.php

@@ -5,6 +5,7 @@ use App\Model\Ad;
 use App\Model\AdPlace;
 use App\Model\Order;
 use App\Model\OrderAd;
+use App\Model\Website;
 use App\Tools\Result;
 use Hyperf\RpcServer\Annotation\RpcService;
 use Carbon\Carbon;
@@ -47,20 +48,27 @@ class OrderService implements OrderServiceInterface
             foreach($ad_pids as $val){
                 array_push($pid,$val['pid']);
             }
-            $placeids = AdPlace::whereNotIn('id',$pid)->where($where)->select('id')->get()->all();
-            $place_id = [];
-            foreach($placeids as $val){
-                array_push($place_id,$val['id']);
+            $placeids = AdPlace::whereNotIn('id',$pid)->where($where)->select('id')->get()->all();  
+            // 符合用户条件的空广告位
+            $website_name = Website::whereIn('id',$placeids)->get();
+            if(!isset($data['website_id'])){
+                $place_id = [];
+                foreach($placeids as $val){
+                    array_push($place_id,$val['id']);
+                }
+                $rep = AdPlace::whereIn('ad_place.id',$place_id)
+                ->leftJoin('website','ad_place.website_id','website.id')
+                ->select('ad_place.*','website.website_name','website.id')
+                ->selectSub('website.id', 'webid')
+                ->selectSub('ad_place.id', 'pid')
+                ->orderBy("website.id","asc") 
+                ->limit($data['pageSize'])
+                ->offset(($data['page']-1)*$data['pageSize'])
+                ->get();
+            }else{
+
             }
-            $rep = AdPlace::whereIn('ad_place.id',$place_id)
-            ->leftJoin('website','ad_place.website_id','website.id')
-            ->select('ad_place.*','website.website_name','website.id')
-            ->selectSub('website.id', 'webid')
-            ->selectSub('ad_place.id', 'pid')
-            ->orderBy("website.id","asc") 
-            ->limit($data['pageSize'])
-            ->offset(($data['page']-1)*$data['pageSize'])
-            ->get();
+            
             
         }else{
             $rep = AdPlace::where($where)
@@ -77,13 +85,13 @@ class OrderService implements OrderServiceInterface
         $count = count($rep);
         $data = [
             'rows'=>$rep->toArray(),
-            'count'=>$count
+            'count'=>$count 
         ];
         
         if(empty($rep)){
             return Result::error("暂时没有符合您条件的广告位");
         }
-        return Result::success($rep);
+        return Result::success($data);
     }
     
    /**