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

244 lines
8.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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'=>'操作错误!']));
}
}
}