<?php
/**
 * Created by JetBrains PhpStorm.
 * User: user
 * Date: 14-8-20
 * Time: 下午5:20
 * To change this template use File | Settings | File Templates.
 */
require_once ('config.php');

$flagFile = APPLICATION_PATH . '/../data/log/getUKTLLabel.lock';
if (@file_exists($flagFile)) {
    echo 'Another process is running.'."\r\n";
    echo $flagFile."\r\n";
    exit();
}
$link = fopen($flagFile, 'wb');
fclose($link);
define('RUNTIME', '[' . date('Y-m-d H:i:s') . '] ');
echo RUNTIME . "Starting.\r\n\r\n";

$condition = array(
    'sm_code'=>'UKTL',
    'order_status'=>'4',
    'order_mode_type'=>'0',
    'empty_ref_tracking_number'=>'1',
);
$total = Service_Orders::getByCondition($condition,"count(*)");
$pageSize = 20;
$totalPage = ceil($total/$pageSize);
for($page=1;$page<=$totalPage;$page++){
    $orderList = Service_Orders::getByCondition($condition,'*',$pageSize,$page,'order_id desc');
    foreach($orderList as $k=>$v){
        // 数据过滤
        if ('UKTL' !== trim($v['sm_code'])
            || 0 !== (int) $v['order_mode_type']
            || 4 !== (int) $v['order_status']
            || '' !== trim($v['ref_tracking_number'])) {
          continue ;
        }

        $uktlService = new Service_UktlWebService();
        $return = $uktlService->createUktlOrder($v['order_code']);
        if($return[0]!="SUCCESS"){
            echo $v['order_code']." get label fail reason:</br>";
            var_dump($return);
            $errorLog=array(
                'order_code'=>$v['order_code'],
                'sm_code'=>$v['sm_code'],
                'content'=>var_export($return,true),
            );
            Service_TrackingErrorLog::add($errorLog);
        }else{
            $pdfLabelUrl = $return[1];
            $refTrackingNumber = $return[2];
            $updateOrder = array(
                'ref_tracking_number'=>$refTrackingNumber
            );
            Service_Orders::update($updateOrder,$v['order_id'],"order_id");
            $full_path = APPLICATION_PATH.'/../data/pdf/UKTL/'.$v['order_code'].'.pdf';
            $content = file_get_contents($pdfLabelUrl);
            if(!file_exists($full_path)){
                touch($full_path);
            }
            file_put_contents($full_path,$content,FILE_APPEND);
        }
    }
}
echo "[" . date('Y-m-d H:i:s') . "] End run\r\n";
@unlink($flagFile);