559 lines
24 KiB
PHP
559 lines
24 KiB
PHP
<?php
|
|
|
|
namespace app\api\model;
|
|
use think\Db;
|
|
use think\Model;
|
|
use think\Session;
|
|
|
|
class Level extends Model
|
|
{
|
|
|
|
// 开启自动写入时间戳字段
|
|
protected $autoWriteTimestamp = 'int';
|
|
// 定义时间戳字段名
|
|
protected $createTime = 'createtime';
|
|
protected $updateTime = 'updatetime';
|
|
|
|
public static function init()
|
|
{
|
|
self::beforeWrite(function ($row) {
|
|
});
|
|
}
|
|
|
|
/*
|
|
* 魅力等级规则说明
|
|
*/
|
|
public function get_level_rule($uid)
|
|
{
|
|
//规则
|
|
$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);
|
|
//用户头像
|
|
$return['user']['user_avatar'] = $user['avatar'];
|
|
//当前用户等级信息
|
|
$user_level = $this->get_charm_level_to_level($user['charm_level']);
|
|
// 获取最后等级
|
|
$level_last = Db::name('vs_charm_level')
|
|
->where('status', 1)
|
|
->order('level', 'desc')
|
|
->value('level');
|
|
//用户当前经验
|
|
$return['user']['level'] = $user['charm_level'];
|
|
$return['user']['level_str'] = 'Lv.'.$user['charm_level'];
|
|
$return['user']['exp'] = $user['charm_exp'];
|
|
$return['user']['rights_icon'] = $user_level['rights_icon'];
|
|
if($user['charm_level'] ==$level_last ){
|
|
//距离下个等级需要的经验
|
|
$return['user']['next_level'] = 0;
|
|
$return['user']['next_level_str'] = "满级";
|
|
$return['user']['next_exp'] = 0;
|
|
$return['user']['next_rights_icon'] = "";
|
|
}else{
|
|
//距离下个等级需要的经验
|
|
$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['charm_exp'];
|
|
$return['user']['next_exp'] = $next_exp <= 0 ? 0 : $next_exp;
|
|
$return['user']['next_rights_icon'] = $user_level['next_rights_icon'];
|
|
}
|
|
|
|
//获取等级
|
|
// 获取用户当前等级
|
|
$currentUserLevel = $user['charm_level'];
|
|
if($currentUserLevel == 0){
|
|
$level = Db::name('vs_charm_level')
|
|
->where('status', 1)
|
|
->order('level', 'asc')
|
|
->limit(3)
|
|
->select();
|
|
}elseif($currentUserLevel == $level_last){
|
|
$level = Db::name('vs_charm_level')
|
|
->where('status', 1)
|
|
->order('level', 'asc')
|
|
->limit($level_last-2,3)
|
|
->select();
|
|
}else{
|
|
$level = Db::name('vs_charm_level')
|
|
->where('status', 1)
|
|
->where('level', 'in', [$currentUserLevel - 1, $currentUserLevel, $currentUserLevel + 1])
|
|
->order('level', 'asc')
|
|
->select();
|
|
}
|
|
$return['level'] = [];
|
|
if($level) {
|
|
foreach ($level as $key => $value) {
|
|
$return['level'][$key]['level'] = $value['level'];
|
|
$return['level'][$key]['image'] = $value['image'];
|
|
$return['level'][$key]['bg_image'] = $value['bg_image'];
|
|
$return['level'][$key]['color'] = $value['color'];
|
|
$return['level'][$key]['name'] = $value['name'];
|
|
$return['level'][$key]['change_value'] = $value['change_value'];
|
|
//当前用户距离当前段位的距离
|
|
$return['level'][$key]['distance'] = $value['change_value'] - $user['charm_exp'];
|
|
$return['level'][$key]['rights_icon'] = $value['rights_icon'];
|
|
}
|
|
}
|
|
$return['privilege'] = Db::name('vs_charm_level')
|
|
->where('status', 1)
|
|
->order('level', 'asc')
|
|
->select();
|
|
return ['code' => 1, 'msg' => '登录成功', 'data' => $return];
|
|
}
|
|
|
|
/*
|
|
* 财富等级规则说明
|
|
*/
|
|
public function get_wealth_rule($uid)
|
|
{
|
|
//规则
|
|
$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);
|
|
//用户头像
|
|
$return['user']['user_avatar'] = $user['avatar'];
|
|
//当前用户等级信息
|
|
$user_level = $this->get_wealth_level_to_level($user['wealth_level']);
|
|
//用户当前经验
|
|
$return['user']['level'] = $user['wealth_level'];
|
|
$return['user']['level_str'] = 'Lv.'.$user['wealth_level'];
|
|
$return['user']['exp'] = $user['wealth_exp'];
|
|
$return['user']['coins'] = $user_level['coins'];
|
|
//是否已领取金币
|
|
$return['user']['is_get_coins'] = 0;
|
|
$wealth_level_log = Db::name('vs_wealth_level_log')
|
|
->where('user_id', $uid)
|
|
->where('level', $user['wealth_level'])
|
|
->find();
|
|
if($wealth_level_log){
|
|
$return['user']['is_get_coins'] = 1;
|
|
}
|
|
// 获取最后等级
|
|
$level_last = Db::name('vs_wealth_level')
|
|
->where('status', 1)
|
|
->order('level', 'desc')
|
|
->value('level');
|
|
if($user['wealth_level'] ==$level_last ){
|
|
//距离下个等级需要的经验
|
|
$return['user']['next_level'] = 0;
|
|
$return['user']['next_level_str'] = "满级";
|
|
$return['user']['next_exp'] = 0;
|
|
$return['user']['next_coins'] = "";
|
|
}else{
|
|
//距离下个等级需要的经验
|
|
$return['user']['next_level'] = $user['wealth_level']+1;
|
|
$return['user']['next_level_str'] = 'Lv.'.$return['user']['next_level'];
|
|
$next_exp = $user_level['next_level_exp'] - $user['wealth_exp'];
|
|
$return['user']['next_exp'] = $next_exp <= 0 ? 0 : $next_exp;
|
|
$return['user']['next_coins'] = $user_level['next_coins'];
|
|
}
|
|
//获取等级
|
|
// 获取用户当前等级
|
|
$currentUserLevel = $user['wealth_level'];
|
|
if($currentUserLevel == 0){
|
|
$level = Db::name('vs_wealth_level')
|
|
->where('status', 1)
|
|
->order('level', 'asc')
|
|
->limit(3)
|
|
->select();
|
|
}elseif($currentUserLevel == $level_last){
|
|
$level = Db::name('vs_wealth_level')
|
|
->where('status', 1)
|
|
->order('level', 'asc')
|
|
->limit($level_last-2,3)
|
|
->select();
|
|
}else{
|
|
$level = Db::name('vs_wealth_level')
|
|
->where('status', 1)
|
|
->where('level', 'in', [$currentUserLevel - 1, $currentUserLevel, $currentUserLevel + 1])
|
|
->order('level', 'asc')
|
|
->select();
|
|
}
|
|
$return['level'] = [];
|
|
$return['privilege'] = [];
|
|
if($level) {
|
|
foreach ($level as $key => $value) {
|
|
$return['level'][$key]['level'] = $value['level'];
|
|
$return['level'][$key]['level_str'] = 'Lv.'.$value['level'];
|
|
$return['level'][$key]['image'] = $value['image'];
|
|
$return['level'][$key]['bg_image'] = $value['bg_image'];
|
|
$return['level'][$key]['color'] = $value['color'];
|
|
$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]['coins'] = $value['coins'];
|
|
//特权
|
|
$privilege = Db::name('vs_wealth_level_rights')->alias('a')
|
|
->join('vs_decorate b' , 'a.gift_id = b.did')
|
|
->field('a.gift_id,b.title,b.base_image')
|
|
->where('a.level_id', $value['id'])
|
|
->find();
|
|
$return['level'][$key]['privilege'] = '';
|
|
if($privilege){
|
|
$return['level'][$key]['privilege'] = $privilege['title'];
|
|
$privilege['name'] = $value['name'].'解锁';
|
|
$return['privilege'][$key] = $privilege;
|
|
}
|
|
}
|
|
}
|
|
return ['code' => 1, 'msg' => '成功', 'data' => $return];
|
|
}
|
|
|
|
/*
|
|
* 通过等级获取财富等级信息
|
|
*/
|
|
public function get_wealth_level_to_level($level=0){
|
|
$return = [];
|
|
$level_data = Db::name('vs_wealth_level')->where('level', $level)->find();
|
|
$next_level_data = Db::name('vs_wealth_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['coins'] = $level_data['coins'];
|
|
}else{
|
|
$return['level'] = 0;
|
|
$return['level_name'] = '';
|
|
$return['exp'] = 0;
|
|
$return['level_icon'] = '';
|
|
$return['coins'] = 0;
|
|
}
|
|
|
|
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_coins'] = $next_level_data['coins'];
|
|
}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_coins'] = $level_data['coins'];
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/*
|
|
* 通过等级获取魅力等级信息
|
|
*
|
|
*/
|
|
public function get_charm_level_to_level($level){
|
|
$return = [];
|
|
$level_data = Db::name('vs_charm_level')->where('level', $level)->find();
|
|
$next_level_data = Db::name('vs_charm_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
|
|
* @param value 金币数
|
|
* @param type 类型 1:财富 2:魅力
|
|
*/
|
|
public function user_level_data_update($uid,$icon,$type,$room_id=0){
|
|
$user = model('User')->get_user_info($uid,['user_level']);
|
|
//配置
|
|
if($type == 1){//财富
|
|
$coin_charm_exp = get_system_config_value('coin_wealth_exp');
|
|
$wealth_exp = $icon * $coin_charm_exp;//计算财富增长值
|
|
//计算财富等级
|
|
$user_wealth_level = $user['wealth_level'];
|
|
$user_wealth_exp = $user['wealth_exp'] + $wealth_exp;
|
|
//判断是否达到下一级别
|
|
$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;
|
|
//修改用户信息
|
|
$return = db('user_data')->where('user_id',$uid)->update($update_data);
|
|
if($return){
|
|
//发放特权礼物
|
|
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."级 发放座驾礼物";
|
|
$res = model('Decorate')->pay_decorate($uid,$wealth_level_rights['gift_id'],0,7,"");
|
|
if($res['code']!=1){
|
|
return ['code' => $res['code'], 'msg' => $res['msg'], 'data' => null];
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
}else{//魅力 coin_charm_exp
|
|
$coin_charm_exp = get_system_config_value('coin_charm_exp');
|
|
$charm_exp = $icon * $coin_charm_exp;//魅力增长值
|
|
$user_charm_level = $user['charm_level'];
|
|
$user_charm_exp = $user['charm_exp'] + $charm_exp;
|
|
//判断是否达到下一级别
|
|
$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;
|
|
//修改用户信息
|
|
$return = db('user_data')->where('user_id',$uid)->update($update_data);
|
|
if(!$return){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
}
|
|
//操作房间魅力值
|
|
if($room_id){
|
|
$return_charm = $this->room_user_charm_exp($uid,$room_id,$icon,$type);
|
|
if($return_charm['code']==0){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
}
|
|
return ['code' => 1, 'msg' => "成功", 'data' => null];
|
|
}
|
|
|
|
/*
|
|
* 房间用户魅力值修改
|
|
*/
|
|
public function room_user_charm_exp($uid,$room_id,$exp,$type){
|
|
//获取房间用户魅力
|
|
$room_user_charm_exp = Db::name('vs_room_user_charm')->where(['user_id'=>$uid,'room_id'=>$room_id])->find();
|
|
if($room_user_charm_exp){
|
|
if($type == 1){
|
|
$coin_charm_exp = get_system_config_value('coin_wealth_exp');
|
|
$room_user_charm_exp_data['total_wealth'] = $room_user_charm_exp['total_wealth'] + $exp * $coin_charm_exp;
|
|
}else{
|
|
$coin_charm_exp = get_system_config_value('coin_charm_exp');
|
|
$room_user_charm_exp_data['charm'] = $room_user_charm_exp['charm'] + $exp * $coin_charm_exp;
|
|
$room_user_charm_exp_data['total_charm'] = $room_user_charm_exp['total_charm'] + $exp * $coin_charm_exp;
|
|
}
|
|
$room_user_charm_exp_data['updatetime'] = time();
|
|
$return = Db::name('vs_room_user_charm')->where(['user_id'=>$uid,'room_id'=>$room_id])->update($room_user_charm_exp_data);
|
|
}else{
|
|
if($type == 1){
|
|
$coin_charm_exp = get_system_config_value('coin_wealth_exp');
|
|
$room_user_charm_exp_data['total_wealth'] = $exp * $coin_charm_exp;
|
|
}else{
|
|
$coin_charm_exp = get_system_config_value('coin_charm_exp');
|
|
$room_user_charm_exp_data['charm'] = $exp * $coin_charm_exp;
|
|
$room_user_charm_exp_data['total_charm'] = $exp * $coin_charm_exp;
|
|
}
|
|
$room_user_charm_exp_data['user_id'] = $uid;
|
|
$room_user_charm_exp_data['room_id'] = $room_id;
|
|
$room_user_charm_exp_data['createtime'] = time();
|
|
$room_user_charm_exp_data['updatetime'] = time();
|
|
$return = Db::name('vs_room_user_charm')->insert($room_user_charm_exp_data);
|
|
}
|
|
if($return){
|
|
return ['code' => 1, 'msg' => "成功", 'data' => null];
|
|
}else{
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
}
|
|
/*
|
|
* 领取财富等级奖励金币
|
|
*/
|
|
public function get_wealth_level_reward($uid){
|
|
$user_info = model('User')->get_user_info($uid,['user_level']);
|
|
$wealth_level = $user_info['wealth_level'];
|
|
$wealth_level = db('vs_wealth_level')->where('level',$wealth_level)->find();
|
|
if(!$wealth_level){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
if($wealth_level['coins']<=0){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
$wealth_level_log = db('vs_wealth_level_log')->where(['user_id'=>$uid,'level'=>$wealth_level['level']])->find();
|
|
if($wealth_level_log){
|
|
return ['code' => 0, 'msg' => "你已领取该等级的奖励", 'data' => null];
|
|
}
|
|
//操作用户金币
|
|
$res = model('common/UserWallet')->change_user_money($uid, $wealth_level['coins'], model('common/UserWallet')::MONEYTYPECOIN, model('common/UserWallet')::FINANCE_LEVEL_REWARD,model('common/UserWallet')::ChangeTypeLable(model('common/UserWallet')::FINANCE_LEVEL_REWARD));
|
|
if($res['code']!=1){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
$return = db('vs_wealth_level_log')->insert([
|
|
'user_id'=>$uid,
|
|
'level'=>$wealth_level['level'],
|
|
'coins'=>$wealth_level['coins'],
|
|
'createtime'=>time()]);
|
|
if(!$return){
|
|
return ['code' => 0, 'msg' => "失败", 'data' => null];
|
|
}
|
|
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;
|
|
}
|
|
|
|
//歌手等级
|
|
public function get_singer_level($uid){
|
|
//经验值兑换金币比例
|
|
$return['singer_coin_exp'] = get_system_config_value('singer_coin_exp');
|
|
//用户信息
|
|
$user = model('User')->get_user_info($uid);
|
|
//用户头像
|
|
$return['user']['user_avatar'] = $user['avatar'];
|
|
//当前用户等级信息
|
|
$singer = db::name('vs_singer')->where(['user_id' => $uid])->find();
|
|
if($singer['status'] !=1){
|
|
return ['code' => 0, 'msg' => "当前用户非歌手", 'data' => null];
|
|
}
|
|
$user_level = Db::name('vs_singer_level')->where(['level' => $singer['level']])->find();
|
|
if(!$user_level){
|
|
return ['code' => 0, 'msg' => "数据配置有误 请联系管理员", 'data' => null];
|
|
}
|
|
// 获取最后等级
|
|
$level_last = Db::name('vs_singer_level')
|
|
->where('deletetime',0)
|
|
->order('level', 'desc')
|
|
->value('level');
|
|
//用户当前经验
|
|
$return['user']['level'] = $singer['level'];
|
|
$return['user']['level_str'] = 'Lv.'.$singer['level'];
|
|
$return['user']['exp'] = $singer['exp'];
|
|
$return['user']['rights_icon'] = $user_level['rights_icon'];
|
|
if($singer['level'] ==$level_last ){
|
|
//距离下个等级需要的经验
|
|
$return['user']['next_level'] = 0;
|
|
$return['user']['next_level_str'] = "满级";
|
|
$return['user']['next_exp'] = 0;
|
|
$return['user']['next_rights_icon'] = "";
|
|
}else{
|
|
//距离下个等级需要的经验
|
|
$return['user']['next_level'] = $user_level['level']+1;
|
|
$return['user']['next_level_str'] = 'Lv.'.$return['user']['next_level'];
|
|
$next_exp = $user_level['change_value'] - $singer['exp'];
|
|
$return['user']['next_exp'] = $next_exp <= 0 ? 0 : $next_exp;
|
|
$return['user']['next_rights_icon'] = $user_level['rights_icon'];
|
|
}
|
|
//获取等级
|
|
// 获取用户当前等级
|
|
$currentUserLevel = $singer['level'];
|
|
if($currentUserLevel == 0){
|
|
$level = Db::name('vs_singer_level')
|
|
->where('deletetime',0)
|
|
->order('level', 'asc')
|
|
->limit(3)
|
|
->select();
|
|
}elseif($currentUserLevel == $level_last){
|
|
$limit_s = $level_last-2;
|
|
if($limit_s < 0){
|
|
$limit_s = 0;
|
|
}
|
|
$level = Db::name('vs_singer_level')
|
|
->where('deletetime',0)
|
|
->order('level', 'asc')
|
|
->limit($limit_s,3)
|
|
->select();
|
|
}else{
|
|
$level = Db::name('vs_singer_level')
|
|
->where('deletetime',0)
|
|
->where('level', 'in', [$currentUserLevel - 1, $currentUserLevel, $currentUserLevel + 1])
|
|
->order('level', 'asc')
|
|
->select();
|
|
}
|
|
$return['level'] = [];
|
|
if($level) {
|
|
foreach ($level as $key => $value) {
|
|
$return['level'][$key]['level'] = $value['level'];
|
|
$return['level'][$key]['image'] = $value['image'];
|
|
$return['level'][$key]['bg_image'] = $value['bg_image'];
|
|
$return['level'][$key]['color'] = $value['color'];
|
|
$return['level'][$key]['name'] = $value['name'];
|
|
$return['level'][$key]['change_value'] = $value['change_value'];
|
|
//当前用户距离当前段位的距离
|
|
$return['level'][$key]['distance'] = $value['change_value'] - $singer['exp'];
|
|
$return['level'][$key]['rights_icon'] = $value['rights_icon'];
|
|
}
|
|
}
|
|
$level_list = Db::name('vs_singer_level')
|
|
->where('deletetime',0)
|
|
->order('level', 'asc')
|
|
->select();
|
|
$return['level_list'] = [];
|
|
$exp_s = 0;
|
|
foreach ($level_list as $key => $value) {
|
|
$return['level_list'][$key]['level'] = 'LV.'.$value['level'];
|
|
$return['level_list'][$key]['exp_str'] = $exp_s.'-'.$value['change_value'];
|
|
$return['level_list'][$key]['image'] = $value['image'];
|
|
$exp_s = $value['change_value'];
|
|
}
|
|
return ['code' => 1, 'msg' => '成功', 'data' => $return];
|
|
}
|
|
}
|