lizhen_gitee 10 ヶ月 前
コミット
e89178c897

+ 63 - 0
application/api/controller/Usercenter.php

@@ -266,9 +266,72 @@ class Usercenter extends Api
             }
         }
 
+        //礼物墙
+        $userinfo['gift_wall'] = $this->giftwall($uid);
+
         $this->success('success',$userinfo);
     }
 
+    //某用户的礼物墙
+    public function giftwall($uid){
+        //$uid = $this->auth->id;
+        //聊天礼物
+        $gift_user_typing = Db::name('gift_user_typing')->alias('log')
+            ->join('gift', 'gift.id = log.gift_id', 'LEFT')
+            ->field('log.gift_id,log.gift_name,sum(log.number) as number,gift.image')
+            ->where(['log.user_to_id' => $uid])
+            ->group('log.gift_id')
+            ->order('gift.price desc')
+            ->column('log.gift_id,log.gift_name,sum(log.number) as number,gift.image');
+        $gift_user_typing = list_domain_image($gift_user_typing,['image']);
+        //dump($gift_user_typing);
+
+        //动态礼物
+        $gift_user_dongtai = Db::name('gift_user_dongtai')->alias('log')
+            ->join('gift', 'gift.id = log.gift_id', 'LEFT')
+            ->field('log.gift_id,log.gift_name,sum(log.number) as number,gift.image')
+            ->where(['log.user_to_id' => $uid])
+            ->group('log.gift_id')
+            ->order('gift.price desc')
+            ->column('log.gift_id,log.gift_name,sum(log.number) as number,gift.image');
+        $gift_user_dongtai = list_domain_image($gift_user_dongtai,['image']);
+        //dump($gift_user_dongtai);
+
+        //为空
+        if(empty($gift_user_typing) && empty($gift_user_dongtai)){
+            return [];
+        }
+
+        if(empty($gift_user_typing) && !empty($gift_user_dongtai)){
+            return $gift_user_dongtai;
+        }
+
+        if(!empty($gift_user_typing) && empty($gift_user_dongtai)){
+            return $gift_user_typing;
+        }
+
+        //合并
+        foreach($gift_user_typing as $key => $val){
+            foreach($gift_user_dongtai as $k => $v){
+                if($key == $k){
+                    $gift_user_typing[$key]['number'] += $v['number'];
+                }
+                if(!isset($gift_user_typing[$k])){
+                    $gift_user_typing[$k] = $v;
+                }
+            }
+        }
+        //dump($gift_user_typing);
+
+        //结果
+        $result = [];
+        foreach($gift_user_typing as $key => $val){
+            $result[] = $val;
+        }
+
+        return $result;
+    }
+
     //这里不用连user_active表,完全使用user表的active_time,user_active表只做离线用
     //同城
     public function samecity(){

+ 62 - 1
application/common/library/Auth.php

@@ -842,11 +842,72 @@ class Auth
         $userinfo['invite_url'] = config('site.extend_link') . '?code=' . $userinfo['introcode'];
 
 
-
+        //礼物墙
+        $userinfo['gift_wall'] = $this->giftwall($this->id);
 
         return $userinfo;
     }
 
+    //某用户的礼物墙
+    public function giftwall($uid){
+        //$uid = $this->auth->id;
+        //聊天礼物
+        $gift_user_typing = Db::name('gift_user_typing')->alias('log')
+            ->join('gift', 'gift.id = log.gift_id', 'LEFT')
+            ->field('log.gift_id,log.gift_name,sum(log.number) as number,gift.image')
+            ->where(['log.user_to_id' => $uid])
+            ->group('log.gift_id')
+            ->order('gift.price desc')
+            ->column('log.gift_id,log.gift_name,sum(log.number) as number,gift.image');
+        $gift_user_typing = list_domain_image($gift_user_typing,['image']);
+        //dump($gift_user_typing);
+
+        //动态礼物
+        $gift_user_dongtai = Db::name('gift_user_dongtai')->alias('log')
+            ->join('gift', 'gift.id = log.gift_id', 'LEFT')
+            ->field('log.gift_id,log.gift_name,sum(log.number) as number,gift.image')
+            ->where(['log.user_to_id' => $uid])
+            ->group('log.gift_id')
+            ->order('gift.price desc')
+            ->column('log.gift_id,log.gift_name,sum(log.number) as number,gift.image');
+        $gift_user_dongtai = list_domain_image($gift_user_dongtai,['image']);
+        //dump($gift_user_dongtai);
+
+        //为空
+        if(empty($gift_user_typing) && empty($gift_user_dongtai)){
+            return [];
+        }
+
+        if(empty($gift_user_typing) && !empty($gift_user_dongtai)){
+            return $gift_user_dongtai;
+        }
+
+        if(!empty($gift_user_typing) && empty($gift_user_dongtai)){
+            return $gift_user_typing;
+        }
+
+        //合并
+        foreach($gift_user_typing as $key => $val){
+            foreach($gift_user_dongtai as $k => $v){
+                if($key == $k){
+                    $gift_user_typing[$key]['number'] += $v['number'];
+                }
+                if(!isset($gift_user_typing[$k])){
+                    $gift_user_typing[$k] = $v;
+                }
+            }
+        }
+        //dump($gift_user_typing);
+
+        //结果
+        $result = [];
+        foreach($gift_user_typing as $key => $val){
+            $result[] = $val;
+        }
+
+        return $result;
+    }
+
     /**
      * 获取会员组别规则列表
      * @return array