BatteryHandler.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/9/9
  6. * Time: 2:49 PM
  7. */
  8. namespace App\Handlers;
  9. class BatteryHandler
  10. {
  11. const max_ride_v = 10;
  12. const fangans = [
  13. [
  14. 'min' => 0,
  15. 'max' => 43,
  16. 'electric' => 0,
  17. 'mileage' => 0
  18. ],
  19. [
  20. 'min' => 43,
  21. 'max' => 44,
  22. 'electric' => 10,
  23. 'mileage' => 5
  24. ],
  25. [
  26. 'min' => 44,
  27. 'max' => 46,
  28. 'electric' => 20,
  29. 'mileage' => 10
  30. ],
  31. [
  32. 'min' => 46,
  33. 'max' => 47,
  34. 'electric' => 30,
  35. 'mileage' => 15
  36. ],
  37. [
  38. 'min' => 47,
  39. 'max' => 48,
  40. 'electric' => 40,
  41. 'mileage' => 20
  42. ],
  43. [
  44. 'min' => 48,
  45. 'max' => 49,
  46. 'electric' => 50,
  47. 'mileage' => 25
  48. ],
  49. [
  50. 'min' => 49,
  51. 'max' => 50,
  52. 'electric' => 60,
  53. 'mileage' => 30
  54. ],
  55. [
  56. 'min' => 50,
  57. 'max' => 51,
  58. 'electric' => 70,
  59. 'mileage' => 35
  60. ],
  61. [
  62. 'min' => 51,
  63. 'max' => 52,
  64. 'electric' => 80,
  65. 'mileage' => 40
  66. ],
  67. [
  68. 'min' => 52,
  69. 'max' => 53,
  70. 'electric' => 90,
  71. 'mileage' => 45
  72. ],
  73. [
  74. 'min' => 53,
  75. 'max' => false,
  76. 'electric' => 100,
  77. 'mileage' => 50
  78. ],
  79. ];
  80. public function byVoltageGetElectric($v)
  81. {
  82. foreach (self::fangans as $fangan) {
  83. if ($fangan['min'] === false && $fangan['max'] > $v) {
  84. return $fangan['electric'];
  85. }
  86. if ($fangan['max'] === false && $v['max'] <= $v) {
  87. return $fangan['electric'];
  88. }
  89. if ($fangan['min'] <= $v && $fangan['max'] > $v) {
  90. return $fangan['electric'];
  91. }
  92. }
  93. }
  94. }