/** * TrackWarnInfoAct::act_getTrackNumberInfo() * 列出某个跟踪号的详细追踪信息 * @param integer $tid 分表ID * @param string $trackNumber 跟踪号 * @return array */ public function act_getTrackNumberInfo() { $tid = isset($_POST["tid"]) ? intval($_POST["tid"]) : 0; $trackNumber = isset($_POST["trackNumber"]) ? post_check($_POST["trackNumber"]) : ""; $act = isset($_REQUEST["act"]) ? post_check($_REQUEST["act"]) : ""; $mod = isset($_REQUEST["mod"]) ? post_check($_REQUEST["mod"]) : ""; if (!AuthUser::checkLogin($mod, $act)) { self::$errCode = 10002; self::$errMsg = "对不起,您无跟踪号详细数据查看权限!"; return false; } if (empty($tid) || !is_numeric($tid)) { self::$errCode = "ID有误"; self::$errMsg = 10000; return false; } if (empty($trackNumber)) { self::$errCode = "跟踪号有误!"; self::$errMsg = 10001; return false; } $res['trackInfo'] = TrackWarnInfoModel::listTrackNumberInfo($tid, $trackNumber); self::$errCode = TrackWarnInfoModel::$errCode; self::$errMsg = TrackWarnInfoModel::$errMsg; if (in_array($tid, array(2, 6, 79, 88, 89))) { $res['countryInfo'] = TrackWarnInfoModel::listTrackNumberInfoForCountry($tid, $trackNumber); } else { $res['countryInfo'] = array(); } return $res; }
print_r($nodes); if (empty($nodes)) { exit("未设置运德物流预警节点,暂没法分析数据!\n"); } foreach ($countrys as $c) { $country = $c['countryNameEn']; $postion = empty($where) ? "toCountry = '{$country}'" : $where . " AND toCountry = '{$country}'"; $numberList = TransOpenApiModel::getTrackNumberList($page, $pagenum, $carrierId, $postion, $hours, 'DESC'); //获取符合条件的跟踪号列表 $total = count($numberList); echo date('Y-m-d H:i:s', time()) . "===" . $c['countryNameEn'] . "===" . $total . "条数据分析开始!" . "\n\n"; //得到原始数据 foreach ($numberList as $v) { $timestr = date('Y-m-d H:i:s', time()); $times = $v['scanTime']; $details = TrackWarnInfoModel::listTrackNumberInfo($carrierId, $v['trackNumber']); $details = json_decode($details, true); foreach ($details as $detail) { foreach ($nodes as $node) { if (strpos($detail['event'], $node['nodeName']) !== false) { $trackTime = strtotime($detail['trackTime']); if ($trackTime !== false) { $aging = $trackTime - $times; $aging = $aging <= 0 ? 0 : $aging; $data[$v['toCountry']][$node['nodeName']][] = $aging; //$data[$v['toCountry']]['trackNumbers'][] = $v['trackNumber']; $times = $trackTime; break; } } }