refill_successful.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. require_once(BASE_CONFIG_PATH . CONFIG_PREFIX . '/refill.ini.php');
  3. require_once(BASE_ROOT_PATH . '/core/framework/function/http.php');
  4. class refill_successfulControl extends SystemControl
  5. {
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10. public function provider_successfulOp()
  11. {
  12. $days = $this->successful_where();
  13. Tpl::output('days', $days);
  14. Tpl::showpage('provider.successful');
  15. }
  16. private function successful_where() {
  17. $url = BASE_SITE_URL . '/plot/days';
  18. Log::record("successful get timestamp url : {$url}", Log::DEBUG);
  19. $data = http_request($url);
  20. if(empty($data)) return [];
  21. preg_match_all('/\d{10}/', $data, $matches);
  22. $days = $matches[0];
  23. if(empty($days)) return [];
  24. $result = [];
  25. foreach ($days as $day) {
  26. $result[$day] = date("Y-m-d",$day);
  27. }
  28. return $result;
  29. }
  30. public function successful_time_get_whereOp(){
  31. $url = BASE_SITE_URL . '/plot/paths?time_stamp='.$_GET['timestamp'];
  32. Log::record("successful get where url : {$url}", Log::DEBUG);
  33. $data = http_request($url);
  34. if(empty($data)) {
  35. echo(json_encode(''));
  36. exit;
  37. }
  38. preg_match_all('/\d{10}\/[a-z]+\/\d{1,2}\/\d\/\d{2,4}/', $data, $matches);
  39. $conds = $matches[0];
  40. if(empty($conds)) {
  41. echo(json_encode(''));
  42. exit;
  43. }
  44. foreach ($conds as $cond) {
  45. $arr = explode('/',$cond);
  46. $chname[] = $arr[1];
  47. $qualitys[] = $arr[2];
  48. $card_types[] = $arr[3];
  49. $amount[] = intval($arr[4]);
  50. }
  51. $chnameData = array_unique($chname);
  52. sort($chnameData);
  53. $result['chname'] = $chnameData;
  54. $amountData = array_unique($amount);
  55. sort($amountData);
  56. $result['amount'] = $amountData;
  57. foreach (array_unique($card_types) as $card_type) {
  58. $card_typeData[$card_type] = $this->scard_type($card_type);
  59. }
  60. ksort($card_typeData);
  61. $result['card_type'] = $card_typeData;
  62. $quality_txt = [1=>'普充', 2=>'快充', 3=>'卡密', 4=>'三方', 5=>'慢充'];
  63. foreach (array_unique($qualitys) as $quality) {
  64. $qualityData[$quality] = $quality_txt[$quality];
  65. }
  66. ksort($qualityData);
  67. $result['quality'] = $qualityData;
  68. echo(json_encode($result));
  69. exit;
  70. }
  71. private function scard_type(int $card_type)
  72. {
  73. if ($card_type == 1) { //中石油
  74. return '中石油';
  75. } elseif ($card_type == 2) { //中石化
  76. return '中石化';
  77. } elseif ($card_type == 4) { //中国移动
  78. return '中国移动';
  79. } elseif ($card_type == 5) { //中国联通
  80. return '中国联通';
  81. } elseif ($card_type == 6) { //中国电信
  82. return '中国电信';
  83. } else {
  84. return 'unknown';
  85. }
  86. }
  87. }