歌手等级接口提交
This commit is contained in:
@@ -139,6 +139,8 @@ class SingerSong extends adminApi
|
||||
'image' => input('image', ''),
|
||||
'change_value' => input('change_value', ''),
|
||||
'rights_icon' => input('rights_icon', ''),
|
||||
'bg_image' => input('bg_image', ''),
|
||||
'color' => input('color', ''),
|
||||
'createtime' => time(),
|
||||
];
|
||||
$res = db::name('vs_singer_level')->insert($data);
|
||||
@@ -154,6 +156,8 @@ class SingerSong extends adminApi
|
||||
'image' => input('image', ''),
|
||||
'change_value' => input('change_value', ''),
|
||||
'rights_icon' => input('rights_icon', ''),
|
||||
'bg_image' => input('bg_image', ''),
|
||||
'color' => input('color', ''),
|
||||
];
|
||||
$res = db::name('vs_singer_level')->where('id', $id)->update($data);
|
||||
if($res){
|
||||
|
||||
@@ -36,4 +36,27 @@ class Level extends BaseCom
|
||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
//歌手等级
|
||||
public function get_singer_level(){
|
||||
$uid = $this->uid;
|
||||
$reslut = model('Level')->get_singer_level($uid);
|
||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||
}
|
||||
//是否歌手
|
||||
public function is_singer(){
|
||||
$uid = $this->uid;
|
||||
$singer = model('api/SingerSong')->singerAuthStatus($uid);
|
||||
if($singer['status'] == 1){
|
||||
$data = [
|
||||
'status' => 1,
|
||||
'level' => $singer['level'],
|
||||
];
|
||||
}else{
|
||||
$data = [
|
||||
'status' => 0,
|
||||
'level' => 0,
|
||||
];
|
||||
}
|
||||
return V(1,'成功', $data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,4 +459,92 @@ class Level extends Model
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
//歌手等级
|
||||
public function get_singer_level($uid){
|
||||
//用户信息
|
||||
$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();
|
||||
// 获取最后等级
|
||||
$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){
|
||||
$level = Db::name('vs_singer_level')
|
||||
->where('deletetime',0)
|
||||
->order('level', 'asc')
|
||||
->limit($level_last-2,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];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user