爵位接口提交-后台-昵称颜色名称字段添加

This commit is contained in:
2025-11-07 15:58:30 +08:00
parent ee0469aa3f
commit 048771fbf0
2 changed files with 32 additions and 43 deletions

View File

@@ -23,9 +23,8 @@ class Nobility extends BaseCom
//爵位详情 //爵位详情
public function get_nobility_detail(){ public function get_nobility_detail(){
$id = input('id');
$uid = $this->uid; $uid = $this->uid;
$reslut = model('Nobility')->getNobilityInfo($uid,$id); $reslut = model('Nobility')->getNobilityInfo($uid);
return V($reslut['code'],$reslut['msg'], $reslut['data']); return V($reslut['code'],$reslut['msg'], $reslut['data']);
} }

View File

@@ -52,12 +52,7 @@ class Nobility extends Model
} }
//爵位详情 //爵位详情
public static function getNobilityInfo($user_id,$lid){ public static function getNobilityInfo($user_id){
$nobility_info = db::name('vs_nobility')
->field('lid,name,image,images,pay_price,renew_price,pay_coin,renew_coin,day,power_ids')
->where('delete_time', 0)
->where('lid', $lid)
->find();
$user_info = db::name('user') $user_info = db::name('user')
->field('id,nickname,avatar') ->field('id,nickname,avatar')
->where('delete_time', 0) ->where('delete_time', 0)
@@ -66,23 +61,26 @@ class Nobility extends Model
$user_nobility_info = db::name('vs_user_nobility') $user_nobility_info = db::name('vs_user_nobility')
->field('id,user_id,lid,end_time') ->field('id,user_id,lid,end_time')
->where('delete_time', 0) ->where('delete_time', 0)
->where(['end_time'=>['>',time()]])
->where('user_id', $user_id) ->where('user_id', $user_id)
->find(); ->find();
$return = []; $return = [];
$return['user_info'] = $user_info; $return['user_info'] = $user_info; //用户信息
$return['nobility_info']['name'] = $nobility_info['name']; $return['nobility_info'] = []; //爵位信息
$return['nobility_info']['image'] = $nobility_info['image'];
if ($user_nobility_info) {
if($user_nobility_info['lid'] == $lid){
$return['nobility_info']['status'] = 1; //去续费
}else{
$return['nobility_info']['status'] = 2; //去升级
}
}else{
$return['nobility_info']['status'] = 0; //去开通 $return['nobility_info']['status'] = 0; //去开通
if($user_nobility_info){
$nobility_info = db::name('vs_nobility')
->field('lid,name,image,images,pay_price,renew_price,pay_coin,renew_coin,day,power_ids')
->where('delete_time', 0)
->where('lid', $user_nobility_info['lid'])
->find();
$return['nobility_info']['status'] = 1; //去续费
} }
$return['nobility_info']['end_time'] = $user_nobility_info['end_time']??0; $return['nobility_info']['lid'] = $nobility_info['lid'] ?? 0;
$return['nobility_info']['name'] = $nobility_info['name'] ?? '';
$return['nobility_info']['image'] = $nobility_info['image'] ?? '';
$return['nobility_info']['end_time'] = $user_nobility_info['end_time'] ?? 0;
$return['nobility_power_list'] = []; $return['nobility_power_list'] = [];
//爵位列表 //爵位列表
$nobility_list = db::name('vs_nobility') $nobility_list = db::name('vs_nobility')
@@ -94,33 +92,23 @@ class Nobility extends Model
->field('id,name,image') ->field('id,name,image')
->where('delete_time', 0) ->where('delete_time', 0)
->select(); ->select();
$power_list_zw = [ $nobility_list_zw = [
'id' => 0, 'lid' => 0,
'name' => '特权', 'name' => '特权',
'image' => '', 'power_ids' => '',
'nick_name_color' => '无',
'nick_name_color_name' => '无',
]; ];
array_unshift($power_list, $power_list_zw); array_unshift($nobility_list, $nobility_list_zw);
foreach ($power_list as $key => $value) { foreach ($nobility_list as $key => &$value) {
$return['nobility_power_list'][$key] = $value; $return['nobility_power_list'][$key] = $value;
foreach ($nobility_list as $k => $v) { $power_ids = explode(',', $value['power_ids']);
$power_ids = explode(',', $v['power_ids']); foreach ($power_list as $k => $v) {
unset($v['power_ids']); if (in_array($v['id'], $power_ids)) {
if (in_array($value['id'], $power_ids)) {
$v['status'] = 1; //是 $v['status'] = 1; //是
}else{ }else{
$v['status'] = 0; //否 $v['status'] = 0; //否
} }
//类型1 是状态 2是文字
if($value['id']==2){
$v['type'] = 2;
$v['value'] = $v['nick_name_color'] ?? '';
$v['color_name'] = $v['nick_name_color_name'] ?? '';
}else{
$v['type'] = 1;
$v['value'] = '';
}
unset($v['nick_name_color']);
unset($v['nick_name_color_name']);
$return['nobility_power_list'][$key]['nobility_list'][$k] = $v; $return['nobility_power_list'][$key]['nobility_list'][$k] = $v;
} }
} }
@@ -259,6 +247,7 @@ class Nobility extends Model
$user_nobility_info = db::name('vs_user_nobility') $user_nobility_info = db::name('vs_user_nobility')
->field('id,user_id,lid,end_time') ->field('id,user_id,lid,end_time')
->where('delete_time', 0) ->where('delete_time', 0)
->where(['end_time'=>['>',time()]])
->where('user_id', $user_id) ->where('user_id', $user_id)
->find(); ->find();
$price = 0; $price = 0;
@@ -275,11 +264,12 @@ class Nobility extends Model
//剩余时间 //剩余时间
$surplus_time = $old_end_time - time(); $surplus_time = $old_end_time - time();
if($surplus_time > 0){ if($surplus_time > 0){
$price = $nobility_info['pay_price'] - $surplus_time * $nobility_info['pay_price'] / ($nobility_info['day'] * 86400); //小时
$surplus_time_hour = floor($surplus_time / 3600); //向下取整
$price = $nobility_info['pay_price'] - $surplus_time_hour * (($nobility_info['pay_price'] / $nobility_info['day']) / 24); //一小时的价格算
}else{ }else{
$price = $nobility_info['pay_price']; $price = $nobility_info['pay_price'];
} }
} }
}else{ //未购买 新购 }else{ //未购买 新购
$price = $nobility_info['pay_price']; $price = $nobility_info['pay_price'];