|
@@ -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点之间的直线距离
|