Files
Pro/application/admin/controller/Controller.php
T
2026-02-25 01:50:31 +08:00

244 lines
8.6 KiB
PHP

<?php
namespace app\admin\controller;
use think\Db;
use think\Request;
use think\Session;
class Controller extends Common{
/**
* 操作员列表
*/
public function index()
{
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$nickname = Request::instance()->get('nickname');
$start = Request::instance()->get('start');
$end = Request::instance()->get('end');
$startTime = 0;
$endTime = time();
// 拼装搜索条件
$where = array();
if($nickname) $where['nickname'] = array('like',"%".$nickname."%");
if($start) $startTime = strtotime($start);
if($end) $endTime = strtotime($end);
// 获取所有操作员信息
$user_list = Db::name('user_controller')->where($where)->paginate(10,false,array('query'=>$get));
$user_sum = Db::name('user_controller')->where($where)->count();
foreach($user_list as $k => $v){
$table = Db::name('table')->find($v['table_id']);
$v['table_name'] = $table['table_name'];
if($v['last_login_time'] > 0) $v['last_login_time'] = date('Y-m-d H:i:s',$v['last_login_time']);
if($v['last_login_time'] <= 0) $v['last_login_time'] = '尚未登录';
if(empty($v['last_login_ip'])) $v['last_login_ip'] = '尚未登录';
$user_list[$k] = $v;
}
// 渲染变量和模板
$this->assign('user_list',$user_list);
$this->assign('user_sum',$user_sum);
return $this->fetch();
}
/**
* 添加操作员页面
*/
public function controller_add()
{
// 查询所有桌子信息
$table_list = Db::name('table')->select();
// 渲染参数和模板
$this->assign('table_list',$table_list);
return $this->fetch('/controller/controller-add');
}
/**
* 处理添加操作员
*/
public function do_controller_add()
{
if(Request::instance()->post()){
// 接收提交过来的数据
$username = Request::instance()->post('username');
$nickname = Request::instance()->post('nickname');
$pass = Request::instance()->post('pass');
$repass = Request::instance()->post('repass');
$table = Request::instance()->post('table');
// 数据验证
if( !isset($table) && empty($table) ){
die(json_encode(['code'=>0,'msg'=>'请选择所属桌子!']));
}
if( !isset($username) && empty($username) ){
die(json_encode(['code'=>0,'msg'=>'用户名不能为空!']));
}
if( !isset($nickname) && empty($nickname) ){
die(json_encode(['code'=>0,'msg'=>'昵称不能为空!']));
}
if( !isset($pass) && empty($pass) ){
die(json_encode(['code'=>0,'msg'=>'密码不能为空!']));
}
if( !isset($repass) && empty($repass) ){
die(json_encode(['code'=>0,'msg'=>'确认密码不能为空!']));
}
if( $repass != $pass ){
die(json_encode(['code'=>0,'msg'=>'两次密码不一致!']));
}
// 检测用户名是否已经被注册
$user = Db::name('user_controller')->where('username',$username)->find();
if($user){
die(json_encode(['code'=>0,'msg'=>'账号已存在!']));
}
// 拼装数据
$data = array();
$data['username'] = $username;
$data['nickname'] = $nickname;
$data['password'] = think_ucenter_md5($pass, UC_AUTH_KEY);
$data['table_id'] = $table;
$data['is_delete'] = 0;
$insert_id = Db::name('user_controller')->insertGetId($data);
if($insert_id){
insertAdminLog('添加操作员','添加操作员: | ID: '.$insert_id.' | 账号: '.$username);
die(json_encode(['code'=>1,'msg'=>'添加成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'添加失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 编辑操作员页面
*/
public function controller_edit()
{
// 接收会员ID,查询会员信息
$controller_id = Request::instance()->get('controller_id');
$controller = Db::name('user_controller')->find($controller_id);
// 查询所有桌子信息
$table_list = Db::name('table')->select();
// 渲染参数和模板
$this->assign('table_list',$table_list);
$this->assign('controller',$controller);
return $this->fetch('/controller/controller-edit');
}
/**
* 处理修改操作员信息
*/
public function do_controller_edit()
{
if(Request::instance()->post()){
// 接收传过来的数据
$controller_id = Request::instance()->post('controller_id');
$username = Request::instance()->post('username');
$nickname = Request::instance()->post('nickname');
$pass = Request::instance()->post('pass');
$repass = Request::instance()->post('repass');
$table = Request::instance()->post('table');
//数据验证
if(empty($username)){
die(json_encode(['code'=>0,'msg'=>'会员账号不能为空!']));
}
if(empty($nickname)){
die(json_encode(['code'=>0,'msg'=>'会员昵称不能为空!']));
}
if(!empty($pass) && strlen($pass) < 6){
die(json_encode(['code'=>0,'msg'=>'密码长度不能少于6位!']));
}
if(!empty($pass) && $pass != $repass){
die(json_encode(['code'=>0,'msg'=>'两次密码输入不一致!']));
}
if(empty($table)){
die(json_encode(['code'=>0,'msg'=>'请选择所属桌子!']));
}
// 拼装数据
$data = array();
$data['username'] = $username;
$data['nickname'] = $nickname;
if(!empty($pass)) $data['password'] = think_ucenter_md5($pass, UC_AUTH_KEY);
$data['table_id'] = $table;
// 修改操作员资料
$result = Db::name('user_controller')->where('id',$controller_id)->update($data);
if($result){
insertAdminLog('修改操作员','修改操作员: | ID: '.$controller_id.' | 账号: '.$username);
die(json_encode(['code'=>1,'msg'=>'修改成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'修改失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 删除操作员
*/
public function controller_del()
{
if(Request::instance()->post()){
// 接收数据
$controller_id = Request::instance()->post('controller_id');
// 数据验证
if(!$controller_id){
die(json_encode(['code'=>0,'msg'=>'用户不存在']));
}
// 删除用户
$result = Db::name('user_controller')->where('id',$controller_id)->delete();
if($result){
insertAdminLog('删除操作员','删除操作员: | ID: '.$controller_id);
die(json_encode(['code'=>1,'msg'=>'已删除!']));
}else{
die(json_encode(['code'=>1,'msg'=>'删除失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 删除多个操作员
*/
public function controller_del_more()
{
if(Request::instance()->post()){
// 接收数据
$user_ids = json_decode(Request::instance()->post('user_ids'),true);
// 验证数据
if(empty($user_ids)){
die(json_encode(['code'=>0,'msg'=>'删除用户不能为空!']));
}else{
// 遍历删除多个会员
foreach($user_ids as $v){
insertAdminLog('删除操作员','删除操作员: | ID: '.$v);
Db::name('user_controller')->where('id',$v)->delete();
}
die(json_encode(['code'=>1,'msg'=>'已删除!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
}