ManholeCoverwarnController.class.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. include '../Common/function.php';
  5. class ManholeCoverwarnController extends PushWarnController
  6. {
  7. /**
  8. * "evt" => "09",
  9. * "IMEI" => 设备编号,
  10. * "DateTime" => 时间,
  11. * "Interval" => 间隔时间,
  12. * "Status" => 状态,
  13. * "Battery" => 电量,
  14. * "Signal" => 信号,
  15. * "Unit" => 单位,
  16. * "Pressure" => 水压值,
  17. * "phone" => 电话,
  18. * "insert_id" => 插入表id
  19. * @return [type] [description]
  20. */
  21. public function message_manhole_cover()
  22. {
  23. $Data = I('post.');
  24. $log = "[时间" . date("Y-m-d H:i:s") . "]报警数据:" . json_encode($Data) . "\r\n";
  25. $filename_log = "/var/www/html/jdxf/log/Gg_log" . date("Y-m-d") . ".log";
  26. file_put_contents($filename_log, $log, FILE_APPEND | LOCK_EX);
  27. print_r($Data);
  28. if (empty($Data['phone'])) {
  29. dump($Data['phone']);
  30. exit;
  31. }
  32. if (!empty($Data['device_code'])) {
  33. $dataid = $Data['device_code'];
  34. } else {
  35. exit;
  36. }
  37. $openids = $Data['phone'];
  38. $insert_id = $Data['insert_id'];
  39. $user_from = $Data['user_from'];
  40. // $evt_name=$Data['evt_name'];
  41. $time = $Data['time'];
  42. $bz = $Data['bz'];
  43. switch ($Data['evt']) {
  44. case 'JG01':
  45. $evt_name = '恢复';
  46. $where = " AND data2 like '%a%'";
  47. break;
  48. case 'JG02':
  49. $evt_name = '打开告警';
  50. $where = " AND data2 like '%a%'";
  51. break;
  52. case 'JG03':
  53. $evt_name = '角度传感器异常';
  54. $where = " AND data2 like '%a%'";
  55. break;
  56. case 'JG04':
  57. $evt_name = '温湿度传感器异常';
  58. $where = " AND data2 like '%a%'";
  59. break;
  60. default:
  61. $evt_name = '其他' . $Data['evt'];
  62. $where = " AND data2 like '%a%'";
  63. break;
  64. }
  65. $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 . "'");
  66. $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 . "");
  67. if (count($union_sql) == 0) {
  68. exit;
  69. }
  70. $openids = $this->array_column1($union_sql, "phone");
  71. if (empty($openids)) {
  72. echo 'open is null';
  73. exit;
  74. }
  75. $status11 = M()->query("SELECT statustime FROM sp_devices_status where deviceid='" . $dataid . "'");
  76. $op = M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)");
  77. $access_token = GetAccess_Token1();
  78. $address = '警报地址:' . $company[0]['owner_address'] . $company[0]['unitinfo'];
  79. $deviceid = $dataid;
  80. $type = $evt_name;
  81. if (empty($Data['phone'])) {
  82. $time = $status11[0]['statustime'];
  83. }
  84. $ljcompany = $company[0]['company'];
  85. if (!empty($bz)) {
  86. $remark = $bz;
  87. } else {
  88. $remark = '设备名称:' . $company[0]['owner_name'];
  89. }
  90. $ljurl = "https://qhome.usky.cn/jdxf/wxapp2.php/Home/Fireinfo/index/type/128/id/" . $insert_id;
  91. // $op=array(['openid'=>$Data['phone']]);
  92. // print_r($op);
  93. foreach ($op as $o) {
  94. if (!empty($o['openid'])) {
  95. // print_r('参数1'.$access_token);
  96. // print_r('参数2'.$o['openid']);
  97. // print_r('参数3'.$address);
  98. // print_r('参数4'.$deviceid);
  99. // print_r('参数5'.$type);
  100. // print_r('参数6'.$time);
  101. // print_r('参数7'.$remark);
  102. // print_r('参数8'.$ljurl);
  103. //token,微信id,地址,设备号,类型,时间,设备名称(或者其他内容)
  104. //{{first.DATA}}$address
  105. //设备号:{{keyword1.DATA}}$deviceid
  106. //报警类型:{{keyword2.DATA}}$type
  107. //时间:{{keyword3.DATA}}$time
  108. //{{remark.DATA}}$remark
  109. $a = $this->SendDeviceAlarm($access_token, $o['openid'], $address, $deviceid, $type, $time, $remark, $ljurl, $url = '');
  110. print_r($a);
  111. }
  112. }
  113. }
  114. }