function track_number_detail_country($trackName) { global $trackNumber, $carrierId; $detailInfo = TransOpenApiModel::getTrackInfo($trackNumber, $trackName); echo $detailInfo, "\n"; $detailInfo = json_decode($detailInfo, true); print_r($detailInfo); $data = array(); if (is_array($detailInfo)) { $detailCount = count($detailInfo['trackingEventList']); if ($detailCount > 0) { //有跟踪数据插入 foreach ($detailInfo['trackingEventList'] as $key => $val) { $postion = post_check($val['place']); $event = post_check($val['details']); $trackTime = strtotime($val['date']) ? strtotime($val['date']) : strtotime(trim(substr($val['date'], 0, strpos($val['date'], ' ')))); $addTime = time(); array_push($data, "('{$trackNumber}','{$postion}','{$event}','{$trackTime}','{$addTime}')"); } array_push($data, $trackNumber); print_r($data); $sql_data = $data; $data = array('status' => $detailInfo['Response_Info']['status']); $res_number = TransOpenApiModel::updateTrackNumber($trackNumber, $data); //更新跟踪号信息 $res_detail = TransOpenApiModel::addTrackNumberDetailByCountry($carrierId, $sql_data); //详细数据插入 echo $res_detail, "=====", $res_number, "=====", date('Y-m-d H:i:s'), "\n"; return $detailInfo['Response_Info']['status']; } else { if (!isset($detailInfo['errCode'])) { $res = TransOpenApiModel::updateTrackNumber($trackNumber, array("trackTime" => time())); // check_cancel_order(); return 0; } else { return -1; } } } else { return -1; } }
$detailCount = count($detailInfo['trackingEventList']); if ($detailCount > 0) { //有跟踪数据插入 foreach ($detailInfo['trackingEventList'] as $key => $val) { $postion = post_check($val['place']); $event = post_check($val['details']); $trackTime = strtotime($val['date']) ? strtotime($val['date']) : strtotime(trim(substr($val['date'], 0, strpos($val['date'], ' ')))); $addTime = time(); array_push($data, "('{$trackNumber}','{$postion}','{$event}','{$trackTime}','{$addTime}')"); } array_push($data, $trackNumber); print_r($data); $sql_data = $data; //批量插入跟踪号详细信息数据 $data = array('status' => $detailInfo['Response_Info']['status']); $res_detail = TransOpenApiModel::addTrackNumberDetailByCountry($v['carrierId'], $sql_data); //详细数据插入 if ($v['status'] != '0') { $res_number = TransOpenApiModel::updateTrackNumber($trackNumber, $data); //更新跟踪号摘要信息 } else { $res_number = $v['trackNumber']; } echo $res_detail, "=====", $res_number, "=====", date('Y-m-d H:i:s', time()), "\n"; $errnum = 1; } else { if (isset($detailInfo['errCode'])) { if ($errnum >= $errMaxNum) { echo date('Y-m-d H:i:s', time()), "===数据连续抓取失败{$errMaxNum},即将退出数据抓取\n"; $message = TransOpenApiModel::sendMessage("{$type}", "{$from}", "{$to}", '物流系统服务器(121.40.69.217)报错,' . $detailInfo['ReturnValue'] . '-cid:' . $carrierId . ',请及时处理下!', '物流系统服务器报错' . $detailInfo['errCode']); echo date('Y-m-d H:i:s', time()), "===信息发送状态:", $message, "\n";