爵位接口提交
This commit is contained in:
298
application/adminapi/controller/Nobility.php
Normal file
298
application/adminapi/controller/Nobility.php
Normal file
@@ -0,0 +1,298 @@
|
||||
<?php
|
||||
|
||||
namespace app\adminapi\controller;
|
||||
|
||||
use app\admin\model\AdminLog;
|
||||
use app\common\controller\adminApi;
|
||||
use think\Config;
|
||||
use think\Db;
|
||||
use think\Hook;
|
||||
use think\Session;
|
||||
use think\Validate;
|
||||
|
||||
/**
|
||||
* 等级管理
|
||||
* @internal
|
||||
*/
|
||||
class Nobility extends adminApi
|
||||
{
|
||||
|
||||
protected $noNeedLogin = [];
|
||||
protected $noNeedRight = [];
|
||||
|
||||
public function _initialize()
|
||||
{
|
||||
parent::_initialize();
|
||||
}
|
||||
|
||||
//获取爵位列表
|
||||
public function get_nobility_list()
|
||||
{
|
||||
$order = input('order', 'lid');
|
||||
$sort = input('sort', 'desc');
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$count = db::name('vs_nobility')->where('delete_time', 0)->count();
|
||||
$lists = db::name('vs_nobility')
|
||||
->field('lid,name,image,images,pay_price,pay_price,renew_price,pay_coin,renew_coin,day')
|
||||
->where('delete_time', 0)
|
||||
->order($order, $sort)
|
||||
->page($page, $page_limit)
|
||||
->select();
|
||||
foreach ($lists as &$v) {
|
||||
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
|
||||
$v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']);
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
//添加爵位
|
||||
public function add_nobility(){
|
||||
$name = input('name', '');
|
||||
$image = input('image', '');
|
||||
$images = input('images', '');
|
||||
$pay_price = input('pay_price', '');
|
||||
$pay_coin = input('pay_coin', '');
|
||||
$renew_price = input('renew_price', '');
|
||||
$renew_coin = input('renew_coin', '');
|
||||
$day = input('day', '');
|
||||
$nick_name_color = input('nick_name_color', '');
|
||||
if (empty($name)) {
|
||||
return V(0, "请输入爵位名称");
|
||||
}
|
||||
$nobility_info = db::name('vs_nobility')->where('name', $name)->find();
|
||||
if ($nobility_info) {
|
||||
return V(0, "该爵位已存在");
|
||||
}
|
||||
$data = [
|
||||
'name' => $name,
|
||||
'image' => $image,
|
||||
'images' => $images,
|
||||
'pay_price' => $pay_price,
|
||||
'pay_coin' => $pay_coin,
|
||||
'renew_price' => $renew_price,
|
||||
'renew_coin' => $renew_coin,
|
||||
'day' => $day,
|
||||
'nick_name_color' => $nick_name_color,
|
||||
'create_time' => time(),
|
||||
];
|
||||
$result = db::name('vs_nobility')->insert($data);
|
||||
if ($result) {
|
||||
return V(1, "添加成功");
|
||||
} else {
|
||||
return V(0, "添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
//编辑爵位
|
||||
public function edit_nobility(){
|
||||
$name = input('name', '');
|
||||
$image = input('image', '');
|
||||
$images = input('images', '');
|
||||
$pay_price = input('pay_price', '');
|
||||
$pay_coin = input('pay_coin', '');
|
||||
$renew_price = input('renew_price', '');
|
||||
$renew_coin = input('renew_coin', '');
|
||||
$day = input('day', '');
|
||||
$nick_name_color = input('nick_name_color', '');
|
||||
$lid = input('lid', '');
|
||||
$nobility_info = db::name('vs_nobility')->where('lid', $lid)->find();
|
||||
if (!$nobility_info) {
|
||||
return V(0, "该爵位不存在");
|
||||
}
|
||||
$data = [];
|
||||
if(!empty($name)){
|
||||
$nobility_info_other = db::name('vs_nobility')->where(['lid'=>['neq', $lid], 'name'=>$name])->find();
|
||||
if ($nobility_info_other) {
|
||||
return V(0, "该爵位已存在");
|
||||
}
|
||||
$data['name'] = $name;
|
||||
}
|
||||
if(!empty($image)){
|
||||
$data['image'] = $image;
|
||||
}
|
||||
if(!empty($images)){
|
||||
$data['images'] = $images;
|
||||
}
|
||||
if(!empty($pay_price)){
|
||||
$data['pay_price'] = $pay_price;
|
||||
}
|
||||
if(!empty($pay_coin)){
|
||||
$data['pay_coin'] = $pay_coin;
|
||||
}
|
||||
if(!empty($renew_price)){
|
||||
$data['renew_price'] = $renew_price;
|
||||
}
|
||||
if(!empty($renew_coin)){
|
||||
$data['renew_coin'] = $renew_coin;
|
||||
}
|
||||
if(!empty($day)){
|
||||
$data['day'] = $day;
|
||||
}
|
||||
if(!empty($nick_name_color)){
|
||||
$data['nick_name_color'] = $nick_name_color;
|
||||
}
|
||||
$data['updatetime'] = time();
|
||||
$result = db::name('vs_nobility')->where('lid', $lid)->update($data);
|
||||
if ($result) {
|
||||
return V(1, "编辑成功");
|
||||
} else {
|
||||
return V(0, "编辑失败");
|
||||
}
|
||||
}
|
||||
|
||||
//删除爵位
|
||||
public function del_nobility(){
|
||||
$lid = input('lid', '');
|
||||
$nobility_info = db::name('vs_nobility')->where('lid', $lid)->find();
|
||||
if (!$nobility_info) {
|
||||
return V(0, "该爵位不存在");
|
||||
}
|
||||
$result = db::name('vs_nobility')->where('lid', $lid)->update(['delete_time'=>time()]);
|
||||
if ($result) {
|
||||
return V(1, "删除成功");
|
||||
} else {
|
||||
return V(0, "删除失败");
|
||||
}
|
||||
}
|
||||
|
||||
//爵位权限列表
|
||||
public function get_nobility_power_list(){
|
||||
$order = input('order', 'id');
|
||||
$sort = input('sort', 'desc');
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$count = db::name('vs_nobility_power')->where('delete_time', 0)->count();
|
||||
$lists = db::name('vs_nobility_power')
|
||||
->field('id,name,content,image,images,createtime,updatetime')
|
||||
->where('delete_time', 0)
|
||||
->order($order, $sort)
|
||||
->page($page, $page_limit)
|
||||
->select();
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
//添加爵位权限
|
||||
public function add_nobility_power(){
|
||||
$name = input('name', '');
|
||||
$content = input('content', '');
|
||||
$image = input('image', '');
|
||||
$images = input('images', '');
|
||||
if (empty($name)) {
|
||||
return V(0, "请输入爵位权限名称");
|
||||
}
|
||||
$nobility_power_info = db::name('vs_nobility_power')->where('name', $name)->find();
|
||||
if ($nobility_power_info) {
|
||||
return V(0, "该爵位权限已存在");
|
||||
}
|
||||
$data = [
|
||||
'name' => $name,
|
||||
'content' => $content,
|
||||
'image' => $image,
|
||||
'images' => $images,
|
||||
'createtime' => time(),
|
||||
];
|
||||
$result = db::name('vs_nobility_power')->insert($data);
|
||||
if ($result) {
|
||||
return V(1, "添加成功");
|
||||
} else {
|
||||
return V(0, "添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
//编辑爵位权限
|
||||
public function edit_nobility_power(){
|
||||
$name = input('name', '');
|
||||
$content = input('content', '');
|
||||
$image = input('image', '');
|
||||
$images = input('images', '');
|
||||
$id = input('id', '');
|
||||
$nobility_power_info = db::name('vs_nobility_power')->where('id', $id)->find();
|
||||
if (!$nobility_power_info) {
|
||||
return V(0, "该爵位权限不存在");
|
||||
}
|
||||
$data = [];
|
||||
if(!empty($name)){
|
||||
$nobility_power_info_other = db::name('vs_nobility_power')->where(['id'=>['neq', $id], 'name'=>$name])->find();
|
||||
if ($nobility_power_info_other) {
|
||||
return V(0, "该爵位权限已存在");
|
||||
}
|
||||
$data['name'] = $name;
|
||||
}
|
||||
if(!empty($content)){
|
||||
$data['content'] = $content;
|
||||
}
|
||||
if(!empty($image)){
|
||||
$data['image'] = $image;
|
||||
}
|
||||
if(!empty($images)){
|
||||
$data['images'] = $images;
|
||||
}
|
||||
$data['updatetime'] = time();
|
||||
$result = db::name('vs_nobility_power')->where('id', $id)->update($data);
|
||||
if ($result) {
|
||||
return V(1, "编辑成功");
|
||||
} else {
|
||||
return V(0, "编辑失败");
|
||||
}
|
||||
}
|
||||
|
||||
//删除爵位权限
|
||||
public function del_nobility_power(){
|
||||
$id = input('id', '');
|
||||
$nobility_power_info = db::name('vs_nobility_power')->where('id', $id)->find();
|
||||
if (!$nobility_power_info) {
|
||||
return V(0, "该爵位权限不存在");
|
||||
}
|
||||
$result = db::name('vs_nobility_power')->where('id', $id)->update(['delete_time'=>time()]);
|
||||
if ($result) {
|
||||
return V(1, "删除成功");
|
||||
} else {
|
||||
return V(0, "删除失败");
|
||||
}
|
||||
}
|
||||
|
||||
//用户爵位列表
|
||||
public function get_user_nobility_list(){
|
||||
$order = input('order', 'id');
|
||||
$sort = input('sort', 'desc');
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$count = db::name('vs_user_nobility')->where('delete_time', 0)->count();
|
||||
$lists = db::name('vs_user_nobility')
|
||||
->field('id,user_id,lid,end_time,createtime,updatetime')
|
||||
->where('delete_time', 0)
|
||||
->order($order, $sort)
|
||||
->page($page, $page_limit)
|
||||
->select();
|
||||
foreach ($lists as &$list){
|
||||
$list['user_nick_name'] = db::name('vs_user')->where('id', $list['user_id'])->value('nick_name');
|
||||
$list['nick_name_color'] = db::name('vs_nobility')->where('lid', $list['lid'])->value('nick_name_color');
|
||||
//头像
|
||||
$list['user_avatar'] = db::name('vs_user')->where('id', $list['user_id'])->value('avatar');
|
||||
//爵位名称
|
||||
$list['nobility_name'] = db::name('vs_nobility')->where('lid', $list['lid'])->value('name');
|
||||
$list['createtime'] = date('Y-m-d H:i:s', $list['createtime']);
|
||||
$list['updatetime'] = date('Y-m-d H:i:s', $list['updatetime']);
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
}
|
||||
31
application/api/controller/Nobility.php
Normal file
31
application/api/controller/Nobility.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\common\controller\BaseCom;
|
||||
use think\Controller;
|
||||
use think\Db;
|
||||
|
||||
class Nobility extends BaseCom
|
||||
{
|
||||
//初始化
|
||||
protected function initialize()
|
||||
{
|
||||
//允许跨域
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
}
|
||||
//爵位列表
|
||||
public function get_nobility_list(){
|
||||
$uid = $this->uid;
|
||||
$reslut = model('Nobility')->getNobilityList($uid);
|
||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
//爵位详情
|
||||
public function get_nobility_detail(){
|
||||
$id = input('id');
|
||||
$uid = $this->uid;
|
||||
$reslut = model('Nobility')->getNobilityInfo($uid,$id);
|
||||
return V($reslut['code'],$reslut['msg'], $reslut['data']);
|
||||
}
|
||||
}
|
||||
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