You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
896 lines
35 KiB
896 lines
35 KiB
<?php
|
|
|
|
namespace app\index\controller;
|
|
|
|
use think\Controller;
|
|
use think\Db;
|
|
use think\Request;
|
|
|
|
class Administrator extends Base
|
|
{
|
|
|
|
public function _initialize()
|
|
{
|
|
// parent::_initialize(); // TODO: Change the autogenerated stub
|
|
if (!session('root')) {
|
|
$this->error('亲,您还没有登录呢!', '/');
|
|
}
|
|
}
|
|
|
|
public function quit()
|
|
{
|
|
session(null);
|
|
$this->redirect('/');
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
////////////////////////////////////////
|
|
////////////////////////////////////////
|
|
/////////以下为页面跳转函数/////////////
|
|
////////////////////////////////////////
|
|
|
|
|
|
//主页
|
|
public function index()
|
|
{
|
|
$name = $value = session('name');
|
|
$device = Db::table('bs_device_map')->select();
|
|
$this->assign('name', $name);
|
|
$this->assign('dev', $device);
|
|
// dump($device);
|
|
return $this->fetch();
|
|
}
|
|
|
|
//统计页面
|
|
public function statistics()
|
|
{
|
|
return $this->fetch();
|
|
}
|
|
|
|
//我的桌面
|
|
public function welcome()
|
|
{
|
|
$data = $value = session('name');
|
|
$this->assign('data', $data);
|
|
return $this->fetch();
|
|
}
|
|
|
|
//管理员列表
|
|
public function admin_list()
|
|
{
|
|
return $this->fetch();
|
|
}
|
|
|
|
//用户列表
|
|
public function user_list()
|
|
{
|
|
return $this->fetch();
|
|
}
|
|
|
|
//设备总览
|
|
public function device()
|
|
{
|
|
$device = Db::table('bs_device_map')->select();
|
|
|
|
for ($i = 0; $i < count($device); $i++) {
|
|
$device[$i]['all'] = Db::table('bs_device_serial' )->where('type',$device[$i]['function']) ->count();
|
|
$device[$i]['error'] = Db::table('bs_device_' . $device[$i]['function'])->where('status', 0)->count();
|
|
}
|
|
$this->assign('dev', $device);
|
|
return $this->fetch();
|
|
}
|
|
|
|
// 列表中所有设备共用模板函数
|
|
public function device_list()
|
|
{
|
|
$request = Request::instance();
|
|
$device = $request->get();
|
|
// dump($device);
|
|
$this->assign('dev', $device);
|
|
return $this->fetch();
|
|
}
|
|
|
|
// 日志记录
|
|
public function log()
|
|
{
|
|
return $this->fetch();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////
|
|
////////////////////////////////////////
|
|
////////////////////////////////////////
|
|
//////////以下为功能函数////////////////
|
|
////////////////////////////////////////
|
|
|
|
//将所有固定表中的ID重新排序
|
|
public function resort()
|
|
{
|
|
// 重新排序bs_people表
|
|
Db::execute("ALTER TABLE bs_people DROP id;");
|
|
Db::execute("alter table bs_people add id int(11) not null auto_increment primary key first;");
|
|
// 重新排序bs_user表
|
|
Db::execute("ALTER TABLE bs_user DROP id;");
|
|
Db::execute("alter table bs_user add id int(11) not null auto_increment primary key first;");
|
|
// 重新排序bs_administrator表
|
|
Db::execute("ALTER TABLE bs_administrator DROP id;");
|
|
Db::execute("alter table bs_administrator add id int(11) not null auto_increment primary key first;");
|
|
// 重新排序bs_device_map表
|
|
Db::execute("ALTER TABLE bs_device_map DROP id;");
|
|
Db::execute("alter table bs_device_map add id int(11) not null auto_increment primary key first;");
|
|
// 重新排序bs_device_serial表
|
|
Db::execute("ALTER TABLE bs_device_serial DROP id;");
|
|
Db::execute("alter table bs_device_serial add id int(11) not null auto_increment primary key first;");
|
|
|
|
}
|
|
|
|
//停用、恢复 管理员
|
|
public function banAdmin(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
$flag1 = false;
|
|
$flag2 = false;
|
|
if ($receive['type'] == 'true') {
|
|
$flag1 = Db::table('bs_administrator')->where('account', $receive['account'])->update(['status' => 1]);
|
|
} else {
|
|
$flag2 = Db::table('bs_administrator')->where('account', $receive['account'])->update(['status' => 0]);
|
|
}
|
|
if ($flag1 || $flag2) {
|
|
if ($flag1) {
|
|
$this->logInsert('停用管理员:' . $receive['account']);
|
|
};
|
|
if ($flag2) {
|
|
$this->logInsert('恢复管理员:' . $receive['account']);
|
|
}
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据发生错误,请联系后台管理员';
|
|
}
|
|
}
|
|
|
|
// 禁用用户
|
|
public function banUser(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
$flag1 = false;
|
|
$flag2 = false;
|
|
if ($receive['type'] == 'true') {
|
|
$flag1 = Db::table('bs_user')->where('uid', $receive['uid'])->update(['status' => 1]);
|
|
} else {
|
|
$flag2 = Db::table('bs_user')->where('uid', $receive['uid'])->update(['status' => 0]);
|
|
}
|
|
if ($flag1 || $flag2) {
|
|
if ($flag1) {
|
|
$this->logInsert('冻结用户:' . $receive['uid']);
|
|
};
|
|
if ($flag2) {
|
|
$this->logInsert('恢复用户:' . $receive['uid']);
|
|
}
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据传输错误,请联系后台管理员';
|
|
}
|
|
}
|
|
|
|
// 禁用设备ID对应的设备
|
|
public function banDev(Request $request)
|
|
{
|
|
$data = $request->post();
|
|
$flag1 = false;
|
|
$flag2 = false;
|
|
//根据设备名获得对应的标识符
|
|
$deviceName = (Db::table('bs_device_map')->where('chinese', $data['deviceName'])->find())['function'];
|
|
//在对应的数据库表中将该设备ID的状态更新
|
|
if ($data['type'] == 'true') {
|
|
$flag1 = Db::table('bs_device_' . $deviceName)->where('serial_num', $data['serial_num'])->update(['status' => 1]);
|
|
} else {
|
|
$flag2 = Db::table('bs_device_' . $deviceName)->where('serial_num', $data['serial_num'])->update(['status' => 0]);
|
|
}
|
|
if ($flag1 || $flag2) {
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据传输错误,请联系后台管理员';
|
|
}
|
|
}
|
|
|
|
//单个删除管理员
|
|
public function delAdmin(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
// 从总账户表中删除该管理员
|
|
$flag1 = Db::table('bs_administrator')->where('account', $receive['account'])->delete();
|
|
// 从管理员表中删除该管理员
|
|
$flag2 = Db::table('bs_people')->where('name', $receive['account'])->delete();
|
|
$this->resort();
|
|
if ($flag1 && $flag2) {
|
|
$this->logInsert('删除管理员:' . $receive['account']);
|
|
return 'ok';
|
|
} else {
|
|
if (!$flag1) {
|
|
return 'ERROR1';
|
|
};
|
|
if (!$flag2) {
|
|
return 'ERROR2';
|
|
}
|
|
}
|
|
}
|
|
|
|
//单个删除用户
|
|
public function delUser(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
// 在用户表中删除该用户
|
|
$flag1 = Db::table('bs_user')->where('uid', $receive['uid'])->delete();
|
|
// 在用户设备统计表中删除该用户
|
|
$flag2 = Db::table('bs_device')->where('uid', $receive['uid'])->delete();
|
|
// 在总账户表中删除该用户
|
|
$flag3 = Db::table('bs_people')->where('name', $receive['uid'])->delete();
|
|
// 判断接收到的指令是否要删除该用户与设备的绑定信息,如果是则遍历每个设备绑定信息表删除
|
|
if ($receive['more']) {
|
|
$deviceName = Db::table('bs_device_map')->field('function')->select();
|
|
for ($i = 0; $i < count($deviceName); $i++) {
|
|
$devArr[] = $deviceName[$i]['function'];
|
|
};
|
|
for ($i = 0; $i < count($devArr); $i++) {
|
|
Db::table('bs_device_' . $devArr[$i])->where('uid', $receive['uid'])->delete();
|
|
}
|
|
|
|
}
|
|
$this->resort();
|
|
if ($flag1 && $flag2 && $flag3) {
|
|
if ($receive['more']) {
|
|
$this->logInsert('删除用户:' . $receive['uid'] . ' 并解除与之绑定的所有设备');
|
|
} else {
|
|
$this->logInsert('删除用户:' . $receive['uid']);
|
|
};
|
|
return 'ok';
|
|
} else {
|
|
if (!$flag1) {
|
|
return 'ERROR1';
|
|
};
|
|
if (!$flag2) {
|
|
return 'ERROR2';
|
|
};
|
|
if (!$flag3) {
|
|
return 'ERROR3';
|
|
};
|
|
}
|
|
|
|
}
|
|
|
|
//单个删除设备ID绑定信息
|
|
public function delDev(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
//获得该设备名所对应的设备标识符名称
|
|
$deviceName = (Db::table('bs_device_map')->where('chinese', $receive['deviceName'])->field('function')->find())['function'];
|
|
//获得该设备ID对应的用户名
|
|
$uid = (Db::table('bs_device_' . $deviceName)->where('serial_num', $receive['serial_num'])->find())['uid'];
|
|
//去对应的设备列表中按照序列号删除设备
|
|
$flag = Db::table('bs_device_' . $deviceName)->where('serial_num', $receive['serial_num'])->delete();
|
|
//更新用户设备表中该用户拥有该设备的数量
|
|
$num = Db::table('bs_device_' . $deviceName)->where('uid', $uid)->count();
|
|
Db::table('bs_device')->where('uid', $uid)->update([$deviceName => $num]);
|
|
if ($flag) {
|
|
$this->logInsert('在' . $receive['deviceName'] . '类型设备中删除设备ID:' . $receive['serial_num'] . ' 与用户:' . $uid . '的绑定信息');
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据异常,请联系后台管理员';
|
|
}
|
|
|
|
}
|
|
|
|
//单个删除设备ID
|
|
public function delDevID(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
|
|
//判断该设备是否已绑定
|
|
if ($receive['flag'] == 'true') {
|
|
//获得该设备ID所对应的设备标识符名称
|
|
$deviceName = (Db::table('bs_device_serial')->where('serial_num', $receive['serial_num'])->find())['type'];
|
|
//获得该设备ID对应的用户名
|
|
$uid = (Db::table('bs_device_' . $deviceName)->where('serial_num', $receive['serial_num'])->find())['uid'];
|
|
//去对应的设备详细信息列表中按照序列号删除该设备ID的相关信息
|
|
Db::table('bs_device_data_' . $deviceName)->where('serial_num', $receive['serial_num'])->delete();
|
|
//去对应的设备列表中按照序列号解绑
|
|
Db::table('bs_device_' . $deviceName)->where('serial_num', $receive['serial_num'])->delete();
|
|
//更新用户设备表中该用户拥有该设备的数量
|
|
$num = Db::table('bs_device_' . $deviceName)->where('uid', $uid)->count();
|
|
Db::table('bs_device')->where('uid', $uid)->update([$deviceName => $num]);
|
|
|
|
}
|
|
//去对应的设备序列号列表中删除该设备ID
|
|
$flag = Db::table('bs_device_serial')->where('serial_num', $receive['serial_num'])->delete();
|
|
$this->resort();
|
|
if ($flag) {
|
|
$this->logInsert('删除设备ID:' . $receive['serial_num'] . ',设备类型为:' . $receive['type']);
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据异常,请联系后台管理员';
|
|
}
|
|
|
|
}
|
|
|
|
//批量删除管理员
|
|
public function delAllAdmin(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
// dump($receive);
|
|
// die;
|
|
$len = count($receive['account']);
|
|
for ($i = 0; $i < $len; $i++) {
|
|
// 删除管理员表中的账号
|
|
$flag1 = Db::table('bs_administrator')->where('account', $receive['account'][$i])->delete();
|
|
// 删除总账号表中的账户
|
|
$flag2 = Db::table('bs_people')->where('name', $receive['account'][$i])->delete();
|
|
};
|
|
$this->resort();
|
|
if ($flag1 && $flag2) {
|
|
$log = '批量删除管理员:' . $receive['log'];
|
|
$this->logInsert($log);
|
|
return 'ok';
|
|
} else {
|
|
if (!$flag1) {
|
|
return 'ERROR1';
|
|
};
|
|
if (!$flag2) {
|
|
return 'ERROR2';
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//批量删除用户
|
|
public function delAllUser(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
// dump($data);
|
|
$len = count($receive['uid']);
|
|
// 获得要匹配的设备循环遍历信息
|
|
$deviceName = Db::table('bs_device_map')->field('function')->select();
|
|
for ($j = 0; $j < count($deviceName); $j++) {
|
|
$devArr[] = $deviceName[$j]['function'];
|
|
};
|
|
// 遍历每个用户uid
|
|
for ($i = 0; $i < $len; $i++) {
|
|
$flag = Db::table('bs_user')->where('uid', $receive['uid'][$i])->delete();
|
|
if (!$flag) {
|
|
break;
|
|
}
|
|
Db::table('bs_people')->where('name', $receive['uid'][$i])->delete();
|
|
Db::table('bs_device')->where('uid', $receive['uid'][$i])->delete();
|
|
// 判断是否需要同时删除该用户与设备的绑定信息
|
|
if ($receive['more']) {
|
|
for ($k = 0; $k < count($devArr); $k++) {
|
|
Db::table('bs_device_' . $devArr[$k])->where('uid', $receive['uid'][$i])->delete();
|
|
}
|
|
}
|
|
}
|
|
$this->resort();
|
|
if ($flag) {
|
|
if ($receive['more']) {
|
|
$this->logInsert('批量删除用户:' . $receive['log'] . '并解除与之绑定的设备信息');
|
|
} else {
|
|
$this->logInsert('批量删除用户:' . $receive['log']);
|
|
}
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据异常,请联系管理员';
|
|
}
|
|
|
|
}
|
|
|
|
//批量删除设备ID绑定信息
|
|
public function delAllDev(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
//获得该设备名所对应的设备标识符名称
|
|
$deviceName = (Db::table('bs_device_map')->where('chinese', $receive['deviceName'])->field('function')->find())['function'];
|
|
$len = count($receive['serial_num']);
|
|
for ($i = 0; $i < $len; $i++) {
|
|
//获得该设备ID对应的用户名
|
|
$uid = (Db::table('bs_device_' . $deviceName)->where('serial_num', $receive['serial_num'][$i])->find())['uid'];
|
|
$flag = Db::table('bs_device_' . $deviceName)->delete($receive['serial_num'][$i]);
|
|
if (!$flag) {
|
|
break;
|
|
}
|
|
//更新用户设备表中该用户拥有该设备的数量
|
|
$num = Db::table('bs_device_' . $deviceName)->where('uid', $uid)->count();
|
|
Db::table('bs_device')->where('uid', $uid)->update([$deviceName => $num]);
|
|
}
|
|
if ($flag) {
|
|
$serialStr = implode(",", $receive['serial_num']);
|
|
$this->logInsert('批量删除' . $receive['deviceName'] . '类型设备中设备ID:' . $serialStr . '与对应的用户:' . $receive['log'] . '的绑定信息');
|
|
return 'ok';
|
|
} else {
|
|
return '后台数据异常,请联系管理员';
|
|
}
|
|
|
|
}
|
|
|
|
//后台返回管理员json数据
|
|
public function adminMsg()
|
|
{
|
|
$request = Request::instance();
|
|
$receive = $request->get();
|
|
// dump($receive);
|
|
// 判断请求类型是初始化数据表(true)还是搜索数据表(false)
|
|
$flag = count($receive) > 2 ? false : true;
|
|
//dump($flag);
|
|
if ($flag) {
|
|
$num = Db::table('bs_administrator')->count();
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
$cate_list = Db::table("bs_administrator")->field('password', true)->limit($start, $limit)->select();
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $cate_list;
|
|
if (empty($cate_list)) {
|
|
$list["code"] = 1;
|
|
$list["msg"] = "暂无数据";
|
|
}
|
|
return json($list);
|
|
} else {
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
switch ($receive['choose']) {
|
|
case '账号':
|
|
$result = Db::table("bs_administrator")->where('account', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_administrator")->where('account', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
case '手机号':
|
|
$result = Db::table("bs_administrator")->where('tel', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_administrator")->where('tel', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
case '邮箱':
|
|
$result = Db::table("bs_administrator")->where('email', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_administrator")->where('email', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
}
|
|
|
|
// dump($result);
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $result;
|
|
if (empty($result)) {
|
|
$list["code"] = 1;
|
|
switch ($receive['choose']) {
|
|
case '账号':
|
|
$list["msg"] = "未找到账号" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '手机号':
|
|
$list["msg"] = "未找到手机号" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '邮箱':
|
|
$list["msg"] = "未找到邮箱" . $receive['message'] . "的相关数据";
|
|
break;
|
|
}
|
|
}
|
|
return json($list);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//后台返回用户json数据
|
|
public function userMsg()
|
|
{
|
|
$request = Request::instance();
|
|
$receive = $request->get();
|
|
// dump($receive);
|
|
// 判断请求类型是初始化数据表(true)还是搜索数据表(false)
|
|
$flag = count($receive) > 2 ? false : true;
|
|
// dump($flag);
|
|
if ($flag) {
|
|
$num = Db::table('bs_user')->count();
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
$cate_list = Db::table("bs_user")->field('password', true)->limit($start, $limit)->select();
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $cate_list;
|
|
if (empty($cate_list)) {
|
|
$list["code"] = 1;
|
|
$list["msg"] = "暂无数据";
|
|
}
|
|
return json($list);
|
|
} else {
|
|
// dump($receive['message']);
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
switch ($receive['choose']) {
|
|
case '用户名':
|
|
$result = Db::table("bs_user")->where('uid', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_user")->where('uid', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
case '手机号':
|
|
$result = Db::table("bs_user")->where('tel', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_user")->where('tel', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
case '邮箱':
|
|
$result = Db::table("bs_user")->where('email', $receive['message'])->field('password', true)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_user")->where('email', $receive['message'])->field('password', true)->count();
|
|
break;
|
|
}
|
|
// dump($result);
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $result;
|
|
if (empty($result)) {
|
|
$list["code"] = 1;
|
|
switch ($receive['choose']) {
|
|
case '用户名':
|
|
$list["msg"] = "未找到用户名" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '手机号':
|
|
$list["msg"] = "未找到手机号" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '邮箱':
|
|
$list["msg"] = "未找到邮箱" . $receive['message'] . "的相关数据";
|
|
break;
|
|
}
|
|
}
|
|
return json($list);
|
|
}
|
|
|
|
}
|
|
|
|
//后台返回各设备列表json数据
|
|
public
|
|
function deviceMsg()
|
|
{
|
|
$request = Request::instance();
|
|
$receive = $request->get();
|
|
// dump($receive);
|
|
|
|
// 判断请求类型是初始化数据表(true)还是搜索数据表(false)
|
|
$flag = count($receive) > 3 ? false : true;
|
|
// dump($flag);
|
|
|
|
//获得该设备名所对应的设备标识符名称
|
|
$deviceName = (Db::table('bs_device_map')->where('chinese', $receive['deviceName'])->field('function')->find())['function'];
|
|
|
|
if ($flag) {
|
|
$num = Db::table('bs_device_' . $deviceName)->count();
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
$cate_list = Db::table("bs_device_" . $deviceName)->limit($start, $limit)->select();
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $cate_list;
|
|
if (empty($cate_list)) {
|
|
$list["code"] = 1;
|
|
$list["msg"] = '暂无' . $receive['deviceName'] . '设备的相关数据';
|
|
}
|
|
return json($list);
|
|
} else {
|
|
// dump($receive['message']);
|
|
// dump($deviceName);
|
|
// dump($receive['choose']);
|
|
// die;
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
switch ($receive['choose']) {
|
|
case '1':
|
|
$result = Db::table("bs_device_" . $deviceName)->where('uid', $receive['message'])->limit($start, $limit)->select();
|
|
$num = Db::table("bs_device_" . $deviceName)->where('uid', $receive['message'])->count();
|
|
break;
|
|
case '2':
|
|
$result = Db::table("bs_device_" . $deviceName)->where('serial_num', $receive['message'])->limit($start, $limit)->select();
|
|
$num = Db::table("bs_device_" . $deviceName)->where('serial_num', $receive['message'])->count();
|
|
break;
|
|
case '3':
|
|
$result = Db::table("bs_device_" . $deviceName)->where('area', 'like', "%" . $receive['message'] . "%")->limit($start, $limit)->select();
|
|
$num = Db::table("bs_device_" . $deviceName)->where('area', 'like', "%" . $receive['message'] . "%")->count();
|
|
break;
|
|
default :
|
|
$result = '';
|
|
$num = 0;
|
|
}
|
|
|
|
// dump($result);
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $result;
|
|
if (empty($result)) {
|
|
$list["code"] = 1;
|
|
|
|
switch ($receive['choose']) {
|
|
case '1':
|
|
$list["msg"] = "未找到用户" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '2':
|
|
$list["msg"] = "暂无设备" . $receive['message'] . "的相关数据";
|
|
break;
|
|
case '3':
|
|
$list["msg"] = "暂无" . $receive['message'] . "地区的相关数据";
|
|
break;
|
|
}
|
|
}
|
|
return json($list);
|
|
}
|
|
}
|
|
|
|
// 验证输入的二级密码是否正确
|
|
public function log_verify(Request $request)
|
|
{
|
|
$receive = $request->post();
|
|
// dump($receive);
|
|
// die;
|
|
$week = $receive['week'];
|
|
$year = $receive['year'];
|
|
$day = $receive['day'];
|
|
$hour = $receive['hour'];
|
|
$month = $receive['month'];
|
|
|
|
$logPwd = '';
|
|
$option = [$week, $year, $day, $hour, $month];
|
|
// dump($option);
|
|
for ($i = 0; $i < count($receive['numArr']); $i++) {
|
|
// dump($receive['numArr'][$i]);
|
|
$logPwd = $logPwd . $option[$receive['numArr'][$i]];
|
|
}
|
|
if ($receive['logInput'] == $logPwd) {
|
|
return 'ok';
|
|
} else {
|
|
return '校验码错误,请重新输入';
|
|
}
|
|
}
|
|
|
|
// 后台返回序列号json数据
|
|
public function serialMsg()
|
|
{
|
|
$request = Request::instance();
|
|
$receive = $request->get();
|
|
// dump($receive);
|
|
|
|
// 判断请求类型是初始化数据表(true)还是搜索数据表(false)
|
|
$flag = count($receive) > 2 ? false : true;
|
|
// dump($flag);
|
|
if ($flag) {
|
|
$num = Db::table('bs_device_serial')->count();
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
$cate_list = Db::table("bs_device_serial")->limit($start, $limit)->select();
|
|
|
|
for ($i = 0; $i < count($cate_list); $i++) {
|
|
// 查询该设备ID的绑定信息
|
|
if (Db::table('bs_device_' . $cate_list[$i]['type'])->where('serial_num', $cate_list[$i]['serial_num'])->find()) {
|
|
$cate_list[$i]['status'] = '已绑定';
|
|
} else {
|
|
$cate_list[$i]['status'] = '未绑定';
|
|
}
|
|
// 将查询到的设备识别符后面添加其对应的中文
|
|
$cate_list[$i]['type'] = (Db::table('bs_device_map')->where('function', $cate_list[$i]['type'])->find())['chinese'] . ' ' . $cate_list[$i]['type'];
|
|
};
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $cate_list;
|
|
if (empty($cate_list)) {
|
|
$list["code"] = 1;
|
|
$list["msg"] = '暂无日志数据';
|
|
}
|
|
return json($list);
|
|
} else {
|
|
// dump($receive);
|
|
// die;
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
switch ($receive['choose']) {
|
|
// 设备ID
|
|
case '1':
|
|
$result = Db::table("bs_device_serial")->where('serial_num', $receive['message'])->limit($start, $limit)->select();
|
|
$num = Db::table("bs_device_serial")->where('serial_num', $receive['message'])->count();
|
|
for ($i = 0; $i < count($result); $i++) {
|
|
// 查询该设备ID的绑定信息
|
|
if (Db::table('bs_device_' . $result[$i]['type'])->where('serial_num', $result[$i]['serial_num'])->find()) {
|
|
$result[$i]['status'] = '已绑定';
|
|
} else {
|
|
$result[$i]['status'] = '未绑定';
|
|
}
|
|
// 将查询到的设备识别符后面添加其对应的中文
|
|
$result[$i]['type'] = (Db::table('bs_device_map')->where('function', $result[$i]['type'])->find())['chinese'] . ' ' . $result[$i]['type'];
|
|
};
|
|
break;
|
|
// 设备类型
|
|
case '2':
|
|
// 查询中文
|
|
$resCN = Db::table('bs_device_map')->where('chinese', 'like', '%' . $receive['message'] . '%')->find();
|
|
// 查询英文
|
|
$resEN = Db::table('bs_device_map')->where('function', 'like', '%' . $receive['message'] . '%')->find();
|
|
if ($resCN) {
|
|
$res = $resCN['function'];
|
|
} elseif ($resEN) {
|
|
$res = $resEN['function'];
|
|
} else {
|
|
$res = '';
|
|
}
|
|
$result = Db::table("bs_device_serial")->where('type', $res)->limit($start, $limit)->select();
|
|
$num = Db::table("bs_device_serial")->where('type', $res)->count();
|
|
if ($result) {
|
|
for ($i = 0; $i < count($result); $i++) {
|
|
// 查询该设备ID的绑定信息
|
|
if (Db::table('bs_device_' . $result[$i]['type'])->where('serial_num', $result[$i]['serial_num'])->find()) {
|
|
$result[$i]['status'] = '已绑定';
|
|
} else {
|
|
$result[$i]['status'] = '未绑定';
|
|
}
|
|
// 将查询到的设备识别符后面添加其对应的中文
|
|
$result[$i]['type'] = (Db::table('bs_device_map')->where('function', $result[$i]['type'])->find())['chinese'] . ' ' . $result[$i]['type'];
|
|
};
|
|
}
|
|
|
|
break;
|
|
|
|
default :
|
|
$result = '';
|
|
$num = 0;
|
|
}
|
|
|
|
// dump($result);
|
|
// die;
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $result;
|
|
if (empty($result)) {
|
|
$list["code"] = 1;
|
|
|
|
switch ($receive['choose']) {
|
|
case '1':
|
|
$list["msg"] = "未找序列号为:" . $receive['message'] . "的设备";
|
|
break;
|
|
case '2':
|
|
$list["msg"] = "未找到" . $receive['message'] . "类型的设备";
|
|
break;
|
|
|
|
}
|
|
}
|
|
return json($list);
|
|
}
|
|
}
|
|
|
|
//后台返回日志json数据
|
|
public function logMsg()
|
|
{
|
|
$request = Request::instance();
|
|
$receive = $request->get();
|
|
// dump($receive);
|
|
|
|
// 判断请求类型是初始化数据表(true)还是搜索数据表(false)
|
|
$flag = count($receive) > 2 ? false : true;
|
|
// dump($flag);
|
|
if ($flag) {
|
|
$num = Db::table('bs_log')->count();
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
$cate_list = Db::table("bs_log")->order('id desc')->limit($start, $limit)->select();
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $cate_list;
|
|
if (empty($cate_list)) {
|
|
$list["code"] = 1;
|
|
$list["msg"] = '暂无日志数据';
|
|
}
|
|
return json($list);
|
|
} else {
|
|
// dump($receive['findTime']);
|
|
// die;
|
|
$page = input("get.page") ? input("get.page") : 1;
|
|
$page = intval($page);
|
|
$limit = input("get.limit") ? input("get.limit") : 1;
|
|
$limit = intval($limit);
|
|
$start = $limit * ($page - 1);
|
|
//分页查询
|
|
switch ($receive['choose']) {
|
|
// 时间
|
|
case '1':
|
|
// 分隔获得的时间字符串
|
|
$findTime = explode(' - ', $receive['findTime']);
|
|
$result = Db::table("bs_log")->where('time', 'between time', [$findTime[0], $findTime[1]])->order('id desc')->limit($start, $limit)->select();
|
|
$num = Db::table("bs_log")->where('time', 'between time', [$findTime[0], $findTime[1]])->count();
|
|
break;
|
|
// 操作
|
|
case '2':
|
|
$result = Db::table("bs_log")->where('operation', 'like', '%' . $receive['message'] . '%')->order('id desc')->limit($start, $limit)->select();
|
|
$num = Db::table("bs_log")->where('operation', 'like', '%' . $receive['message'] . '%')->count();
|
|
break;
|
|
// 操作人员
|
|
case '3':
|
|
$result = Db::table("bs_log")->where('who', 'like', "%" . $receive['message'] . "%")->order('id desc')->limit($start, $limit)->select();
|
|
$num = Db::table("bs_log")->where('who', 'like', "%" . $receive['message'] . "%")->count();
|
|
break;
|
|
default :
|
|
$result = '';
|
|
$num = 0;
|
|
}
|
|
|
|
// dump($result);
|
|
$list["msg"] = "";
|
|
$list["code"] = 0;
|
|
$list["count"] = $num;
|
|
$list["data"] = $result;
|
|
if (empty($result)) {
|
|
$list["code"] = 1;
|
|
|
|
switch ($receive['choose']) {
|
|
case '1':
|
|
$list["msg"] = "未找到" . $receive['findTime'] . "之间的相关数据";
|
|
break;
|
|
case '2':
|
|
$list["msg"] = "暂无与" . $receive['message'] . "相关的操作";
|
|
break;
|
|
case '3':
|
|
$list["msg"] = "暂无" . $receive['message'] . "操作人员的相关数据";
|
|
break;
|
|
}
|
|
}
|
|
return json($list);
|
|
}
|
|
}
|
|
|
|
//批量新增测试数据
|
|
// public function test()
|
|
// {
|
|
// $data = [
|
|
// ['id' => '10', 'account' => 'tes1', 'password' => '123456', 'tel' => '133131111111', 'email' => 'test@test.com'],
|
|
// ['id' => '11', 'account' => 'tes2', 'password' => '123456', 'tel' => '133131111111', 'email' => 'test@test.com'],
|
|
// ['id' => '12', 'account' => 'tes3', 'password' => '123456', 'tel' => '133131111111', 'email' => 'test@test.com'],
|
|
//
|
|
// ];
|
|
// Db::table('bs_administrator')->insertAll($data);
|
|
// }
|
|
// public function test()
|
|
// {
|
|
// return $this->fetch();
|
|
// }
|
|
|
|
}
|