Files

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, "删除失败");
}
}
}