爵位接口提交
This commit is contained in:
112
application/api/model/Nobility.php
Normal file
112
application/api/model/Nobility.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\model;
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
use think\Session;
|
||||
|
||||
class Nobility extends Model
|
||||
{
|
||||
|
||||
// 开启自动写入时间戳字段
|
||||
protected $autoWriteTimestamp = 'int';
|
||||
// 定义时间戳字段名
|
||||
protected $createTime = 'createtime';
|
||||
protected $updateTime = 'updatetime';
|
||||
|
||||
public static function init()
|
||||
{
|
||||
self::beforeWrite(function ($row) {
|
||||
});
|
||||
}
|
||||
|
||||
//爵位列表
|
||||
public static function getNobilityList($user_id){
|
||||
//爵位列表
|
||||
$nobility_list = db::name('vs_nobility')
|
||||
->field('lid,name,image,images,pay_price,renew_price,pay_coin,renew_coin,day,power_ids')
|
||||
->where('delete_time', 0)
|
||||
->select();
|
||||
//爵位特权
|
||||
$power_count = db::name('vs_nobility_power')
|
||||
->field('id,name,image')
|
||||
->where('delete_time', 0)
|
||||
->count();
|
||||
$return = [];
|
||||
foreach ($nobility_list as $key => $value) {
|
||||
$power_ids = explode(',', $value['power_ids']);
|
||||
$return[$key]['name'] = $value['name'];
|
||||
$return[$key]['image'] = $value['image'];
|
||||
$return[$key]['pay_price'] = $value['pay_price'];
|
||||
$power_list = db::name('vs_nobility_power')
|
||||
->field('id,name,image')
|
||||
->whereIn('id', $power_ids)
|
||||
->where('delete_time', 0)
|
||||
->select();
|
||||
$return[$key]['power']['power_count'] = $power_count;
|
||||
$return[$key]['power']['this_power_count'] = count($power_list);
|
||||
$return[$key]['power']['count_str'] = $power_count."/".count($power_list);
|
||||
$return[$key]['power']['list'] = $power_list;
|
||||
}
|
||||
return ['code' => 1, 'msg' => '成功', 'data' => $return];
|
||||
}
|
||||
|
||||
//爵位详情
|
||||
public static function getNobilityInfo($user_id,$lid){
|
||||
$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')
|
||||
->field('id,nickname,avatar')
|
||||
->where('delete_time', 0)
|
||||
->where('id', $user_id)
|
||||
->find();
|
||||
$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();
|
||||
$return = [];
|
||||
$return['user_info'] = $user_info;
|
||||
$return['nobility_info']['name'] = $nobility_info['name'];
|
||||
$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']['end_time'] = $user_nobility_info['end_time']??0;
|
||||
$return['nobility_power_list'] = [];
|
||||
//爵位列表
|
||||
$nobility_list = db::name('vs_nobility')
|
||||
->field('lid,name,power_ids')
|
||||
->where('delete_time', 0)
|
||||
->select();
|
||||
//权限列表
|
||||
$power_list = db::name('vs_nobility_power')
|
||||
->field('id,name,image')
|
||||
->where('delete_time', 0)
|
||||
->select();
|
||||
foreach ($power_list as $key => $value) {
|
||||
$return['nobility_power_list'][$key] = $value;
|
||||
foreach ($nobility_list as $k => $v) {
|
||||
$power_ids = explode(',', $v['power_ids']);
|
||||
unset($v['power_ids']);
|
||||
if (in_array($value['id'], $power_ids)) {
|
||||
$v['status'] = 1; //是
|
||||
}else{
|
||||
$v['status'] = 0; //否
|
||||
}
|
||||
$return['nobility_power_list'][$key]['nobility_list'][$k] = $v;
|
||||
}
|
||||
}
|
||||
return ['code' => 1, 'msg' => '成功', 'data' => $return];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user