初始化
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
namespace app\models;
|
||||
|
||||
use core\base\Model;
|
||||
|
||||
/**
|
||||
* 昂盛达设备模型
|
||||
*/
|
||||
class AsdDevice extends Model
|
||||
{
|
||||
protected $table = 'asd_device';
|
||||
|
||||
/**
|
||||
* 获取 PDO 实例
|
||||
*/
|
||||
private function db()
|
||||
{
|
||||
return \core\db\Db::pdo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备编码查找
|
||||
*/
|
||||
public function findByCode($device_code)
|
||||
{
|
||||
return $this->where(['device_code = :code'], [':code' => $device_code])->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查设备是否存在且启用
|
||||
*/
|
||||
public function isActive($device_code)
|
||||
{
|
||||
$device = $this->where([
|
||||
'device_code = :code',
|
||||
'status = 1'
|
||||
], [':code' => $device_code])->fetch();
|
||||
return $device ? $device : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备编码和组别校验
|
||||
*/
|
||||
public function validate($device_code, $group_name = '')
|
||||
{
|
||||
$conditions = ['device_code = :code', 'status = 1'];
|
||||
$params = [':code' => $device_code];
|
||||
if (!empty($group_name)) {
|
||||
$conditions[] = 'group_name = :group';
|
||||
$params[':group'] = $group_name;
|
||||
}
|
||||
return $this->where($conditions, $params)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有启用设备
|
||||
*/
|
||||
public function getAllActive()
|
||||
{
|
||||
return $this->where(['status = 1'])->order(['group_name ASC', 'device_code ASC'])->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加设备
|
||||
*/
|
||||
public function addDevice($data)
|
||||
{
|
||||
return $this->add($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新设备
|
||||
*/
|
||||
public function updateDevice($id, $data)
|
||||
{
|
||||
return $this->where(['id = :id'], [':id' => $id])->update($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 IP 查找设备
|
||||
*/
|
||||
public function findByIp($device_ip)
|
||||
{
|
||||
return $this->where(['device_ip = :ip'], [':ip' => $device_ip])->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 ID 查找设备
|
||||
*/
|
||||
public function findById($id)
|
||||
{
|
||||
return $this->where(['id = :id'], [':id' => intval($id)])->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部设备(调试页用,含禁用设备)
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
return $this->order(['group_name ASC', 'device_code ASC'])->fetchAll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user