diff --git a/application/api/model/Guild.php b/application/api/model/Guild.php index 5e10af9..dc04fa2 100644 --- a/application/api/model/Guild.php +++ b/application/api/model/Guild.php @@ -996,7 +996,7 @@ class Guild extends Model $guild_id = substr($guild_ids, 1); if($guild_id_first_letter == 'g'){ $guild_info = db::name('vs_guild')->where(['id'=>$guild_id,'status'=>1,'delete_time'=>0])->find(); - $cover = $guild_info['cover']; + $cover = $guild_info['cover'] ?? ""; }else{ $guild_info = db::name('vs_family')->where(['id'=>$guild_id])->find(); $cover = db::name('user')->where(['id'=>$guild_info['user_id']])->value('avatar'); diff --git a/application/api/model/Level.php b/application/api/model/Level.php index 620b18d..083830a 100644 --- a/application/api/model/Level.php +++ b/application/api/model/Level.php @@ -277,6 +277,44 @@ class Level extends Model return $return; } + /* + * 通过等级获取魅力等级信息 + * + */ + public function get_singer_level_to_level($level){ + $return = []; + $level_data = Db::name('vs_singer_level')->where('level', $level)->find(); + $next_level_data = Db::name('vs_singer_level')->where('level', $level+1)->find(); + if($level_data){ + $return['level'] = $level_data['level']; + $return['level_name'] = $level_data['name']; + $return['exp'] = $level_data['change_value']; + $return['level_icon'] = $level_data['image']; + $return['rights_icon'] = $level_data['rights_icon']; + }else{ + $return['level'] = 0; + $return['level_name'] = ''; + $return['exp'] = 0; + $return['level_icon'] = ''; + $return['rights_icon'] = ""; + } + + if($next_level_data){ + $return['next_level'] = $next_level_data['level']; + $return['next_level_name'] = $next_level_data['name']; + $return['next_level_exp'] = $next_level_data['change_value']; + $return['next_level_icon'] = $next_level_data['image']; + $return['next_rights_icon'] = $next_level_data['rights_icon']; + }else{ + $return['next_level'] = $level_data['level']; + $return['next_level_name'] = $level_data['name']; + $return['next_level_exp'] = $level_data['change_value']; + $return['next_level_icon'] = $level_data['image']; + $return['next_rights_icon'] = $level_data['rights_icon']; + } + return $return; + } + /* * 用户财富/魅力等级更新 * @param uid 用ID @@ -473,7 +511,7 @@ class Level extends Model if($singer['status'] !=1){ return ['code' => 0, 'msg' => "当前用户非歌手", 'data' => null]; } - $user_level = Db::name('vs_singer_level')->where(['level' => $singer['level']])->find(); + $user_level = $this->get_singer_level_to_level($user['charm_level']); if(!$user_level){ return ['code' => 0, 'msg' => "数据配置有误 请联系管理员", 'data' => null]; } @@ -495,11 +533,11 @@ class Level extends Model $return['user']['next_rights_icon'] = ""; }else{ //距离下个等级需要的经验 - $return['user']['next_level'] = $user_level['level']+1; + $return['user']['next_level'] = $user_level['next_level']; $return['user']['next_level_str'] = 'Lv.'.$return['user']['next_level']; - $next_exp = $user_level['change_value'] - $singer['exp']; + $next_exp = $user_level['next_level_exp'] - $singer['exp']; $return['user']['next_exp'] = $next_exp <= 0 ? 0 : $next_exp; - $return['user']['next_rights_icon'] = $user_level['rights_icon']; + $return['user']['next_rights_icon'] = $user_level['next_rights_icon']; } //获取等级 // 获取用户当前等级