diff --git a/application/api/model/Level.php b/application/api/model/Level.php index 01e604a..7aa889a 100644 --- a/application/api/model/Level.php +++ b/application/api/model/Level.php @@ -27,6 +27,7 @@ class Level extends Model { //规则 $return['rule_url'] = get_system_config_value('web_site')."/api/Page/page_show?id=10"; + $return['coin_charm_exp'] = get_system_config_value('coin_charm_exp'); //用户信息 $user = model('User')->get_user_info($uid); //用户头像 @@ -53,7 +54,7 @@ class Level extends Model //距离下个等级需要的经验 $return['user']['next_level'] = $user['charm_level']+1; $return['user']['next_level_str'] = 'Lv.'.$return['user']['next_level']; - $next_exp = $user_level['next_level_exp'] - $user['wealth_exp']; + $next_exp = $user_level['next_level_exp'] - $user['charm_exp']; $return['user']['next_exp'] = $next_exp <= 0 ? 0 : $next_exp; $return['user']['next_rights_icon'] = $user_level['next_rights_icon']; } @@ -90,7 +91,7 @@ class Level extends Model $return['level'][$key]['name'] = $value['name']; $return['level'][$key]['change_value'] = $value['change_value']; //当前用户距离当前段位的距离 - $return['level'][$key]['distance'] = $value['change_value'] - $user['wealth_exp']; + $return['level'][$key]['distance'] = $value['change_value'] - $user['charm_exp']; $return['level'][$key]['rights_icon'] = $value['rights_icon']; } } @@ -108,6 +109,7 @@ class Level extends Model { //规则 $return['rule_url'] = get_system_config_value('web_site')."/api/Page/page_show?id=11"; + $return['coin_wealth_exp'] = get_system_config_value('coin_wealth_exp'); //用户信息 $user = model('User')->get_user_info($uid); //用户头像 @@ -228,11 +230,11 @@ class Level extends Model $return['next_level_icon'] = $next_level_data['image']; $return['next_coins'] = $next_level_data['coins']; }else{ - $return['next_level'] = 0; - $return['next_level_name'] = ''; - $return['next_level_exp'] = 0; - $return['next_level_icon'] = ''; - $return['next_coins'] = 0; + $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_coins'] = $level_data['coins']; } return $return; } @@ -266,11 +268,11 @@ class Level extends Model $return['next_level_icon'] = $next_level_data['image']; $return['next_rights_icon'] = $next_level_data['rights_icon']; }else{ - $return['next_level'] = 0; - $return['next_level_name'] = ''; - $return['next_level_exp'] = 0; - $return['next_level_icon'] = ''; - $return['next_rights_icon'] = ""; + $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; } @@ -291,10 +293,11 @@ class Level extends Model $user_wealth_level = $user['wealth_level']; $user_wealth_exp = $user['wealth_exp'] + $wealth_exp; //判断是否达到下一级别 - $user_wealth = $this->get_wealth_level_to_level($user_wealth_level); - if($user_wealth_exp>= $user_wealth['next_level_exp']){ - $user_wealth_level= $user_wealth['next_level']; - } + $user_wealth = $this->get_wealth_level_to_level_vlue($user_wealth_exp); +// if($user_wealth_level>= $user_wealth['level']){ +// $user_wealth_level= $user_wealth['level']; +// } + $user_wealth_level= $user_wealth['level']; $update_data = []; $update_data['wealth_level'] = $user_wealth_level; $update_data['wealth_exp'] = $user_wealth_exp; @@ -302,7 +305,7 @@ class Level extends Model $return = db('user_data')->where('user_id',$uid)->update($update_data); if($return){ //发放特权礼物 - if($user_wealth_exp>= $user_wealth['next_level_exp']){ + if($user_wealth_exp>= $user_wealth['exp']){ $wealth_level_rights = db('vs_wealth_level_rights')->where('level_id',$user_wealth_level)->find(); if(isset($wealth_level_rights['type']) && $wealth_level_rights['type'] ==1 ){//发座驾礼物 $log_remark = "财富等级达到".$user_wealth_level."级 发放座驾礼物"; @@ -321,10 +324,11 @@ class Level extends Model $user_charm_level = $user['charm_level']; $user_charm_exp = $user['charm_exp'] + $charm_exp; //判断是否达到下一级别 - $user_charm = $this->get_charm_level_to_level($user_charm_level); - if($user_charm_exp>= $user_charm['next_level_exp']){ - $user_charm_level= $user_charm['next_level']; - } + $user_charm = $this->get_charm_level_to_level_vlue($user_charm_exp); +// if($user_charm_level != $user_charm['level']){ +// $user_charm_level = $user_charm['level']; +// } + $user_charm_level = $user_charm['level']; $update_data = []; $update_data['charm_level'] = $user_charm_level; $update_data['charm_exp'] = $user_charm_exp; @@ -414,4 +418,45 @@ class Level extends Model } return ['code' => 1, 'msg' => "成功", 'data' => null]; } + + /* + * 通过魅力值获取对应等级 + */ + public function get_charm_level_to_level_vlue($charm_level){ + $return = []; + $level_data = Db::name('vs_charm_level')->where(["change_value"=>['<',$charm_level]])->order('change_value','desc')->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']; + }else{ + $return['level'] = 0; + $return['level_name'] = ''; + $return['exp'] = 0; + $return['level_icon'] = ''; + $return['rights_icon'] = ""; + } + return $return; + } + /* + * 通过财富值获取对应等级 + */ + public function get_wealth_level_to_level_vlue($wealth_level){ + $return = []; + $level_data = Db::name('vs_wealth_level')->where(["change_value"=>['<',$wealth_level]])->order('change_value','desc')->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']; + }else{ + $return['level'] = 0; + $return['level_name'] = ''; + $return['exp'] = 0; + $return['level_icon'] = ''; + $return['rights_icon'] = ""; + } + return $return; + } }