GeomagnetismwarnController.class.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. include '../Common/function.php';
  5. class GeomagnetismwarnController extends PushWarnController
  6. {
  7. public function index()
  8. {
  9. $Data = I('post.');
  10. $log = "[时间" . date("Y-m-d H:i:s") . "]报警数据:" . json_encode($Data) . "\r\n";
  11. $filename_log = "/var/www/html/jdxf/log/DC_log" . date("Y-m-d") . ".log";
  12. file_put_contents($filename_log, $log, FILE_APPEND | LOCK_EX);
  13. if (empty($Data['phone'])) {
  14. dump($Data['phone']);
  15. exit;
  16. }
  17. if (!empty($Data['IMEI'])) {
  18. $dataid = $Data['IMEI'];
  19. } else if (!empty($Data['IEMI'])) {
  20. $dataid = $Data['IEMI'];
  21. } else {
  22. exit;
  23. }
  24. // $insert_id = $Data['insert_id'];
  25. $time = $Data['time'];
  26. $bz = $Data['bz'];
  27. $where='';
  28. switch ($Data['evt']) {
  29. case 'gs01':
  30. $status = '车位变空';
  31. // $where = " AND data2 like '%3%'";
  32. break;
  33. case 'gs02':
  34. $status = '车位被占';
  35. // $where = " AND data2 like '%3%'";
  36. break;
  37. case 'gs03':
  38. $status = '强磁干扰';
  39. // $where = " AND data2 like '%3%'";
  40. break;
  41. case 'gs04':
  42. $status = '低电压报警';
  43. // $where = " AND data2 like '%3%'";
  44. break;
  45. case 'gs05':
  46. $status = '磁传感器检测失效';
  47. // $where = " AND data2 like '%5%'";
  48. break;
  49. case 'gs06':
  50. $status = '磁传感器硬件损坏';
  51. // $where = " AND data2 like '%3%'";
  52. break;
  53. case 'gs07':
  54. $status = '车位被占';
  55. // $where = " AND data2 like '%3%'";
  56. break;
  57. case 'gs08':
  58. $status = '车位变空';
  59. // $where = " AND data2 like '%3%'";
  60. break;
  61. default:
  62. $status = '其他' . $Data['evt'];
  63. // $where = " AND data2 like '%3%'";
  64. break;
  65. }
  66. $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 . "'");
  67. $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 . "");
  68. // print_r("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 . "");
  69. if (count($union_sql) == 0) {
  70. exit;
  71. }
  72. $openids = $this->array_column1($union_sql, "phone");
  73. if (empty($openids)) {
  74. echo 'open is null';
  75. exit;
  76. }
  77. $status11 = M()->query("SELECT statustime FROM sp_devices_status where deviceid='" . $dataid . "'");
  78. $op = M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)");
  79. print_r("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)");
  80. $access_token = GetAccess_Token1();
  81. // $access_token1 = S('accesToken');
  82. $address = '警报地址:' . $company[0]['owner_address'] . $company[0]['unitinfo'];
  83. $deviceid = $dataid;
  84. $type = $status;
  85. if (empty($time)) {
  86. $time = $status11[0]['statustime'];
  87. }
  88. // $ljcompany = $company[0]['company'];
  89. if (!empty($bz)) {
  90. $remark = $bz;
  91. } else {
  92. $remark = '设备名称:' . $company[0]['owner_name'];
  93. }
  94. // $ljurl = "https://iot.usky.cn/jdxf/wxapp2.php/Home/Fireinfo/index/type/2/id/" . $insert_id;
  95. foreach ($op as $o) {
  96. if (!empty($o['openid'])) {
  97. $arr = $this->SendDeviceAlarm($access_token, $o['openid'], $address, $deviceid, $type, $time, $remark, $ljurl='', $url = '');
  98. // print_r($arr);
  99. }
  100. }
  101. }
  102. }