<?php
require_once 'config.php';
set_time_limit(0);
$flag = APPLICATION_PATH . '/../data/log/sfgetLabel.lock';
if (@file_exists($flag)) {
    echo "Another process is running.\r\n";
    echo "{$flag}\r\n";
    exit();
}

$handler = fopen($flag, 'wb');
fclose($handler);

echo '[', date('Y-m-d H:i:s'), '] Starting.', "\r\n";
$condition = array(    
    'sm_code_Arr' => ['BH-USPS', 'BH-DPD', 'PNLG', 'PNLN','BH-SFEP'], // 运输方式
    //'order_status' => 4, // 订单状态：已提交
    // 'order_mode_type'         => 0, // 集货模式
    'no_empty_ref_tracking_number' => '1', // 服务商单号
	'add_time_start'=>date("Y-m-d H:i:s",strtotime("-2 days"))
);

$total = Service_Orders::getByCondition($condition, 'count(*)');
if($total>0){
    $size = 20;
    $maxPage = ceil($total / $size);
    for ($page = 1; $page <= $maxPage; $page++) {
        $orderList = Service_Orders::getByCondition($condition, '*', $size, $page, 'order_id DESC');
        foreach ($orderList as $order){
            try{
                $labelResult = Service_OrdersLabel::getByField($order['order_code'],'order_code');
                //$content='';
                if(empty($labelResult)){
                    $UspsClass = new Service_UspsInterface();
                    $pdfPath=$UspsClass->getLabel($order['order_code'], $order['ref_tracking_number']);
                    if($pdfPath['pdfUrl']){
                        /*$b=fopen($pdfPath['pdfUrl'],'r');
                        while(!feof($b)){
                            $content.=fread($b,1024);
                        }*/
                        $fileContent = file_get_contents($pdfPath['pdfUrl']);
                        Service_OrdersLabel::add(array(
                            'order_code'=>$order['order_code'],
                            'ol_content'=>  base64_encode($fileContent),
                            'ol_time'=>date('Y-m-d H:i:s')));
                        echo "[".$order['order_code']."]标签获取成功\n";
                    }
                }
            }catch (Exception $e){
                echo $e->getMessage()."\n";
            }

            //$UspsClass = new Service_UspsInterface();
            //$pdfPath = $UspsClass->getLabel($order['order_code'], $order['ref_tracking_number']);
        }
    }
}
echo '[', date('Y-m-d H:i:s'), '] End run', "\r\n";
@unlink($flag);
?>