'app_device_data_copy1', '2'=>'app_account_number_copy1', '3'=>'app_device_code_data_copy1', ]; ################################################################接口################################################################ ################################################################接口################################################################ ################################################################接口################################################################ // 获取系统设备列表 public function device_data_list($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } if(!array_key_exists('token', $data)){ return $this->msg(10001); } unset($data['token']); $return_data = $this->device_data_list_action($data); // 成功 $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 $logContent["flie"] = $e->getFile(); $logContent["line"] = $e->getLine(); $logContent['all_content'] = "异常信息:\n"; $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n"; $logContent['all_content'] .= "代码: " . $e->getCode() . "\n"; $logContent['all_content'] .= "文件: " . $e->getFile() . "\n"; $logContent['all_content'] .= "行号: " . $e->getLine() . "\n"; $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n"; $this->record_api_log($data, $logContent, null); return $this->msg(99999); } } // 绑定系统设备 public function device_binding($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a','device_id'=>'3','device_mac'=>'54654654']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } if(!array_key_exists('token', $data) || !array_key_exists('device_id', $data) || !array_key_exists('device_mac', $data)){ return $this->msg(10001); } if(!$this->verify_data_is_ok($data['token'],'str')){ return $this->msg(10005); } if(!$this->verify_data_is_ok($data['device_id'],'intnum')){ return $this->msg(10005); } if(!$this->verify_data_is_ok($data['device_mac'],'str')){ return $this->msg(10005); } $return_data = $this->device_binding_action($data); // 成功 $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 $logContent["flie"] = $e->getFile(); $logContent["line"] = $e->getLine(); $logContent['all_content'] = "异常信息:\n"; $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n"; $logContent['all_content'] .= "代码: " . $e->getCode() . "\n"; $logContent['all_content'] .= "文件: " . $e->getFile() . "\n"; $logContent['all_content'] .= "行号: " . $e->getLine() . "\n"; $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n"; $this->record_api_log($data, $logContent, null); return $this->msg(99999); } } // 获取用户设备列表 public function device_user_data_list($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } if(!array_key_exists('token', $data)){ return $this->msg(10001); } if(!$this->verify_data_is_ok($data['token'],'str')){ return $this->msg(10005); } $return_data = $this->device_user_data_list_action($data); // 成功 $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 $logContent["flie"] = $e->getFile(); $logContent["line"] = $e->getLine(); $logContent['all_content'] = "异常信息:\n"; $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n"; $logContent['all_content'] .= "代码: " . $e->getCode() . "\n"; $logContent['all_content'] .= "文件: " . $e->getFile() . "\n"; $logContent['all_content'] .= "行号: " . $e->getLine() . "\n"; $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n"; $this->record_api_log($data, $logContent, null); return $this->msg(99999); } } // 解绑系统设备 public function device_unbinding($data = ['token'=>'e0966788d02cc93290d9d674921d9715','id'=>'8']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } if(!array_key_exists('token', $data) || !array_key_exists('id', $data)){ return $this->msg(10001); } if(!$this->verify_data_is_ok($data['token'],'str')){ return $this->msg(10005); } if(!$this->verify_data_is_ok($data['id'],'intnum')){ return $this->msg(10005); } $return_data = $this->device_unbinding_action($data); // 成功 $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 $logContent["flie"] = $e->getFile(); $logContent["line"] = $e->getLine(); $logContent['all_content'] = "异常信息:\n"; $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n"; $logContent['all_content'] .= "代码: " . $e->getCode() . "\n"; $logContent['all_content'] .= "文件: " . $e->getFile() . "\n"; $logContent['all_content'] .= "行号: " . $e->getLine() . "\n"; $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n"; $this->record_api_log($data, $logContent, null); return $this->msg(99999); } } // 获取设备详情 public function device_mac_get_content($data = ['mac'=>'76:FE:B3:2F:E7:D8','acd_id'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } if(!array_key_exists('mac', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('token', $data)){ return $this->msg(10001); } if(!$this->verify_data_is_ok($data['token'],'str')){ return $this->msg(10005); } if(!$this->verify_data_is_ok($data['mac'],'str')){ return $this->msg(10005); } if(!$this->verify_data_is_ok($data['acd_id'],'intnum')){ return $this->msg(10005); } $return_data = $this->device_mac_get_content_action($data); // 成功 $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 $logContent["flie"] = $e->getFile(); $logContent["line"] = $e->getLine(); $logContent['all_content'] = "异常信息:\n"; $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n"; $logContent['all_content'] .= "代码: " . $e->getCode() . "\n"; $logContent['all_content'] .= "文件: " . $e->getFile() . "\n"; $logContent['all_content'] .= "行号: " . $e->getLine() . "\n"; $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n"; $this->record_api_log($data, $logContent, null); return $this->msg(99999); } } ################################################################业务接口################################################################ ################################################################业务接口################################################################ ################################################device_data_list public function device_data_list_action($data){ $result = Db::table($this->device_use_db_name['1'])->where(['is_del'=>0])->field('id,name,pic,content,page_measure,bluetooth_type,device_model')->select(); foreach ($result as $key => $value) { unset($result[$key]['ROW_NUMBER']); } if(empty($result)){ return $this->msg(10004); }else{ return $this->msg(['list'=>$result]); } } ################################################device_binding public function device_binding_action($data){ $result_user = Db::table($this->device_use_db_name['2'])->where(['token'=>$data['token']])->field('id,token')->find(); if(!$result_user){ return $this->msg(10003); } $device_code_data = Db::table($this->device_use_db_name['3'])->where(['machine_code'=>$data['device_mac']])->find(); $device_code_data_user = explode(',',$device_code_data['bind_account_id']); if($device_code_data){ // 多用户可以绑定 if(in_array($result_user['id'], $device_code_data_user)){ return $this->msg(10003,'设备已绑定'); }else{ array_push($device_code_data_user,$result_user['id']); $device_binding = Db::table($this->device_use_db_name['3'])->where(['machine_code'=>$data['device_mac']])->update([ 'bind_account_id'=>implode(',',$device_code_data_user), ]); if($device_binding){ return $this->msg([]); }else{ return $this->msg(10002,'更新失败'); } } } $device_binding = Db::table($this->device_use_db_name['3'])->insert([ 'add_id'=>$data['device_id'], 'machine_code'=>$data['device_mac'], 'create_time'=>date('Y-m-d H:i:s'), 'bind_account_id'=>$result_user['id'], ]); if($device_binding){ return $this->msg([]); }else{ return $this->msg(10002); } } ################################################device_user_data_list public function device_user_data_list_action($data){ $result_user = Db::table($this->device_use_db_name['2'])->where(['token'=>$data['token']])->field('id,token')->find(); if(!$result_user){ return $this->msg(10003); } $likePattern = '%' . $result_user['id'] . '%'; $device_code_data = Db::table($this->device_use_db_name['3']) ->alias('adcd') ->join(''.$this->device_use_db_name['1'].' add','adcd.add_id = add.id','LEFT') // ->where(['adcd.bind_account_id'=>$result_user['id']]) // ->where('adcd.bind_account_id LIKE "%'.$result_user['id'].'%"') ->where("adcd.bind_account_id LIKE ?", [$likePattern]) ->field('adcd.id,adcd.add_id,adcd.machine_code,adcd.create_time,add.name,add.pic,add.content,add.page_measure,add.bluetooth_type,add.device_model') ->select(); if(count($device_code_data) <= 0){ return $this->msg([]); } $device_code_data1 = []; $result = []; // 新版格式 // $result['list'] = []; foreach ($device_code_data as $key => $value) { array_push($result,[ 'add_id'=>$value['add_id'], 'name'=>$value['name'], 'pic'=>$value['pic'], 'content'=>$value['content'], 'page_measure'=>$value['page_measure'], 'bluetooth_type'=>$value['bluetooth_type'], 'device_model'=>$value['device_model'], 'bind_time'=>$value['create_time'], 'id'=>$value['id'], 'mac'=>$value['machine_code'] ]); } return $this->msg(['list'=>$result]); } ################################################device_unbinding public function device_unbinding_action($data){ $result_user = Db::table($this->device_use_db_name['2'])->where(['token'=>$data['token']])->field('id,token')->find(); if(!$result_user){ return $this->msg(10003); } $device_binding_user = Db::table($this->device_use_db_name['3']) ->alias('adcd') ->join(''.$this->device_use_db_name['1'].' add2','add2.id = adcd.add_id','LEFT') ->where(['adcd.id'=>$data['id']]) ->field('adcd.id,adcd.bind_account_id,add2.acd_id') ->find(); $device_binding_user = explode(',',$device_binding_user['bind_account_id']); $key = array_search($result_user['id'], $device_binding_user); if($key !== false){ unset($device_binding_user[$key]); }else{ return $this->msg([]); } $device_binding = Db::table($this->device_use_db_name['3'])->where(['id'=>$data['id']])->update([ 'bind_account_id'=>implode(',',$device_binding_user), ]); if($device_binding){ return $this->msg([]); }else{ return $this->msg(10002); } } ################################################device_mac_get_content public function device_mac_get_content_action($data){ $user_id = Db::table($this->device_use_db_name['2'])->where(['token'=>$data['token']])->field('id,token')->find(); $likePattern = '%' . $user_id['id'] . '%'; $result_device = Db::table($this->device_use_db_name['3']) ->alias('adcd') ->join(''.$this->device_use_db_name['1'].' add','adcd.add_id = add.id','LEFT') ->where([ 'adcd.machine_code'=>$data['mac'], 'add.acd_id'=>$data['acd_id'], 'adcd.bind_account_id'=>['LIKE',$likePattern], 'add.is_del'=>0, 'adcd.is_del'=>0, ]) // ->where("adcd.bind_account_id LIKE ?", [$likePattern]) ->field('adcd.id,add.acd_id,add.name,add.pic,add.content,add.page_measure,add.bluetooth_type,add.device_model') ->find(); if($result_device){ unset($result_device['ROW_NUMBER']); return $this->msg($result_device); }else{ return $this->msg(10004); } } ################################################################其他接口################################################################ ################################################################其他接口################################################################ }