挚友
This commit is contained in:
@@ -285,4 +285,14 @@ class User extends BaseCom
|
|||||||
$reslut = model('UserWallet')->give_coin($this->uid, $give_uid, $coin);
|
$reslut = model('UserWallet')->give_coin($this->uid, $give_uid, $coin);
|
||||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//挚友列表
|
||||||
|
public function get_friend_list()
|
||||||
|
{
|
||||||
|
$user_id = input('user_id', 0);//用户id
|
||||||
|
$page = input('page', 1);
|
||||||
|
$page_limit = input('page_limit', 30);
|
||||||
|
$reslut = model('User')->get_friend_list($user_id, $page, $page_limit);
|
||||||
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -961,4 +961,94 @@ class User extends Model
|
|||||||
return ['code' => 1, 'msg' => '可以发起私聊', 'data' => null];
|
return ['code' => 1, 'msg' => '可以发起私聊', 'data' => null];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 挚友列表
|
||||||
|
* @param int $user_id 用户ID
|
||||||
|
*/
|
||||||
|
public function get_friend_list($user_id,$page,$limit){
|
||||||
|
//获取用户当前所拥有的关系
|
||||||
|
$relation = db::name('vs_relation')->where(['id' => ['>',0],'delete_time' => 0])->page($page,$limit)->select();
|
||||||
|
$return_data = [];
|
||||||
|
if(!$relation){
|
||||||
|
foreach ($relation as $v){
|
||||||
|
$return_data['no_cp']['relation_name'] = $v['name'];
|
||||||
|
// $return_data['no_cp']['relation_image'] = $v['icon'];
|
||||||
|
$return_data['no_cp']['relation_list'] = $this->relation_card($v['id'],$user_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//CP 信息
|
||||||
|
$res = Db::name('user_cp_zone')->where(['user_id1' => $user_id,'status' => 1])->select();
|
||||||
|
if(!$res){
|
||||||
|
$res = Db::name('user_cp_zone')->where(['user_id2' => $user_id,'status' => 1])->select();
|
||||||
|
}
|
||||||
|
if($res){
|
||||||
|
$res['user_info1'] = Db::name('user')->where(['id' => $res['user_id1']])->field('id user_id,nickname,avatar')->find();
|
||||||
|
$res['user_info2'] = Db::name('user')->where(['id' => $res['user_id2']])->field('id user_id,nickname,avatar')->find();
|
||||||
|
}
|
||||||
|
if($res){
|
||||||
|
$return_data['cp']['relation_name'] = 'CP';
|
||||||
|
// $return_data['cp']['relation_image'] = '';
|
||||||
|
$return_data['cp']['relation_list'][] = $res;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ['code' => 1, 'msg' => '获取成功', 'data' => $return_data];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//关系卡,关系位
|
||||||
|
public function relation_card($relation_id,$user_id)
|
||||||
|
{
|
||||||
|
$room_auction1 = db::name('vs_room_auction_relation')->alias('a')
|
||||||
|
->join('user b','a.user_id1 = b.id','left')
|
||||||
|
->join('user c','a.user_id2 = c.id','left')
|
||||||
|
->join('vs_relation d','a.relation_id = d.id','left')//关系
|
||||||
|
->field('a.relation_id,a.cp_room_id,a.id,a.user_id1,a.user_id2,a.updatetime,a.time_day,a.end_time,b.nickname as nickname1,b.avatar as avatar1,c.nickname as nickname2,c.avatar as avatar2,d.name as relation_name,d.icon as image')
|
||||||
|
->where(['a.user_id1' => $user_id,'a.end_time' =>['>',time()],'a.delete_time' => 0,'a.relation_id' => $relation_id])
|
||||||
|
->order('a.updatetime desc')
|
||||||
|
->select();
|
||||||
|
$room_auction2 = db::name('vs_room_auction_relation')->alias('a')
|
||||||
|
->join('user b','a.user_id1 = b.id','left')
|
||||||
|
->join('user c','a.user_id2 = c.id','left')
|
||||||
|
->join('vs_relation d','a.relation_id = d.id','left')//关系
|
||||||
|
->field('a.relation_id,a.cp_room_id,a.id,a.user_id1,a.user_id2,a.updatetime,a.time_day,a.end_time,b.nickname as nickname1,b.avatar as avatar1,c.nickname as nickname2,c.avatar as avatar2,d.name as relation_name,d.icon as image')
|
||||||
|
->where(['a.user_id2' => $user_id,'a.end_time' =>['>',time()],'a.delete_time' => 0,'a.relation_id' => $relation_id])
|
||||||
|
->order('a.updatetime desc')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
$room_auction = array_merge((array)$room_auction1, (array)$room_auction2);
|
||||||
|
|
||||||
|
foreach ($room_auction as &$v){
|
||||||
|
$v['delete_me_coin'] = get_system_config_value('delete_relation_card_money');
|
||||||
|
if($v['cp_room_id'] > 1){
|
||||||
|
//查找房间ID
|
||||||
|
$v['heart_value'] = db::name('vs_room')->where('id',$v['cp_room_id'])->value('hot_value');
|
||||||
|
}else{
|
||||||
|
$v['heart_value'] = 0;
|
||||||
|
}
|
||||||
|
if(db::name('vs_room_auction_relation_top')->where(['user_id' => $user_id, 'au_re_id' => $v['id']])->find()){
|
||||||
|
$v['is_top'] = 1;//置顶
|
||||||
|
}else{
|
||||||
|
$v['is_top'] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//数据重组 根据是否置顶排序 然后根据 time_day 倒序
|
||||||
|
if ($room_auction) {
|
||||||
|
// 对于未置顶的项目,再根据 time_day 倒序排序
|
||||||
|
$top_qinmi = array_filter($room_auction, function($item) { return $item['is_top'] == 1; });
|
||||||
|
$untop_qinmi = array_filter($room_auction, function($item) { return $item['is_top'] != 1; });
|
||||||
|
usort($untop_qinmi, function($a, $b) {
|
||||||
|
return $b['time_day'] <=> $a['time_day'];
|
||||||
|
});
|
||||||
|
$room_auction = array_merge($top_qinmi, $untop_qinmi);
|
||||||
|
$room_auction = array_values($room_auction);
|
||||||
|
}
|
||||||
|
|
||||||
|
//取前三个值
|
||||||
|
$room_auction = array_slice($room_auction, 0, 3);
|
||||||
|
return $room_auction ;
|
||||||
|
// return ['code' => 1, 'msg' => '操作成功', 'data' => $room_auction];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user