Browse Source

别人的资料

lizhen_gitee 1 year ago
parent
commit
4ff7d7d6fd
2 changed files with 93 additions and 121 deletions
  1. 10 0
      application/api/controller/Index.php
  2. 83 121
      application/api/controller/Usercenter.php

+ 10 - 0
application/api/controller/Index.php

@@ -22,6 +22,7 @@ class Index extends Api
 
     //精选
     public function jingxuan(){
+        $keyworld = input('keyworld','');
 
         $where = [
             'user.id' => ['neq',$this->auth->id],
@@ -29,6 +30,10 @@ class Index extends Api
             'user.gender' => ['neq',$this->auth->gender],
         ];
 
+        if(!empty($keyworld)){
+            $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];
+        }
+
         //排除黑名单的
         $where_black = [];
         $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');
@@ -73,6 +78,7 @@ class Index extends Api
 
     //新人
     public function xinren(){
+        $keyworld = input('keyworld','');
 
         $where = [
             'user.id' => ['neq',$this->auth->id],
@@ -80,6 +86,10 @@ class Index extends Api
             'user.gender' => ['neq',$this->auth->gender],
         ];
 
+        if(!empty($keyworld)){
+            $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];
+        }
+
         //排除黑名单的
         $where_black = [];
         $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');

+ 83 - 121
application/api/controller/Usercenter.php

@@ -19,62 +19,47 @@ class Usercenter extends Api
         'id',
         'username',
         'nickname',
-//        'truename',
-        'mobile',
+
         'avatar',
 
-//        'real_status',
+        'mobile',
+        'idcard_status',
+        'real_status',
+
+
         'gender',
         'height',
         'weight',
         'birthday',
         'bio',
+        'audio_bio',
+        'video_bio',
 
-        'idcard_status',
-
-        'cityname',
         'photo_images',
 
+        'marital_id',
+        'job_id',
+        'suqiu_id',
+        'wages_id',
         'tag_ids',
-        'attribute',
-        'shoesize',
-    ];
-
-    //搜索用户列表
-    public function search_user_list(){
-        $username = input_post('username','');
-        if(!$username){
-            $this->error();
-        }
+        'hobby_ids',
 
-        $list = Db::name('user')->alias('user')
-            ->join('user_wallet uw','user.id = uw.user_id','LEFT')
-            ->field('user.id,user.username,user.nickname,user.avatar,user.bio,user.birthday,user.gender,user.attribute,uw.vip_endtime')
-            ->where('user.username',$username)->order('is_active desc,id asc')->autopage()->select();
+        'open_match_video',
+        'open_match_audio',
+        'open_match_typing',
+        'match_video_price',
+        'match_audio_price',
+        'match_typing_price',
 
-        $list = list_domain_image($list,['avatar']);
-        $list = list_birthday_age($list);
+    ];
 
-        if(!empty($list)){
-            foreach($list as $key => &$val){
-                //用户vip
-                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
-                unset($val['vip_endtime']);
-                //是否关注
-                $val['is_follow'] = $this->is_follow($this->auth->id,$val['id']);
-            }
-        }
 
