diff --git a/application/api/model/Decorate.php b/application/api/model/Decorate.php index 45c7725..1320f00 100644 --- a/application/api/model/Decorate.php +++ b/application/api/model/Decorate.php @@ -376,40 +376,115 @@ class Decorate extends Model * @param $id 对象id * @param $type 装扮类型 1头像框 2坐骑 3麦圈 6个人靓号 7房间靓号 8公会靓号 */ +// public function user_decorate_detail($id, $type){ +// //根据$type 组装查询条件 +// $reslut = ""; +// if($type == 7){//7房间靓号 8工会靓号 +// $room = db::name('vs_room')->where('id', $id)->field('user_id,room_number')->find(); +// if(empty($room)){ +// return $reslut; +// } +// $map = [ +// 'user_id' => $room['user_id']??0, +// 'type' => $type, +// 'is_using' => 1 +// ]; +// $reslut = db::name('vs_user_decorate')->where($map)->where('end_time',['>=',time()],'or')->value('special_num') ?? $room['room_number']; +// }elseif($type == 8){ +// $guild = db::name('vs_guild')->where('id', $id)->field('user_id,guild_special_id')->find(); +// $map = [ +// 'user_id' => $guild['user_id']??0, +// 'type' => $type, +// 'is_using' => 1 +// ]; +// $reslut = db::name('vs_user_decorate')->where($map)->where('end_time',['>=',time()],'or')->value('special_num') ?? $guild['guild_special_id']; +// }elseif($type == 6){ +// $map = [ +// 'user_id' => $id??0, +// 'type' => $type, +// 'is_using' => 1 +// ]; +// $user_code = db::name('user')->where('id', $id)->value('user_code'); +// $reslut = db::name('vs_user_decorate')->where($map)->where('end_time',['>=',time()],'or')->value('special_num') ?? $user_code; +// }else{ +// $map = [ +// 'user_id' => $id??0, +// 'type' => $type, +// 'is_using' => 1 +// ]; +// $did = db::name('vs_user_decorate')->where($map)->where('end_time',['>=',time()],'or')->value('did'); +// if(empty($did)){ +// $reslut = '';//返回数据 +// }else{ +// if($type == 9){ +// $reslut = db::name('vs_decorate')->where('did', $did)->value('base_image'); +// }else{ +// $reslut = db::name('vs_decorate')->where('did', $did)->value('play_image'); +// } +// } +// } +// return $reslut; +// +// } + public function user_decorate_detail($id, $type){ //根据$type 组装查询条件 $reslut = ""; $map = [ - 'user_id' => $room['user_id']??0, 'type' => $type, 'is_using' => 1 ]; - $user_decorate = db::name('vs_user_decorate')->where($map)->order('createtime', 'desc')->find(); - if(empty($user_decorate)){ - return $reslut; - } - if($user_decorate['end_time']==2 && $user_decorate['end_time'] < time()){ - return $reslut; - } if($type == 7){//7房间靓号 8工会靓号 $room = db::name('vs_room')->where('id', $id)->field('user_id,room_number')->find(); if(empty($room)){ return $reslut; } + $map['user_id'] = $room['user_id']; + $user_decorate = db::name('vs_user_decorate')->where($map)->order('createtime', 'desc')->find(); + if(empty($user_decorate)){ + return $reslut; + } + if($user_decorate['is_perpetual']==2 && $user_decorate['end_time'] < time()){ + return $reslut; + } $reslut = $user_decorate['special_num'] ?? $room['room_number']; }elseif($type == 8){ $guild = db::name('vs_guild')->where('id', $id)->field('user_id,guild_special_id')->find(); if(empty($guild)){ return $reslut; } + $map['user_id'] = $guild['user_id']; + $user_decorate = db::name('vs_user_decorate')->where($map)->order('createtime', 'desc')->find(); + if(empty($user_decorate)){ + return $reslut; + } + if($user_decorate['is_perpetual']==2 && $user_decorate['end_time'] < time()){ + return $reslut; + } $reslut = $user_decorate['special_num'] ?? $guild['guild_special_id']; }elseif($type == 6){ $user_code = db::name('user')->where('id', $id)->value('user_code'); if(empty($user_code)){ return $reslut; } + $map['user_id'] = $id; + $user_decorate = db::name('vs_user_decorate')->where($map)->order('createtime', 'desc')->find(); + if(empty($user_decorate)){ + return $reslut; + } + if($user_decorate['is_perpetual']==2 && $user_decorate['end_time'] < time()){ + return $reslut; + } $reslut = $user_decorate['special_num'] ?? $user_code; }else{ + $map['user_id'] = $id; + $user_decorate = db::name('vs_user_decorate')->where($map)->order('createtime', 'desc')->find(); + if(empty($user_decorate)){ + return $reslut; + } + if($user_decorate['is_perpetual']==2 && $user_decorate['end_time'] < time()){ + return $reslut; + } if($type == 9 || $type == 10 || $type == 11){ $reslut = db::name('vs_decorate')->where('did', $user_decorate['did'])->value('base_image'); }else{ diff --git a/application/guildadmin/controller/Room.php b/application/guildadmin/controller/Room.php index b1b2a39..80bbd2d 100644 --- a/application/guildadmin/controller/Room.php +++ b/application/guildadmin/controller/Room.php @@ -42,6 +42,7 @@ class Room extends GuildAdmin // 房间列表 public function index() { + echo model('api/Decorate')->user_decorate_detail($room_data['id'],7); $guild_id = $this->guildId; $page = input('page', 1); $page_limit = input('page_limit', 30);