xiaogang 4 سال پیش
والد
کامیت
a0c9a73ae4
1فایلهای تغییر یافته به همراه48 افزوده شده و 33 حذف شده
  1. 48 33
      app/Services/NoticeService.php

+ 48 - 33
app/Services/NoticeService.php

xqd xqd xqd xqd xqd
@@ -24,31 +24,30 @@ class NoticeService
      * 获取喜欢列表
      */
     public function get_like_list($param){
-
+        $query = UserLikeModel::query();
         if($param['type']==1){
             //我喜欢
-            $query = UserLikeModel::query();
-            $query = $query->with(['like_user'=>function($query){
-                $query->select('id','sex','is_vip','tencent_im_user_id');
-            },'like_user_info'])->where('user_id',$param['user_id']);
-
-            $query = $query->orderByDesc('id')
-                ->paginate(request('perPage',20));
-//            $query = $query->leftJoin('users','users_like.like_id','=','users.id')
-//                ->leftJoin('users_info','users_like.like_id','=','users_info.user_id')
-//                ->where('users_like.user_id',$param['user_id'])
-//                ->select(['users_like.id','users_like.user_id','users_like.like_id','users_like.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
+//            $query = UserLikeModel::query();
+//            $query = $query->with(['like_user'=>function($query){
+//                $query->select('id','sex','is_vip','tencent_im_user_id');
+//            },'like_user_info'])->where('user_id',$param['user_id']);
+
+//            $query = $query->orderByDesc('id')
+//                ->paginate(request('perPage',20));
+            $query = $query->leftJoin('users','users_like.like_id','=','users.id')
+                ->leftJoin('users_info','users_like.like_id','=','users_info.user_id')
+                ->where('users_like.user_id',$param['user_id'])
+                ->select(['users_like.id','users_like.user_id','users_like.like_id','users_like.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
 
         }else{
             //喜欢我
 //            $query = $query->with(['user'=>function($query){
 //                $query->select('id','sex','is_vip','tencent_im_user_id');
 //            },'user_info'])->where('like_id',$param['user_id']);
-            $query = DB::table('users_like')->union(DB::table('users')->get())->get();
-//            $query = $query->leftJoin('users','users_like.user_id','=','users.id')
-//                ->leftJoin('users_info','users_like.user_id','=','users_info.user_id')
-//                ->where('users_like.like_id',$param['user_id'])
-//                ->select(['users_like.id','users_like.user_id','users_like.like_id','users_like.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
+            $query = $query->leftJoin('users','users_like.user_id','=','users.id')
+                ->leftJoin('users_info','users_like.user_id','=','users_info.user_id')
+                ->where('users_like.like_id',$param['user_id'])
+                ->select(['users_like.id','users_like.user_id','users_like.like_id','users_like.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
 
 
             //清除喜欢我未读状态
@@ -59,7 +58,7 @@ class NoticeService
         $query = $query->toArray();
         foreach ($query['data'] as $k=>$v){
             $query['data'][$k]['distance'] = 0;  //计算距离
-            $query['data'][$k]['age'] = !empty($v['birthday'])?birthday($v['birthday']):0;  //计算距离
+            $query['data'][$k]['age'] = !empty($v['birthday'])?birthday($v['birthday']):0;
         }
         return $query;
     }
@@ -72,13 +71,21 @@ class NoticeService
         $query = DynamicZanModel::query();
         if($param['type']==1){
             //他赞了我
-            $query = $query->with(['dynamic','user'=>function($query){
-                $query->select('id','sex','is_vip','tencent_im_user_id');
-            },'user_info'=>function($query){
-                $query->select(['user_id','nickname','avatar','height','weight','work','birthday']);
-            }])->whereHas('dynamic',function ($query)use($param){
-                $query->where('user_id',$param['user_id'])->select();
-            });
+//            $query = $query->with(['dynamic','user'=>function($query){
+//                $query->select('id','sex','is_vip','tencent_im_user_id');
+//            },'user_info'=>function($query){
+//                $query->select(['user_id','nickname','avatar','height','weight','work','birthday']);
+//            }])->whereHas('dynamic',function ($query)use($param){
+//                $query->where('user_id',$param['user_id'])->select();
+//            });
+
+
+            $query = $query
+                ->leftJoin('dynamic','dynamic_zan.dynamic_id','=','dynamic.id')
+                ->leftJoin('users','dynamic_zan.user_id','=','users.id')
+                ->leftJoin('users_info','dynamic_zan.user_id','=','users_info.user_id')
+                ->where('dynamic.user_id',$param['user_id'])
+                ->select(['dynamic_zan.id','dynamic.user_id','dynamic.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
 
             //清除他赞了我未读状态
             DynamicZanModel::query()->with(['dynamic'])->where('status','=',0)->whereHas('dynamic',function ($query)use($param){
@@ -87,14 +94,21 @@ class NoticeService
         }else{
 
             //我赞了他
-            $query = $query->with(['dynamic'=>function($query){
-                $query->select('id','user_id','content','img_url');
-            },'dynamic.user'=>function($querty){
-                $querty->select('id','sex','is_vip','tencent_im_user_id');
-            },'dynamic.user_info'=>function($querty){
-                $querty->select(['user_id','nickname','avatar','height','weight','work','birthday']);
-            }])
-                ->where('user_id',$param['user_id']);
+//            $query = $query->with(['dynamic'=>function($query){
+//                $query->select('id','user_id','content','img_url');
+//            },'dynamic.user'=>function($querty){
+//                $querty->select('id','sex','is_vip','tencent_im_user_id');
+//            },'dynamic.user_info'=>function($querty){
+//                $querty->select(['user_id','nickname','avatar','height','weight','work','birthday']);
+//            }])
+//                ->where('user_id',$param['user_id']);
+
+            $query = $query
+                ->leftJoin('dynamic','dynamic_zan.dynamic_id','=','dynamic.id')
+                ->leftJoin('users','dynamic.user_id','=','users.id')
+                ->leftJoin('users_info','dynamic.user_id','=','users_info.user_id')
+                ->where('dynamic_zan.user_id',$param['user_id'])
+                ->select(['dynamic_zan.id','dynamic.user_id','dynamic.atime','users.sex','users.is_vip','users.tencent_im_user_id','users_info.nickname','users_info.avatar','users_info.birthday','users_info.work','users_info.height','users_info.weight']);
         }
         $query = $query->orderByDesc('id')
             ->paginate(request('perPage',20));
@@ -103,6 +117,7 @@ class NoticeService
         foreach ($query['data'] as $k=>$v){
             $query['data'][$k]['atime'] = uc_time_ago(strtotime($v['atime']));
             $query['data'][$k]['dynamic']['img_url'] = json_decode($v['dynamic']['img_url'],true);
+            $query['data'][$k]['age'] = !empty($v['birthday'])?birthday($v['birthday']):0;
         }
         return $query;
     }