successful_where($type); Tpl::output('days', $days); Tpl::showpage($page); } private function successful_where($type) { if ($type == 'system') { $url = BASE_SITE_URL . '/plot/mchdays'; } else { $url = BASE_SITE_URL . '/plot/days'; } Log::record("successful get timestamp url : {$url}", Log::DEBUG); $data = http_request($url); if(empty($data)) return []; preg_match_all('/\d{10}/', $data, $matches); $days = $matches[0]; if(empty($days)) return []; $result = []; foreach ($days as $day) { $result[$day] = date("Y-m-d",$day); } return $result; } public function successful_time_get_whereOp(){ $type = $_GET['type'] ?? 'provider'; if ($type == 'system') { $url = BASE_SITE_URL . '/plot/mchpaths?time_stamp='.$_GET['timestamp']; } else { $url = BASE_SITE_URL . '/plot/paths?time_stamp='.$_GET['timestamp']; } Log::record("successful get where url : {$url}", Log::DEBUG); $data = http_request($url); if(empty($data)) { echo(json_encode('')); exit; } if($type == 'system') { preg_match_all('/\d{10}\/\d+\/\d{1,2}\/\d\/\d{2,4}/', $data, $matches); } else { preg_match_all('/\d{10}\/[a-z]+\/\d{1,2}\/\d\/\d{2,4}/', $data, $matches); } $conds = $matches[0]; if(empty($conds)) { echo(json_encode('')); exit; } foreach ($conds as $cond) { $arr = explode('/',$cond); $chname[] = $arr[1]; $qualitys[] = $arr[2]; $card_types[] = $arr[3]; $amount[] = intval($arr[4]); } $chnameData = array_unique($chname); sort($chnameData); $result['chname'] = $chnameData; if ($type == 'system') { $merchants = []; $merchant_list = Model('')->table('merchant')->limit(1000)->field('mchid,name,company_name')->select(); foreach ($merchant_list as $key => $value) { $merchants[$value['mchid']] = $value; } foreach ($chnameData as $mchid) { $mchname[$mchid] = $merchants[$mchid]['company_name'] == '' ? $merchants[$mchid]['name'] : $merchants[$mchid]['company_name']; } $result['chname'] = $mchname; } $amountData = array_unique($amount); sort($amountData); $result['amount'] = $amountData; foreach (array_unique($card_types) as $card_type) { $card_typeData[$card_type] = $this->scard_type($card_type); } ksort($card_typeData); $result['card_type'] = $card_typeData; $quality_txt = [1=>'普充', 2=>'快充', 3=>'卡密', 4=>'三方', 5=>'慢充二十四小时', 6=>'慢充六小时', 7=>'慢充两小时']; foreach (array_unique($qualitys) as $quality) { $qualityData[$quality] = $quality_txt[$quality]; } ksort($qualityData); $result['quality'] = $qualityData; echo(json_encode($result)); exit; } private function scard_type(int $card_type) { if ($card_type == 1) { //中石油 return '中石油'; } elseif ($card_type == 2) { //中石化 return '中石化'; } elseif ($card_type == 4) { //中国移动 return '中国移动'; } elseif ($card_type == 5) { //中国联通 return '中国联通'; } elseif ($card_type == 6) { //中国电信 return '中国电信'; } elseif ($card_type == 7) { //中国电信 return '增值业务'; } else { return 'unknown'; } } }