query("select s.owner_name,s.unitinfo,s.company,c.owner_address from sp_owner s ,sp_owner_company c where s.company=c.owner_id and s.owner_code ='".$dataid."'"); $union_sql=M()->query("select phone from sp_owner_phone WHERE owner_code='".$company[0]['company']."' ".$where." union select phone from sp_owner_phone WHERE owner_code in (select other_code from sp_owner_fujin where owner_code='".$company[0]['company']."') ".$where.""); if(count($union_sql)==0){ exit; } $openids=$this->array_column1($union_sql,"phone"); if (empty($openids)) { echo 'open is null'; exit; } $status11=M()->query("SELECT statustime FROM sp_devices_status where deviceid='".$dataid."'"); $op=M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)"); $access_token=GetAccess_Token(); $address='警报地址:'.$company[0]['owner_address'].$company[0]['unitinfo']; $deviceid=$dataid; $type= $status; $time=$time1; $remark='设备名称:'.$company[0]['owner_name']; foreach($op as $o){ if (!empty($o['openid'])) { //token,微信id,地址,设备号,类型,时间,设备名称(或者其他内容) //{{first.DATA}}$address //设备号:{{keyword1.DATA}}$deviceid //报警类型:{{keyword2.DATA}}$type //时间:{{keyword3.DATA}}$time //{{remark.DATA}}$remark $this->SendDeviceAlarm($access_token,$o['openid'],$address,$deviceid,$type,$time,$remark,$url=''); } } } /** * "evt" => "09", * "IMEI" => 设备编号, * "DateTime" => 时间, * "Interval" => 间隔时间, * "Status" => 状态, * "Battery" => 电量, * "Signal" => 信号, * "Unit" => 单位, * "Pressure" => 水压值, * "phone" => 电话, * "insert_id" => 插入表id * @return [type] [description] */ public function message_water(){ $Data=I('post.'); if (empty($Data['phone'])) { dump($Data['phone']); exit; } $dataid=$Data['IMEI']; $openids =$Data['phone']; // $Data['address']=$addr[0]['address']; switch ($Data['evt']) { case 'WP1': $status='低压'; $where=" AND data2 like '%3%'"; break; case 'WP2': $status='高压'; $where=" AND data2 like '%3%'"; break; case 'WP4': $status='离线'; $where=" AND data2 like '%5%'"; break; case 'LL1': $status='低水位'; $where=" AND data2 like '%3%'"; break; case 'LL2': $status='高水位'; $where=" AND data2 like '%3%'"; break; default: $status='其他'.$Data['Status']; $where=" AND data2 like '%3%'"; break; } print_r($status); $company=M()->query("select s.owner_name,s.unitinfo,s.company,c.owner_address from sp_owner s ,sp_owner_company c where s.company=c.owner_id and s.owner_code ='".$dataid."'"); $union_sql=M()->query("select phone from sp_owner_phone WHERE owner_code='".$company[0]['company']."' ".$where." union select phone from sp_owner_phone WHERE owner_code in (select other_code from sp_owner_fujin where owner_code='".$company[0]['company']."') ".$where.""); if(count($union_sql)==0){ exit; } $openids=$this->array_column1($union_sql,"phone"); if (empty($openids)) { echo 'open is null'; exit; } $status11=M()->query("SELECT statustime FROM sp_devices_status where deviceid='".$dataid."'"); $op=M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)"); $access_token=GetAccess_Token(); $address='警报地址:'.$company[0]['owner_address'].$company[0]['unitinfo']; $deviceid=$dataid; $type= $status; $time=$status11[0]['statustime']; $remark='设备名称:'.$company[0]['owner_name']; foreach($op as $o){ if (!empty($o['openid'])) { //token,微信id,地址,设备号,类型,时间,设备名称(或者其他内容) //{{first.DATA}}$address //设备号:{{keyword1.DATA}}$deviceid //报警类型:{{keyword2.DATA}}$type //时间:{{keyword3.DATA}}$time //{{remark.DATA}}$remark $this->SendDeviceAlarm($access_token,$o['openid'],$address,$deviceid,$type,$time,$remark,$url=''); } } } public function message_electrical(){ $Data=I('post.'); if (empty($Data['phone'])) { dump($Data['phone']); exit; } $dataid=$Data['device_code']; $openids =$Data['phone']; $Data['address']=$addr[0]['address']; switch ($Data['evt']) { case 'EF1': $status='欠压'; $where=" AND data2 like '%7%'"; break; case 'EF2': $status='过压'; $where=" AND data2 like '%7%'"; break; case 'EF3': $status='过流'; $where=" AND data2 like '%7%'"; break; case 'EF4': $status='漏电'; $where=" AND data2 like '%7%'"; break; case 'EF5': $status='温度1超高'; $where=" AND data2 like '%7%'"; break; case 'EF6': $status='温度2超高'; $where=" AND data2 like '%7%'"; break; case 'EF7': $status='温度2超高'; $where=" AND data2 like '%7%'"; break; case 'EF8': $status='温度3超高'; $where=" AND data2 like '%7%'"; break; case 'EF9': $status='离线'; $where=" AND data2 like '%5%'"; break; default: $status='其他'.$Data['evt']; $where=" AND data2 like '%3%'"; break; } $company=M()->query("select s.owner_name,s.unitinfo,s.company,c.owner_address from sp_owner s ,sp_owner_company c where s.company=c.owner_id and s.owner_code ='".$dataid."'"); $union_sql=M()->query("select phone from sp_owner_phone WHERE owner_code='".$company[0]['company']."' ".$where." union select phone from sp_owner_phone WHERE owner_code in (select other_code from sp_owner_fujin where owner_code='".$company[0]['company']."') ".$where.""); if(count($union_sql)==0){ exit; } $openids=$this->array_column1($union_sql,"phone"); if (empty($openids)) { echo 'open is null'; exit; } $status11=M()->query("SELECT statustime FROM sp_devices_status where deviceid='".$dataid."'"); $op=M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)"); $access_token=GetAccess_Token(); $address='警报地址:'.$company[0]['owner_address'].$company[0]['unitinfo']; $deviceid=$dataid; $type= $status; // $time=$status11[0]['statustime']; $time=date('Y-m-d H:i:s'); $remark='设备名称:'.$company[0]['owner_name']; foreach($op as $o){ if (!empty($o['openid'])) { //token,微信id,地址,设备号,类型,时间,设备名称(或者其他内容) //{{first.DATA}}$address //设备号:{{keyword1.DATA}}$deviceid //报警类型:{{keyword2.DATA}}$type //时间:{{keyword3.DATA}}$time //{{remark.DATA}}$remark $this->SendDeviceAlarm($access_token,$o['openid'],$address,$deviceid,$type,$time,$remark,$url=''); } } } }