ElevatorwarnController.class.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. include '../Common/function.php';
  5. class ElevatorwarnController 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_elevator()
  22. {
  23. $Data = I('post.');
  24. if (empty($Data['phone'])) {
  25. dump($Data['phone']);
  26. exit;
  27. }
  28. if (!empty($Data['IMEI'])) {
  29. $dataid = $Data['IMEI'];
  30. } else if (!empty($Data['IEMI'])) {
  31. $dataid = $Data['IEMI'];
  32. } else {
  33. exit;
  34. }
  35. $statustime = $Data['time'];
  36. $openids = $Data['phone'];
  37. $insert_id = $Data['insert_id'];
  38. $user_from = $Data['user_from'];
  39. $bz = $Data['bz'];
  40. addInt("insert into aaa (user_from,insert_id,dataid,txt) values ('" . $user_from . "'," . $insert_id . ",'" . $dataid . "','" . $Data . "')");
  41. if (!empty($Data['evt_name'])) {
  42. $status = $Data['evt_name'];
  43. } else {
  44. switch ($Data['evt']) {
  45. case 'LF01':
  46. $status = '声音报警';
  47. $where = " AND data2 like '%9%'";
  48. break;
  49. case 'LF03':
  50. $status = '电梯检修';
  51. $where = " AND data2 like '%9%'";
  52. break;
  53. case 'LF04':
  54. $status = '电梯检修恢复';
  55. $where = " AND data2 like '%9%'";
  56. break;
  57. case 'LF05':
  58. $status = '电梯故障';
  59. $where = " AND data2 like '%9%'";
  60. break;
  61. case 'LF0501':
  62. $status = '电梯异常停留';
  63. $where = " AND data2 like '%9%'";
  64. break;
  65. case 'LF0502':
  66. $status = '电梯异常开门';
  67. $where = " AND data2 like '%9%'";
  68. break;
  69. case 'LF0503':
  70. $status = '电梯异常关门';
  71. $where = " AND data2 like '%9%'";
  72. break;
  73. case 'LF0504':
  74. $status = '电梯异常走梯';
  75. $where = " AND data2 like '%9%'";
  76. break;
  77. case 'LF06':
  78. $status = '电梯故障恢复';
  79. $where = " AND data2 like '%9%'";
  80. break;
  81. default:
  82. $status = '其他' . $Data['Status'];
  83. $where = " AND data2 like '%9%'";
  84. break;
  85. }
  86. }
  87. $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 . "'");
  88. $union_sql = M()->query("select phone from sp_owner_phone WHERE owner_code='" . $company[0]['company'] . "' " . $where . " and statusbb=1 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 . " and statusbb=1 ");
  89. if (count($union_sql) == 0) {
  90. exit;
  91. }
  92. $openids = $this->array_column1($union_sql, "phone");
  93. if (empty($openids)) {
  94. echo 'open is null';
  95. exit;
  96. }
  97. // $status11=M()->query("SELECT statustime FROM sp_devices_status where deviceid='".$dataid."'");
  98. $op = M()->query("SELECT openid FROM sp_wx_customuser WHERE type='wx' and idphone in($openids)");
  99. $access_token = GetAccess_Token1();
  100. $address = '警报地址:' . $company[0]['owner_address'] . $company[0]['unitinfo'];
  101. $deviceid = $dataid;
  102. $type = $status;
  103. $time = $statustime;
  104. // $remark='设备名称:'.$company[0]['owner_name'];
  105. // $ljcompany=$company[0]['company'];
  106. // $ljurl = "http://www.jd-ioe.com/jdxf/wxapp2.php/Home/Lifter/index/companyid/".$ljcompany;
  107. if (!empty($bz)) {
  108. $remark = $bz;
  109. } else {
  110. $remark = '设备名称:' . $company[0]['owner_name'];
  111. }
  112. $ljurl = "https://qhome.usky.cn/jdxf/wxapp2.php/Home/Fireinfo/index/type/17/id/" . $insert_id;
  113. foreach ($op as $o) {
  114. if (!empty($o['openid'])) {
  115. //token,微信id,地址,设备号,类型,时间,设备名称(或者其他内容)
  116. //{{first.DATA}}$address
  117. //设备号:{{keyword1.DATA}}$deviceid
  118. //报警类型:{{keyword2.DATA}}$type
  119. //时间:{{keyword3.DATA}}$time
  120. //{{remark.DATA}}$remark
  121. $this->SendDeviceAlarm($access_token, $o['openid'], $address, $deviceid, $type, $time, $remark, $ljurl, $url = '');
  122. }
  123. }
  124. }
  125. }