...
|
...
|
@@ -127,16 +127,16 @@ class AesController extends HomeBaseController{ |
|
|
* @url /portal/Aes/getState
|
|
|
* @method GET
|
|
|
*
|
|
|
* @param name:MACAddress type:String require:1 default:无 other: desc:设备MAC地址
|
|
|
* @param name:name type:String require:1 default:无 other: desc:设备名称
|
|
|
*
|
|
|
*
|
|
|
* @return lockKey:获取电压、开关状态的指令(数组)
|
|
|
*/
|
|
|
|
|
|
public function getState(){
|
|
|
$MACAddress=$this->request->param('MACAddress');
|
|
|
$strKey=Db::name('equipment')->where('mac_address',$MACAddress)->find();
|
|
|
if (!empty($strKey)){
|
|
|
$name=$this->request->param('name');
|
|
|
$equipment=Db::name('equipment')->where('mac_address',$name)->find();
|
|
|
if (!empty($equipment)){
|
|
|
$key="ff05a301ef";
|
|
|
$StateKey=$this->ToArray($key);
|
|
|
$this->apiResponse(200,'success',$StateKey);
|
...
|
...
|
@@ -180,24 +180,26 @@ class AesController extends HomeBaseController{ |
|
|
* @url /portal/Aes/decryption
|
|
|
* @method GET
|
|
|
*
|
|
|
* @param name:users_id type:String require:1 default:无 other: desc:用户id
|
|
|
* @param name:name type:String require:1 default:无 other: desc:设备名称
|
|
|
* @param name:key type:String require:1 default:无 other: desc:设备返回状态(未加密)
|
|
|
* @param name:type type:String require:1 default:无 other:1开锁返回指令,2状态返回指令 desc:命令类型
|
|
|
*
|
|
|
* @return code:1锁已开,0位锁已关,2为数据异常
|
|
|
* @return name:设备锁名称
|
|
|
*/
|
|
|
public function state($name,$key,$type){
|
|
|
public function state($users_id,$name,$key,$type){
|
|
|
if ($type==1){
|
|
|
//判断命令是否合法
|
|
|
if($key[0]=='0xff' && $key[4]=='0xef'){
|
|
|
$this->open_deal_with($name,$key);
|
|
|
$this->open_deal_with($users_id,$name,$key);
|
|
|
}else{
|
|
|
$this->apiResponse(2,'返回指令错误');
|
|
|
}
|
|
|
}else if($type==2){
|
|
|
//判断命令是否合法
|
|
|
if($key[0]=='0xff' && $key[7]=='0xef'){
|
|
|
$this->lock_deal_with($name,$key);
|
|
|
$this->lock_deal_with($users_id,$name,$key);
|
|
|
}else{
|
|
|
$this->apiResponse(2,'返回指令错误');
|
|
|
}
|
...
|
...
|
@@ -205,29 +207,33 @@ class AesController extends HomeBaseController{ |
|
|
}
|
|
|
|
|
|
//开锁状态处理
|
|
|
public function open_deal_with($name,$key){
|
|
|
$use=Db::name('equipment')->where('name',$name)->find()['use'];
|
|
|
if ($use==1){
|
|
|
$this->apiResponse(303,'此锁已被使用');
|
|
|
}
|
|
|
public function open_deal_with($users_id,$name,$key){
|
|
|
if ($key[3]=='0x01'){
|
|
|
//修改数据库设备状态
|
|
|
try{
|
|
|
Db::startTrans();
|
|
|
//用户状态
|
|
|
Db::name('users')->where('id',$users_id)->update(['is_use'=>1]);
|
|
|
Db::name('equipment')->where('name',$name)->update(['use'=>1]);
|
|
|
}catch (\Exception $exception){
|
|
|
Db::rollback();
|
|
|
$this->apiResponse(301,'数据库状态更改失败,错误信息:'.$exception->getMessage());
|
|
|
}
|
|
|
$this->apiResponse(200,'锁已开');
|
|
|
Db::commit();
|
|
|
//生成订单
|
|
|
|
|
|
|
|
|
$this->apiResponse(200,'锁已开',['设备名称'=>$name]);
|
|
|
}else if($key[3]=='0x00'){
|
|
|
$this->apiResponse(302,'锁未开');
|
|
|
$this->apiResponse(302,'锁未开',['设备名称'=>$name]);
|
|
|
}
|
|
|
}
|
|
|
//关锁
|
|
|
public function lock_deal_with($name,$key){
|
|
|
public function lock_deal_with($users_id,$name,$key){
|
|
|
//查看数据库中设备状态
|
|
|
$use=Db::name('equipment')->where('name',$name)->find()['use'];
|
|
|
if ($use==0){
|
|
|
$this->apiResponse(303,'此锁未被使用');
|
|
|
$this->apiResponse(303,'此锁未打开,还床失败',['设备名称'=>$name]);
|
|
|
}
|
|
|
//电量过低,修改数据库状态
|
|
|
if ($key[5]=='0x01'){
|
...
|
...
|
@@ -235,15 +241,20 @@ class AesController extends HomeBaseController{ |
|
|
}
|
|
|
if ($key[6]=='0x01'){
|
|
|
//修改数据库设备状态
|
|
|
$this->apiResponse(301,'锁状态:开锁');//开着
|
|
|
$this->apiResponse(301,'锁未关,当前锁状态为:开锁',['设备名称'=>$name]);//开着
|
|
|
}else if($key[6]=='0x00'){
|
|
|
//修改数据库设备状态
|
|
|
try{
|
|
|
Db::startTrans();
|
|
|
Db::name('users')->where('id',$users_id)->update(['is_use'=>0]);
|
|
|
Db::name('equipment')->where('name',$name)->update(['use'=>0]);
|
|
|
}catch (\Exception $exception){
|
|
|
Db::rollback();
|
|
|
$this->apiResponse(302,'数据库状态更改失败,错误信息:'.$exception->getMessage());
|
|
|
}
|
|
|
$this->apiResponse(200,'关锁成功');//关了
|
|
|
Db::commit();
|
|
|
|
|
|
$this->apiResponse(200,'关锁成功',['设备名称'=>$name]);//关了
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
|