BatteryLog.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace catchAdmin\logs\model;
  3. use catcher\base\CatchModel as Model;
  4. use catcher\generate\factory\SQL;
  5. class BatteryLog extends Model
  6. {
  7. // 表名
  8. public $name = 'battery_log';
  9. // 数据库字段映射
  10. public $field = array(
  11. 'id',
  12. // 设备imei
  13. 'imei',
  14. // 电池电量
  15. 'battery_level',
  16. // 是否低电
  17. 'is_low',
  18. // 是否充电中
  19. 'is_charge',
  20. // 是否充满
  21. 'is_charge_full',
  22. // 创建人ID
  23. 'creator_id',
  24. // 创建时间
  25. 'created_at',
  26. // 更新时间
  27. 'updated_at',
  28. // 软删除
  29. 'deleted_at',
  30. );
  31. public function getList($heartTime=null)
  32. {
  33. if($heartTime){
  34. $this->name='battery_log_'.date('Ym',strtotime($heartTime));
  35. }else{
  36. $this->name='battery_log_'.date('Ym');
  37. }
  38. if (!(new SQL())->hasTableExists($this->name)) {
  39. $this->name="battery_log";
  40. }
  41. $res = $this->catchSearch()
  42. ->order($this->aliasField('id'), 'desc')
  43. ->paginate();
  44. // var_dump($this->getLastSql());
  45. return $res;
  46. }
  47. /**
  48. * 请求时间
  49. */
  50. public function searchHeartTimeAttr($query, $value, $data)
  51. {
  52. $start_time=strtotime($value[0]);
  53. $end_time=strtotime($value[1]);
  54. return $query->whereBetweenTime('created_at', $start_time,$end_time);
  55. }
  56. /**
  57. * 设备Imei过滤
  58. */
  59. public function searchImeiAttr($query, $value, $data)
  60. {
  61. return $query->where('imei',$value);
  62. }
  63. /**
  64. * 电量
  65. */
  66. public function getBatteryLevelAttr($value)
  67. {
  68. if($value==0){
  69. return '<5';
  70. }
  71. return $value;
  72. }
  73. public function getIsLowAttr($value)
  74. {
  75. return $value ? '是' : '否';
  76. }
  77. public function getIsChargeFullAttr($value)
  78. {
  79. return $value ? '是' : '否';
  80. }
  81. public function getIsChargeAttr($value)
  82. {
  83. return $value ? '是' : '否';
  84. }
  85. }