StatusTransform.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/9/3
  6. * Time: 8:05 PM
  7. */
  8. namespace App\Servers\Weikemu\Transforms;
  9. use App\Maps\BikeMap;
  10. use App\Models\BoxSettingTraitModel;
  11. use App\Models\WarningLogTraitModel;
  12. use App\Servers\BaseServer;
  13. /**
  14. * 状态报文
  15. * Class LoginServer
  16. * @package App\Servers
  17. */
  18. class StatusTransform extends BaseServer
  19. {
  20. use BoxSettingTraitModel, WarningLogTraitModel;
  21. /**
  22. * 处理设备序列号
  23. * @param $no
  24. * @return bool|string
  25. * User: Mead
  26. */
  27. private
  28. static function box_no($no)
  29. {
  30. return substr($no, 0, 9);
  31. }
  32. public function main($body)
  33. {
  34. $data = $this->decode($body);
  35. $battery_power = $data['battery_voltage'];
  36. if ($battery_power > 10) {
  37. $cols['battery_power'] = $battery_power;
  38. $cols['is_low_battery_power'] = BikeMap::BATTERY_POWER_OK;
  39. if ($cols['battery_power'] <= self::$max_ride_v) {
  40. $cols['is_low_battery_power'] = BikeMap::BATTERY_POWER_LOW;
  41. }
  42. // $this->db->update('bikes')->where('box_no = ' . $data['box_no'])->cols($cols)->query();
  43. $box_no = $data['box_no'];
  44. $this->db->update('bikes')->where("box_no = '{$box_no}'")->cols($cols)->query();
  45. }
  46. return $this->response();
  47. }
  48. /**
  49. * 解析装载的状态消息
  50. * @param $body
  51. * @return array
  52. * User: Mead
  53. */
  54. private function decode($body)
  55. {
  56. $top34Data = $this->decodeWeiKeMuTop34($body);
  57. // $i = 34;
  58. return $top34Data;
  59. }
  60. /**
  61. * 状态响应
  62. * @param $login_type
  63. * @return array
  64. * User: Mead
  65. */
  66. public function response($login_type = '00')
  67. {
  68. $body = [
  69. '5b',
  70. '0000'
  71. ];
  72. return $body;
  73. }
  74. }