From 59e973001f4c884aea670b691ba57ef521c93f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Tue, 11 Nov 2025 16:15:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E8=BA=AB=E8=BF=9B=E5=85=A5=E5=92=8C?= =?UTF-8?q?=E6=88=BF=E9=97=B4=E5=9C=A8=E7=BA=BF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/RoomPit.php | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/application/api/model/RoomPit.php b/application/api/model/RoomPit.php index 4e2f5f7..df08472 100644 --- a/application/api/model/RoomPit.php +++ b/application/api/model/RoomPit.php @@ -415,9 +415,45 @@ class RoomPit extends Model $list['regular'] = db::name('vs_room_pit_apply')->alias('a')->join('user b','a.user_id = b.id') ->where($where)->where('a.type',0)->field('a.user_id,a.rank_value,b.nickname,b.avatar') ->order('a.rank_value desc')->select(); + foreach ($list['regular'] as $k => $v){ + //查询用户的爵位 + $jue_wei = model('Nobility')->getUserNobilityInfo($v['user_id']); + if($jue_wei['power_list']){ + foreach ($jue_wei['power_list'] as $k1 => $v1){ + if($v1['id'] == 11){ + $special = $list['regular'][$k]; + unset($list['regular'][$k]); + } + } + } + } $list['special'] = db::name('vs_room_pit_apply')->alias('a')->join('user b','a.user_id = b.id') ->where($where)->where('a.type',1)->field('a.user_id,a.rank_value,b.nickname,b.avatar') ->order('a.rank_value desc')->select(); + if(!empty($special)){ + //把特殊用户放在最前面 + array_unshift($list['regular'],$special); + } + foreach ($list['special'] as $k => $v){ + //查询用户的爵位 + $juewei = model('Nobility')->getUserNobilityInfo($v['user_id']); + if($juewei){ + $v['jue_wei'] = $juewei; + }else{ + $v['jue_wei'] = [ + 'level' => 0, + ]; + } + } + //先根据$v['jue_wei'] 下面的level 由大到小排序,再根据$v['rank_value'] 由大到小排序level + usort($list['regular'], function($a, $b) { + if ($a['jue_wei']['level'] == $b['jue_wei']['level']) { + return $b['rank_value'] - $a['rank_value']; + } + return $b['jue_wei']['level'] - $a['jue_wei']['level']; + }); + + $list['gift_info'] = db::name('vs_room_pit_apply_help_gift')->where('room_id',$room_id)->find(); if($list['gift_info']){ $list['gift_info']['gift_name'] = db::name('vs_gift')->where('gid',$list['gift_info']['gift_id'])->value('gift_name');