416 lines
15 KiB
PHP
416 lines
15 KiB
PHP
<?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,power_ids,nick_name_color,nick_name_color_name,createtime,updatetime,play_image,enter_image')
|
|
->where('delete_time', 0)
|
|
->order($order, $sort)
|
|
->page($page, $page_limit)
|
|
->select();
|
|
foreach ($lists as &$v) {
|
|
$v['createtime'] = $v['createtime'] ? date('Y-m-d H:i:s', $v['createtime']) : '--';
|
|
$v['updatetime'] = $v['updatetime'] ? date('Y-m-d H:i:s', $v['updatetime']) : '--';
|
|
$power_ids = $v['power_ids'] ? explode(',', $v['power_ids']) : [];
|
|
$v['power_ids_array'] = db::name('vs_nobility_power')
|
|
->field('id,name')
|
|
->where(['id'=>['in',$power_ids]])->select();
|
|
}
|
|
$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', '');
|
|
$nick_name_color_name = input('nick_name_color_name', '');
|
|
$power_ids = input('power_ids', '');
|
|
$play_image = input('play_image', '');
|
|
$enter_image = input('enter_image', '');
|
|
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,
|
|
'play_image' => $play_image,
|
|
'enter_image' => $enter_image,
|
|
'day' => $day,
|
|
'nick_name_color' => $nick_name_color,
|
|
'nick_name_color_name' => $nick_name_color_name,
|
|
'createtime' => time(),
|
|
'power_ids' => $power_ids
|
|
];
|
|
$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', '');
|
|
$nick_name_color_name = input('nick_name_color_name', '');
|
|
$power_ids = input('power_ids', '');
|
|
$play_image = input('play_image', '');
|
|
$enter_image = input('enter_image', '');
|
|
$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;
|
|
}
|
|
if(!empty($nick_name_color_name)){
|
|
$data['nick_name_color_name'] = $nick_name_color_name;
|
|
}
|
|
if(!empty($power_ids)){
|
|
$data['power_ids'] = $power_ids;
|
|
}
|
|
if(!empty($play_image)){
|
|
$data['play_image'] = $play_image;
|
|
}
|
|
if(!empty($enter_image)){
|
|
$data['enter_image'] = $enter_image;
|
|
}
|
|
$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('user')->where('id', $list['user_id'])->value('nickname');
|
|
$list['nick_name_color'] = db::name('vs_nobility')->where('lid', $list['lid'])->value('nick_name_color');
|
|
//头像
|
|
$list['user_avatar'] = db::name('user')->where('id', $list['user_id'])->value('avatar');
|
|
//爵位名称
|
|
$list['nobility_name'] = db::name('vs_nobility')->where('lid', $list['lid'])->value('name');
|
|
$list['createtime'] = $list['createtime'] ? date('Y-m-d H:i:s', $list['createtime']) : '--';
|
|
$list['updatetime'] = $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);
|
|
}
|
|
|
|
//装扮添加
|
|
public function add_nobility_decorate(){
|
|
$lid = input('lid', '');
|
|
$dpid = input('dpid', '');
|
|
if (empty($lid)) {
|
|
return V(0, "请选择爵位");
|
|
}
|
|
if (empty($dpid)) {
|
|
return V(0, "请选择装扮");
|
|
}
|
|
$decorate_price = db::name('vs_decorate_price')->where(['id'=>$dpid])->find();
|
|
if (!$decorate_price) {
|
|
return V(0, "该装扮不存在");
|
|
}
|
|
$decorate = db::name('vs_decorate')->where(['did'=>$decorate_price['did']])->find();
|
|
if (!$decorate) {
|
|
return V(0, "该装扮不存在");
|
|
}
|
|
$nobility_dress_info = db::name('vs_nobility_decorate')
|
|
->where('delete_time', 0)
|
|
->where(['lid'=>$lid, 'dpid'=>$dpid])->find();
|
|
if ($nobility_dress_info) {
|
|
return V(0, "该爵位已添加该装扮");
|
|
}
|
|
$data = [
|
|
'lid' => $lid,
|
|
'did' => $decorate['did'],
|
|
'type' => $decorate['type'],
|
|
'dpid' => $dpid,
|
|
'day' => $decorate_price['day'],
|
|
'createtime' => time(),
|
|
];
|
|
$result = db::name('vs_nobility_decorate')->insert($data);
|
|
if ($result) {
|
|
return V(1, "添加成功");
|
|
} else {
|
|
return V(0, "添加失败");
|
|
}
|
|
}
|
|
//装扮列表
|
|
public function get_nobility_decorate_list(){
|
|
$order = input('order', 'id');
|
|
$sort = input('sort', 'desc');
|
|
$page = input('page', 1);
|
|
$lid = input('lid', '');
|
|
$page_limit = input('page_limit', 30);
|
|
$count = db::name('vs_nobility_decorate')->where('delete_time', 0)->count();
|
|
$lists = db::name('vs_nobility_decorate')
|
|
->field('id,lid,did,type,dpid,day,createtime,updatetime')
|
|
->where('delete_time', 0)
|
|
->where('lid', $lid)
|
|
->order($order, $sort)
|
|
->page($page, $page_limit)
|
|
->select();
|
|
$list = [];
|
|
foreach ($lists as $key =>$value){
|
|
$decorate = db::name('vs_decorate')->where('did', $value['did'])->find();
|
|
$list[$key]['id'] = $value['id'];
|
|
$list[$key]['lid'] = $value['lid'];
|
|
$list[$key]['did'] = $value['did'];
|
|
$list[$key]['dpid'] = $value['dpid'];
|
|
$list[$key]['decorate_name'] = $decorate['title'] ?? '';
|
|
$list[$key]['decorate_day'] = db::name('vs_decorate_price')->where('id', $value['dpid'])->value('day');
|
|
$list[$key]['decorate_type_name'] = model('api/Decorate')->TypeArray[$value['type']] ?? '';
|
|
$list[$key]['decorate_image'] = $decorate['base_image'] ?? '';
|
|
$list[$key]['createtime'] = $value['createtime'] ? date('Y-m-d H:i:s', $value['createtime']) : '--';
|
|
}
|
|
$return_data = [
|
|
'page' =>$page,
|
|
'page_limit' => $page_limit,
|
|
'count' => $count,
|
|
'lists' => $list
|
|
];
|
|
return V(1,"成功", $return_data);
|
|
}
|
|
//装扮删除
|
|
public function del_nobility_decorate(){
|
|
$id = input('id', '');
|
|
$nobility_decorate_info = db::name('vs_nobility_decorate')->where('id', $id)->find();
|
|
if (!$nobility_decorate_info) {
|
|
return V(0, "该爵位装扮不存在");
|
|
}
|
|
$result = db::name('vs_nobility_decorate')->where('id', $id)->update(['delete_time'=>time()]);
|
|
if ($result) {
|
|
return V(1, "删除成功");
|
|
} else {
|
|
return V(0, "删除失败");
|
|
}
|
|
}
|
|
} |