爵位接口提交-爵位价格-获取用户爵位信息
This commit is contained in:
@@ -28,4 +28,12 @@ class Nobility extends BaseCom
|
|||||||
$reslut = model('Nobility')->getNobilityInfo($uid,$id);
|
$reslut = model('Nobility')->getNobilityInfo($uid,$id);
|
||||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//爵位购买价格
|
||||||
|
public function get_nobility_price(){
|
||||||
|
$id = input('id');
|
||||||
|
$uid = $this->uid;
|
||||||
|
$reslut = model('Nobility')->buyNobilityPrice($uid,$id);
|
||||||
|
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,4 +197,101 @@ class Nobility extends Model
|
|||||||
db::name('vs_user_nobility_log')->insert($log_data);
|
db::name('vs_user_nobility_log')->insert($log_data);
|
||||||
return ['code' => 1, 'msg' => '成功'];
|
return ['code' => 1, 'msg' => '成功'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//购买爵位价格
|
||||||
|
public static function buyNobilityPrice($user_id,$lid){
|
||||||
|
$nobility_info = db::name('vs_nobility')
|
||||||
|
->field('lid,name,image,pay_price,renew_price,day,power_ids')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('lid', $lid)
|
||||||
|
->find();
|
||||||
|
if (!$nobility_info) {
|
||||||
|
return ['code' => 0, 'msg' => '爵位不存在'];
|
||||||
|
}
|
||||||
|
$user_info = db::name('user')
|
||||||
|
->field('id,nickname,avatar')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('id', $user_id)
|
||||||
|
->find();
|
||||||
|
if (!$user_info) {
|
||||||
|
return ['code' => 0, 'msg' => '用户不存在'];
|
||||||
|
}
|
||||||
|
$user_nobility_info = db::name('vs_user_nobility')
|
||||||
|
->field('id,user_id,lid,end_time')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('user_id', $user_id)
|
||||||
|
->find();
|
||||||
|
$price = 0;
|
||||||
|
if ($user_nobility_info) { //已购买过 续费
|
||||||
|
if($user_nobility_info['lid'] == $lid){ //续费
|
||||||
|
$price = $nobility_info['renew_price'];
|
||||||
|
}else{ //升级
|
||||||
|
$old_nobility_info = db::name('vs_nobility')
|
||||||
|
->field('lid,name,pay_price,pay_coin')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('lid', $user_nobility_info['lid'])
|
||||||
|
->find();
|
||||||
|
$old_end_time = $user_nobility_info['end_time'];
|
||||||
|
//剩余时间
|
||||||
|
$surplus_time = $old_end_time - time();
|
||||||
|
if($surplus_time > 0){
|
||||||
|
$price = $nobility_info['pay_price'] - $surplus_time * $nobility_info['pay_price'] / ($nobility_info['day'] * 86400);
|
||||||
|
}else{
|
||||||
|
$price = $nobility_info['pay_price'];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}else{ //未购买 新购
|
||||||
|
$price = $nobility_info['pay_price'];
|
||||||
|
}
|
||||||
|
$power_ids = explode(',', $nobility_info['power_ids']);
|
||||||
|
$power_list = db::name('vs_nobility_power')
|
||||||
|
->field('id,content')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('id', 'in', $power_ids)
|
||||||
|
->select();
|
||||||
|
$return = [
|
||||||
|
'lid' => $nobility_info['lid'],
|
||||||
|
'nobility_name' => $nobility_info['name'],
|
||||||
|
'nobility_image' => $nobility_info['image'],
|
||||||
|
'price' => $price,
|
||||||
|
'day' => $nobility_info['day'],
|
||||||
|
'power_list' => $power_list,
|
||||||
|
];
|
||||||
|
return ['code' => 1, 'msg' => '成功', 'data' => $return];
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取用户爵位信息
|
||||||
|
public static function getUserNobilityInfo($user_id){
|
||||||
|
$user_nobility_info = db::name('vs_user_nobility')
|
||||||
|
->field('id,user_id,lid,end_time')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('user_id', $user_id)
|
||||||
|
->find();
|
||||||
|
if($user_nobility_info){
|
||||||
|
$nobility_info = db::name('vs_nobility')
|
||||||
|
->field('lid,name,image,pay_price,renew_price,day,power_ids')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('lid', $user_nobility_info['lid'])
|
||||||
|
->find();
|
||||||
|
//权限
|
||||||
|
$power_ids = [];
|
||||||
|
if($nobility_info){
|
||||||
|
$power_ids = explode(',', $nobility_info['power_ids']);
|
||||||
|
}
|
||||||
|
$power_list = db::name('vs_nobility_power')
|
||||||
|
->field('id,name,content')
|
||||||
|
->where('delete_time', 0)
|
||||||
|
->where('id', 'in', $power_ids)
|
||||||
|
->select();
|
||||||
|
}
|
||||||
|
$return = [
|
||||||
|
'lid' => $user_nobility_info['lid'] ?? 0,
|
||||||
|
'nobility_name' => $nobility_info['name'] ?? '',
|
||||||
|
'nobility_image' => $nobility_info['image'] ?? '',
|
||||||
|
'end_time' => $user_nobility_info['end_time'] ?? 0,
|
||||||
|
'power_list' => $power_list ?? [],
|
||||||
|
];
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user