-        $this->success('success',$list);
-    }
 
     //获取他人用户信息
     public function getuserinfo_simple(){
         $uid = input_post('uid',0);
 
         $field = $this->allowFields;
-        $field[] = 'longitude';
-        $field[] = '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(longitude,latitude))*111195) as distance';
         $userinfo = Db::name('user')->field($field)->where('id',$uid)->find();
 
         if(!$userinfo){
@@ -82,18 +67,18 @@ class Usercenter extends Api
         }
 
         //用户数据
-        $userinfo = info_domain_image($userinfo,['avatar','photo_images']);
-        $idcard_confirm = Db::name('user_idconfirm')->where('user_id',$uid)->find();
+        $userinfo = info_domain_image($userinfo,['avatar','photo_images','video_bio','audio_bio']);
 
         $new_data = [
             'age'            => birthtime_to_age($userinfo['birthday']),
-            'truename'       => ($userinfo['idcard_status'] == 1 && isset($idcard_confirm['truename'])) ? $idcard_confirm['truename'] : '',
+            'birthday'       => date('Y-m-d',$userinfo['birthday']),
         ];
 
         //合并
         $userinfo = array_merge($userinfo,$new_data);
         //枚举
-        $userinfo['tag'] = Db::name('enum_tag')->where('id','IN',$userinfo['tag_ids'])->field(['id','name','color'])->select();
+        $userinfo['tag']   = Db::name('enum_tag')->where('id','IN',$userinfo['tag_ids'])->field(['id','name'])->select();
+        $userinfo['hobby'] = Db::name('enum_hobby')->where('id','IN',$userinfo['hobby_ids'])->field(['id','name'])->select();
 
         //vip
         $userinfo['vip_endtime'] = Db::name('user_wallet')->where('user_id',$uid)->value('vip_endtime');
@@ -104,9 +89,6 @@ class Usercenter extends Api
         $userinfo['is_fans'] = $this->is_follow($uid,$this->auth->id);
         $userinfo['is_friend'] = $this->is_friend($this->auth->id,$uid);
 
-//        $is_like   = Db::name('user_like')->where(['uid'=>$this->auth->id,'like_uid'=>$uid])->find();
-//        $userinfo['is_like'] = $is_like ? 1 : 0;
-
         //是否拉黑
         $is_black = Db::name('user_black')->where(['uid'=>$this->auth->id,'black_uid'=>$uid])->find();
         $userinfo['is_black'] = $is_black ? 1 : 0;
@@ -120,53 +102,32 @@ class Usercenter extends Api
         //活跃,在线
         $userinfo['active_info'] = $this->user_activeinfo($uid);
 
-        //装扮
-        $userheader = "";
-        // 获取用户头像框信息
-        $map = [
-            'a.user_id' => $uid,
-            'a.is_using' => 1,
-            'a.end_time' => ['gt',time()],
-        ];
-
-        $backResult = Db::name('user_decorate')->alias('a')
-            ->field('a.id,a.decorate_type,b.base_image,b.play_image')
-            ->join('decorate b', 'a.decorate_id = b.id')
-            ->where($map)->order('a.id desc')->select();
-        $backResult = list_domain_image($backResult,['base_image','play_image']);
-
-        if ($backResult) {
-            foreach ($backResult as $k => $v) {
-                $v['decorate_type'] == 2 && $userheader = $v['play_image'];
-            }
-        }
-
-        $userinfo['userheader'] = $userheader;
-
         //用户权限
         $userinfo['power'] = Db::name('user_power')->where('user_id',$uid)->find();
 
-        $userinfo['distance'] = bcdiv(intval($userinfo['distance']),1000,1).'km';
-        if($this->auth->longitude == 0 || $userinfo['longitude'] == 0){
-            unset($userinfo['longitude']);
-            $userinfo['distance'] = '未知';
-        }
         //vip如果开了隐私保护,需要隐藏距离
         $weizhi = $this->user_power($userinfo['id'],'weizhi');
         if($weizhi == 1){
 //            $userinfo['cityname'] = '';
         }
 
+        //追加登录用户的头像
+        $userinfo['my_avatar'] = localpath_to_netpath($this->auth->avatar);
+        //此用户与我的亲密度 信息
+
+        //最新一条动态
+        $last_dongtai = Db::name('topic_dongtai')->where('user_id',$uid)->where('type',1)->where('auditstatus',1)->order('id desc')->find();
+        $last_dongtai = info_domain_image($last_dongtai,['images']);
+
         $this->success('success',$userinfo);
     }
 
     //获取他人用户信息,留下足迹
     public function getuserinfo(){
+
         $uid = input_post('uid',0);
 
         $field = $this->allowFields;
-        $field[] = 'longitude';
-        $field[] = '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(longitude,latitude))*111195) as distance';
         $userinfo = Db::name('user')->field($field)->where('id',$uid)->find();
 
         if(!$userinfo){
@@ -174,18 +135,18 @@ class Usercenter extends Api
         }
 
         //用户数据
-        $userinfo = info_domain_image($userinfo,['avatar','photo_images']);
-        $idcard_confirm = Db::name('user_idconfirm')->where('user_id',$uid)->find();
+        $userinfo = info_domain_image($userinfo,['avatar','photo_images','video_bio','audio_bio']);
 
         $new_data = [
             'age'            => birthtime_to_age($userinfo['birthday']),
-            'truename'       => ($userinfo['idcard_status'] == 1 && isset($idcard_confirm['truename'])) ? $idcard_confirm['truename'] : '',
+            'birthday'       => date('Y-m-d',$userinfo['birthday']),
         ];
 
         //合并
         $userinfo = array_merge($userinfo,$new_data);
         //枚举
-        $userinfo['tag'] = Db::name('enum_tag')->where('id','IN',$userinfo['tag_ids'])->field(['id','name','color'])->select();
+        $userinfo['tag']   = Db::name('enum_tag')->where('id','IN',$userinfo['tag_ids'])->field(['id','name'])->select();
+        $userinfo['hobby'] = Db::name('enum_hobby')->where('id','IN',$userinfo['hobby_ids'])->field(['id','name'])->select();
 
         //vip
         $userinfo['vip_endtime'] = Db::name('user_wallet')->where('user_id',$uid)->value('vip_endtime');
@@ -196,9 +157,6 @@ class Usercenter extends Api
         $userinfo['is_fans'] = $this->is_follow($uid,$this->auth->id);
         $userinfo['is_friend'] = $this->is_friend($this->auth->id,$uid);
 
-//        $is_like   = Db::name('user_like')->where(['uid'=>$this->auth->id,'like_uid'=>$uid])->find();
-//        $userinfo['is_like'] = $is_like ? 1 : 0;
-
         //是否拉黑
         $is_black = Db::name('user_black')->where(['uid'=>$this->auth->id,'black_uid'=>$uid])->find();
         $userinfo['is_black'] = $is_black ? 1 : 0;
@@ -209,65 +167,43 @@ class Usercenter extends Api
         $userinfo['follow_num'] = $follow_num;
         $userinfo['fans_num'] = $fans_num;
 
-
         //查看别人信息,就要留下痕迹
-            if($this->apiLimit(1,1000) == true){
-                $data = [
-                    'uid' => $this->auth->id,
-                    'to_uid' => $uid,
-                ];
-                $check = Db::name('user_visit')->where($data)->find();
-                if($check){
-                    Db::name('user_visit')->where($data)->update(['number'=>$check['number']+1,'updatetime'=>time()]);
-                }else{
-                    $data['number'] = 1;
-                    $data['updatetime'] = time();
-                    Db::name('user_visit')->insertGetId($data);
-                }
+        if($this->apiLimit(1,1000) == true){
+            $data = [
+                'uid' => $this->auth->id,
+                'to_uid' => $uid,
+            ];
+            $check = Db::name('user_visit')->where($data)->find();
+            if($check){
+                Db::name('user_visit')->where($data)->update(['number'=>$check['number']+1,'updatetime'=>time()]);
+            }else{
+                $data['number'] = 1;
+                $data['updatetime'] = time();
+                Db::name('user_visit')->insertGetId($data);
             }
+        }
 
         //活跃,在线
         $userinfo['active_info'] = $this->user_activeinfo($uid);
 
-        //装扮
-        $userheader = "";
-        // 获取用户头像框信息
-        $map = [
-            'a.user_id' => $uid,
-            'a.is_using' => 1,
-            'a.end_time' => ['gt',time()],
-        ];
-
-        $backResult = Db::name('user_decorate')->alias('a')
-            ->field('a.id,a.decorate_type,b.base_image,b.play_image')
-            ->join('decorate b', 'a.decorate_id = b.id')
-            ->where($map)->order('a.id desc')->select();
-        $backResult = list_domain_image($backResult,['base_image','play_image']);
-
-        if ($backResult) {
-            foreach ($backResult as $k => $v) {
-                $v['decorate_type'] == 2 && $userheader = $v['play_image'];
-            }
-        }
-
-        $userinfo['userheader'] = $userheader;
-
         //用户权限
         $userinfo['power'] = Db::name('user_power')->where('user_id',$uid)->find();
 
-        $userinfo['distance'] = bcdiv(intval($userinfo['distance']),1000,1).'km';
-        if($this->auth->longitude == 0 || $userinfo['longitude'] == 0){
-            unset($userinfo['longitude']);
-            $userinfo['distance'] = '未知';
-        }
         //vip如果开了隐私保护,需要隐藏距离
         $weizhi = $this->user_power($userinfo['id'],'weizhi');
         if($weizhi == 1){
 //            $userinfo['cityname'] = '';
         }
 
+        //追加登录用户的头像
+        $userinfo['my_avatar'] = localpath_to_netpath($this->auth->avatar);
+        //此用户与我的亲密度 信息
+
         $this->success('success',$userinfo);
 
+
+
+
     }
 
 
@@ -275,7 +211,33 @@ class Usercenter extends Api
 
 
 
+    //搜索用户列表
+    public function search_user_list(){
+        $username = input_post('username','');
+        if(!$username){
+            $this->error();
+        }
+
+        $list = Db::name('user')->alias('user')
+            ->join('user_wallet uw','user.id = uw.user_id','LEFT')
+            ->field('user.id,user.username,user.nickname,user.avatar,user.bio,user.birthday,user.gender,user.attribute,uw.vip_endtime')
+            ->where('user.username',$username)->order('is_active desc,id asc')->autopage()->select();
 
+        $list = list_domain_image($list,['avatar']);
+        $list = list_birthday_age($list);
+
+        if(!empty($list)){
+            foreach($list as $key => &$val){
+                //用户vip
+                $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
+                unset($val['vip_endtime']);
+                //是否关注
+                $val['is_follow'] = $this->is_follow($this->auth->id,$val['id']);
+            }
+        }
+
+        $this->success('success',$list);
+    }
 
     /**
      * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离