示例#1
0
 public static function auto_contrast_intercept($orderData)
 {
     global $SYSTEM_ACCOUNTS, $__liquid_items_fenmocsku, $__liquid_items_BuiltinBattery, $__liquid_items_SuperSpecific, $__liquid_items_Paste;
     global $GLOBAL_EBAY_ACCOUNT;
     global $express_delivery, $no_express_delivery;
     if (!$SYSTEM_ACCOUNTS) {
         $__liquid_items_array = PurchaseAPIModel::getAdjustransportFromPurchase();
         //var_dump($__liquid_items_array);
         //echo time(); echo "<br>";
         $__liquid_items_postbyhkpost = array_filter(explode(",", $__liquid_items_array['液体产品']));
         //液体产品
         $__liquid_items_postbyfedex = array_filter(explode(",", $__liquid_items_array['贵重产品']));
         //贵重物品走联邦
         $__liquid_items_cptohkpost = array_filter(explode(",", $__liquid_items_array['指甲油产品']));
         //指甲油转香港小包
         $__liquid_items_elecsku = array_filter(explode(",", $__liquid_items_array['电子类产品']));
         //电子类产品走香港小包
         //$__elecsku_countrycn_array = array_filter(explode(",", $__liquid_items_array['']));//电子类产品指定国家
         $__liquid_items_fenmocsku = array_filter(explode(",", $__liquid_items_array['粉末状产品']));
         //粉末状SKU
         $__liquid_items_BuiltinBattery = array_filter(explode(",", $__liquid_items_array['内置电池产品']));
         //内置电池类产品
         $__liquid_items_SuperSpecific = array('6471', '14995');
         //超规格的产品,长度大于60cm, 三边大于 90cm
         $__liquid_items_Paste = array_filter(explode(",", $__liquid_items_array['膏状产品']));
         //膏状SKU*/
         $__liquid_items_elecWithoutBattery = array_filter(explode(",", $__liquid_items_array['电子类【不带电池】']));
         //电子类【不带电池】*/
         $__liquid_items_OutWeight = array_filter(explode(",", $__liquid_items_array['超重产品>=1.9kg']));
         //超重产品>=1.9kg*/
         //取统一包装材料重量数据
         //$MaterInfo = CommonModel::getMaterInfo();
         //取统一国家中文名对应英文名
         /*$ec = "select * from ebay_countrys where ebay_user='******' ";
         		$result = $dbConn->execute($ec);
         		$ebay_country_lists = $dbConn->getResultArray($result);
         		$global_countrycn_coutryen = array();
         		foreach($ebay_country_lists AS $ebay_country_list){
         			$global_countrycn_coutryen[trim($ebay_country_list['countryen'])] = trim($ebay_country_list['countrycn']);
         		}*/
         //取各个平台的账号名称
         $SYSTEM_ACCOUNTS = OmAvailableModel::getPlatformAccount();
         //echo "<pre>";print_r($SYSTEM_ACCOUNTS);
         $express_delivery = array();
         $express_delivery_value = array();
         $no_express_delivery = array();
         $no_express_delivery_value = array();
         $express_delivery_value = CommonModel::getCarrierListById(1);
         /*foreach($express_delivery_arr as $value){
         			$express_delivery_value[$value['id']] = $value['carrierNameCn'];
         		}*/
         $express_delivery = array_keys($express_delivery_value);
         //var_dump($express_delivery);
         $no_express_delivery_value = CommonModel::getCarrierListById(0);
         /*foreach($no_express_delivery_arr as $value){
         			$no_express_delivery_value[$value['id']] = $value['carrierNameCn'];
         		}*/
         $no_express_delivery = array_keys($no_express_delivery_value);
     }
     if (!$GLOBAL_EBAY_ACCOUNT) {
         $GLOBAL_EBAY_ACCOUNT = array();
         foreach ($SYSTEM_ACCOUNTS as $acct) {
             foreach ($acct as $key => $value) {
                 $GLOBAL_EBAY_ACCOUNT[$key] = $value;
             }
         }
     }
     //var_dump($GLOBAL_EBAY_ACCOUNT);exit;
     self::initDB();
     //var_dump($orderData); echo "\n";
     $log_data = "";
     $actualTotal0 = 0;
     //该订单实际总数
     //$ebay_id = $orderData['orderData']['id'];
     $orderStatus = empty($orderData['orderData']['orderStatus']) ? C('STATEPENDING') : $orderData['orderData']['orderStatus'];
     $orderType = empty($orderData['orderData']['orderType']) ? C('STATEPENDING_CONV') : $orderData['orderData']['orderType'];
     $returnStatus = array('orderStatus' => $orderStatus, 'orderType' => $orderType);
     $isNote = $orderData['orderData']['isNote'];
     if ($isNote) {
         $orderType = C('STATEPENDING_MSG');
     }
     $calcWeight = $orderData['orderData']['calcWeight'];
     $pmId = $orderData['orderData']['pmId'];
     //var_dump($calcWeight); echo "\n";
     $orderdetaillist = $orderData['orderDetail'];
     if (empty($calcWeight)) {
         $calcInfo = CommonModel::calcAddOrderWeight($orderdetaillist);
         //计算重量和包材
         $calcWeight = $calcInfo[0];
         $pmId = $calcInfo[1];
         $orderData['orderData']['calcWeight'] = $calcWeight;
         $orderData['orderData']['pmId'] = $pmId;
     }
     //var_dump($calcWeight); echo "\n";
     $transportId = @$orderData['orderData']['transportId'];
     $countryName = $orderData['orderUserInfoData']['countryName'];
     $accountId = $orderData['orderData']['accountId'];
     $actualTotal = $orderData['orderData']['actualTotal'];
     $ebay_username = $orderData['orderUserInfoData']['username'];
     $orderDataid = $orderData['orderExtenData']['orderId'];
     $ebay_usermail = $orderData['orderUserInfoData']['email'];
     $PayPalEmailAddress = @$orderData['orderExtenData']['PayPalEmailAddress'];
     //echo "------$countryName-----\n";
     //echo "订单计算重量:$calcWeight\t\n";
     $contain_special_item = false;
     $contain_os_item = false;
     $ow_status = array();
     //foreach ($orderdetaillist AS $orderdetail){
     for ($i = 0; $i < count($orderdetaillist); $i++) {
         $sku = $orderdetaillist[$i]['orderDetailData']['sku'];
         $itemPrice = $orderdetaillist[$i]['orderDetailData']['itemPrice'];
         $amount = $orderdetaillist[$i]['orderDetailData']['amount'];
         $shippingFee = $orderdetaillist[$i]['orderDetailData']['shippingFee'];
         //var_dump($sku);
         $sku_arr = GoodsModel::get_realskuinfo($sku);
         //var_dump($sku_arr); exit;
         $actualTotal0 += $itemPrice * $amount + $shippingFee;
         foreach ($sku_arr as $or_sku => $or_nums) {
             if (in_array($or_sku, $__liquid_items_fenmocsku) || in_array($or_sku, $__liquid_items_SuperSpecific) || in_array($or_sku, $__liquid_items_BuiltinBattery)) {
                 //粉末状,超规格产品 走福建邮局
                 $contain_special_item = true;
             }
             if (preg_match("/^US01\\+.*/", $or_sku, $matchArr) || preg_match("/^US1\\+.*/", $or_sku, $matchArr)) {
                 //$log_data .= "[".date("Y-m-d H:i:s")."]\t包含海外仓料号订单---{$ebay_id}-----料号:{$or_sku}--!\n\n";
                 $contain_os_item = true;
                 if (strpos($or_sku, "US01+") !== false) {
                     $matchStr = substr($matchArr[0], 5);
                     //去除前面
                     //$matchStr = str_replace("US1+", "", $or_sku);
                 } else {
                     //$matchStr=substr($matchArr[0],5);//去除前面
                     $matchStr = str_replace("US1+", "", $or_sku);
                 }
                 $n = strpos($matchStr, ':');
                 //寻找位置
                 if ($n) {
                     $matchStr = substr($matchStr, 0, $n);
                 }
                 //删除后面
                 if (preg_match("/^0+(\\w+)/", $matchStr, $matchArr)) {
                     $matchStr = $matchArr[1];
                 }
                 $orderData['orderDetail'][$i]['orderDetailData']['sku'] = $matchStr;
                 //OrderAddModel::updateDetailExtension(array('sku'=>$matchStr), " id = {$orderdetail['ebay_id']} ");
                 //$virtualnum = check_oversea_stock($matchStr); //检查海外仓虚拟库存
                 $virtualnum = 1;
                 //预留获取海外仓虚拟库存接口 20131225
                 if ($virtualnum >= 0) {
                     $ow_status[] = C('STATEPENDING_OVERSEA');
                     //海外仓待处理
                 } else {
                     $ow_status[] = C('STATEOUTOFSTOCK_OVERSEA');
                     //海外仓缺货
                 }
             }
         }
     }
     if ($contain_special_item) {
         /*$sql = "update ebay_order set ebay_carrierstyle ='1' where ebay_id ={$ebay_id}"; //add by Herman.Xi 记录该订单含有特殊料号
         		$dbConnn->query($sql);
         		$log_data .= "[".date("Y-m-d H:i:s")."]\t包含粉末状超规格产品---{$ebay_id}---!\n\n";*/
     }
     if ($contain_os_item) {
         if (in_array(C('STATEOUTOFSTOCK_OVERSEA'), $ow_status)) {
             $orderData['orderData']['orderStatus'] = C('STATEPENDING_OS');
             $orderData['orderData']['orderType'] = C('STATEOUTOFSTOCK_OVERSEA');
         } else {
             $orderData['orderData']['orderStatus'] = C('STATEPENDING_OS');
             $orderData['orderData']['orderType'] = C('STATEPENDING_OVERSEA');
         }
         //$log_data .= "[".date("Y-m-d H:i:s")."]\t更新海外仓料号订单状态为{$final_status}---{$ebay_id}--{$sql}-!\n\n";
         /*if($final_status == C('STATEPENDING_OVERSEA')){
         
         				$calcWeight = calcWeight($ebay_id);
         				$skunums	 = checkSkuNum($ebay_id);
         				if($skunums === true){
         					continue;
         				}else if ($calcWeight>20) {
         					if($skunums==1){
         						usCalcShipCost($ebay_id);
         					}
         				} else {
         					 usCalcShipCost($ebay_id);
         				}
         			}*/
         //$calcWeight = recalcorderweight($order_sn, $ebay_packingmaterial); //modified by Herman.Xi 2012-10-17
         $log_data .= "[" . date("Y-m-d H:i:s") . "]\t包含海外仓料号---自动跳转---的状态为---{$final_status}!\n\n";
         CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
         return $orderData;
         //continue;
     }
     $interceptrtn = self::intercept_exception_orders($orderData);
     //var_dump($interceptrtn);
     if ($interceptrtn) {
         $orderData['orderData']['orderStatus'] = $interceptrtn['orderStatus'];
         $orderData['orderData']['orderType'] = $interceptrtn['orderType'];
         $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
         CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
         return $orderData;
     }
     $record_details = array();
     $is_640 = false;
     //var_dump($orderdetaillist); exit;
     foreach ($orderdetaillist as $orderdetail) {
         //var_dump($orderdetail['sku']);
         $sku = $orderdetail['orderDetailData']['sku'];
         //$itemPrice = $orderdetail['orderDetailData']['itemPrice'];
         $amount = $orderdetail['orderDetailData']['amount'];
         //$shippingFee = $orderdetail['orderDetailData']['shippingFee'];
         $sku_arr = GoodsModel::get_realskuinfo($sku);
         //var_dump($sku_arr); exit;
         $hava_goodscount = true;
         foreach ($sku_arr as $or_sku => $or_nums) {
             $allnums = $or_nums * $amount;
             if (!CommonModel::check_sku($or_sku, $allnums)) {
                 //超大订单状态
                 $orderStatus = C('STATEOVERSIZEDORDERS');
                 if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['aliexpress']) || in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['DHgate']) || in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['出口通']) || in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['线下结算客户'])) {
                     $orderType = C('STATEOVERSIZEDORDERS_CONFIRM');
                 } else {
                     $orderType = C('STATEOVERSIZEDORDERS_PEND');
                 }
                 //self::insert_mark_shipping($ebay_id);
                 $is_640 = true;
                 break;
             } else {
                 $skuinfo = CommonModel::get_sku_info($or_sku);
                 $salensend = CommonModel::getpartsaleandnosendall($or_sku);
                 //$log_data .= "[".date("Y-m-d H:i:s")."]\t---{$sql}\n\n";
                 $log_data .= "订单==={$ebay_id}===料号=={$or_sku}===实际库存为{$skuinfo['realnums']}===需求量为{$allnums}===待发货数量为{$salensend}===\n";
                 if (!isset($skuinfo['realnums']) || empty($skuinfo['realnums']) || $skuinfo['realnums'] - $salensend - $allnums < 0) {
                     $hava_goodscount = false;
                     break;
                 }
             }
         }
         if ($hava_goodscount) {
             $record_details[] = $orderdetail;
         }
     }
     if ($is_640) {
         $orderData['orderData']['orderStatus'] = $orderStatus;
         $orderData['orderData']['orderType'] = $orderType;
         //$returnStatus = array('orderStatus'=>$orderStatus, 'orderType'=>$orderType);
         $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
         CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
         return $orderData;
     }
     $count_record_details = count($record_details);
     $count_orderdetaillist = count($orderdetaillist);
     $final_status = $orderStatus;
     //原始状态
     if ($count_record_details == 0) {
         //更新至自动拦截发货状态
         /*if (!in_array($ebay_carrier, $no_express_delivery)){
         			$final_status = 658;
         		}else {
         			$final_status = 661;
         		}*/
         //$sql = "UPDATE ebay_order SET ebay_status='$final_status' WHERE ebay_id ='$ebay_id' and ebay_status = '{$orderStatus}' ";
         $orderStatus = C('STATEOUTOFSTOCK');
         $orderType = C('STATEOUTOFSTOCK_AO');
         //$log_data .= "[".date("Y-m-d H:i:s")."]\t自动跳转的状态为---".C('STATEOUTOFSTOCK_AO')."!\n\n";
         //self::insert_mark_shipping($ebay_id);
         //self::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
         //$returnStatus = array('orderStatus'=>$orderStatus, 'orderType'=>$orderType);
         $orderData['orderData']['orderStatus'] = $orderStatus;
         $orderData['orderData']['orderType'] = $orderType;
         $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
         CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
         return $orderData;
     } else {
         if ($count_record_details < $count_orderdetaillist) {
             //更新至自动部分发货状态
             /*if (!in_array($ebay_carrier, $no_express_delivery)){
             			//$final_status = 659;
             			$final_status = 640;
             		}else {
             			$final_status = 660;
             		}*/
             $orderStatus = C('STATEOUTOFSTOCK');
             $orderType = C('STATEOUTOFSTOCK_PO');
             //$log_data .= "[".date("Y-m-d H:i:s")."]\t自动跳转的状态为---".C('STATEOUTOFSTOCK_PO')."!\n\n";
             //self::insert_mark_shipping($ebay_id);
             //$returnStatus = array('orderStatus'=>C('STATEOUTOFSTOCK'), 'orderType'=>C('STATEOUTOFSTOCK_PO'));
             //self::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
             //$returnStatus = array('orderStatus'=>$orderStatus, 'orderType'=>$orderType);
             $orderData['orderData']['orderStatus'] = $orderStatus;
             $orderData['orderData']['orderType'] = $orderType;
             $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
             CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
             return $orderData;
         } else {
             if ($count_record_details == $count_orderdetaillist) {
                 //正常发货状态
                 if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['ebay'])) {
                     if (in_array($orderStatus, array(C('STATEOUTOFSTOCK_PO'), C('STATEOUTOFSTOCK_PO')))) {
                         //$final_status = 618;//ebay订单自动拦截有货不能移动到待处理和有留言 modified by Herman.Xi @ 20130325(移动到缺货需打印中)
                         $orderStatus = C('STATEPENDING');
                         if ($isNote == 1) {
                             echo "有留言\t";
                             $orderType = C('STATEPENDING_MSG');
                         } else {
                             $orderType = C('STATEPENDING_HASARRIVED');
                         }
                     } else {
                         $orderStatus = C('STATEPENDING');
                         if ($isNote == 1) {
                             echo "有留言\t";
                             $orderType = C('STATEPENDING_MSG');
                         } else {
                             $orderType = C('STATEPENDING_CONV');
                         }
                     }
                 } else {
                     if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['aliexpress'])) {
                         if (in_array($countryName, array('Russian Federation', 'Russia')) && strpos($ebay_carrier, '中国邮政') !== false && str_word_count($ebay_username) < 2) {
                             $orderStatus = C('STATESYNCINTERCEPT');
                             $orderType = C('STATESYNCINTERCEPT_AB');
                             $orderData['orderData']['orderStatus'] = $orderStatus;
                             $orderData['orderData']['orderType'] = $orderType;
                             $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
                             CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
                             return $orderData;
                         }
                     } else {
                         if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['DHgate'])) {
                             $orderStatus = C('STATEPENDING');
                             $orderType = C('STATEPENDING_CONV');
                         } else {
                             if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['dresslink.com'])) {
                                 $orderStatus = C('STATEPENDING');
                                 $orderType = C('STATEPENDING_CONV');
                             } else {
                                 if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['cndirect.com'])) {
                                     $orderStatus = C('STATEPENDING');
                                     $orderType = C('STATEPENDING_CONV');
                                 } else {
                                     if (in_array($GLOBAL_EBAY_ACCOUNT[$accountId], $SYSTEM_ACCOUNTS['Amazon'])) {
                                         $orderStatus = C('STATEPENDING');
                                         $orderType = C('STATEPENDING_CONV');
                                     } else {
                                         $orderStatus = C('STATEPENDING');
                                         $orderType = C('STATEPENDING_CONV');
                                     }
                                 }
                             }
                         }
                     }
                 }
                 if ($isNote == 1) {
                     echo "有留言\t";
                     $orderType = C('STATEPENDING_MSG');
                 }
                 /*if(self::judge_contain_combinesku_new($orderdetaillist)){
                 			$final_status = 606;
                 		}*/
                 if ($calcWeight > 2) {
                     echo "\t 超重订单";
                     $orderStatus = C('STATEPENDING');
                     $orderType = C('STATEPENDING_OW');
                 }
                 $expressArr = CommonModel::getCarrierInfoById(1);
                 if (in_array($transportId, $expressArr)) {
                     $orderType = C('STATEPENDING_HASARRIVED');
                 }
                 /*if (!in_array($ebay_carrier, $no_express_delivery) && !empty($ebay_carrier)){
                 			if(in_array($GLOBAL_EBAY_ACCOUNT[$accountId],$SYSTEM_ACCOUNTS['ebay']) || in_array($GLOBAL_EBAY_ACCOUNT[$accountId],$SYSTEM_ACCOUNTS['海外销售平台'])){
                 				$final_status = 641;//ebay和海外都跳转到 待打印线下和异常订单
                 			}else{
                 				$final_status = 639;
                 			}
                 		}*/
             } else {
                 $log_data .= "[" . date("Y-m-d H:i:s") . "]\t订单同步状态有误,请联系IT解决!";
             }
         }
     }
     //$returnStatus = array('orderStatus'=>$orderStatus, 'orderType'=>$orderType);
     $orderData['orderData']['orderStatus'] = $orderStatus;
     $orderData['orderData']['orderType'] = $orderType;
     $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转的状态为--" . $orderStatus . "--" . $orderType . "!\n\n";
     //print_r($GLOBAL_EBAY_ACCOUNT);
     CommonModel::write_scripts_log('auto_contrast_intercept', $GLOBAL_EBAY_ACCOUNT[$accountId], $log_data);
     return $orderData;
 }
		AND		ebay_tracknumber!=''
		AND		ebay_carrier!='' 
		AND 	ebay_account = '".$account."' 
		AND		ebay_site = '".$site."'";// limit 0,7";*/
/*$order_sql	= "	select 	a.omOrderId
				from 	om_unshipped_order_warehouse as a
				where	(a.weighTime BETWEEN $start AND $end)
				and 	a.storeId = 1 ";
$order_db	= $dbConn->query($order_sql);
$orders		= $dbConn->fetch_array_all($order_db);
//var_dump($orders); echo "\n"; exit;
$handle_cnt=count($orders);
if($handle_cnt<=0 ){
	exit("No order to handel\n");
}*/
$delivery_arr = CommonModel::getCarrierListById();
$order_sql = "select a.id,a.recordNumber,a.transportId,a.combinePackage,a.orderStatus \n\t\t\t\tfrom om_shipped_order as a \n\t\t\t\tleft join om_shipped_order_warehouse as b\n\t\t\t\ton a.id = b.omOrderId\n\t\t\t\tleft join om_shipped_order_extension_amazon as c\n\t\t\t\ton a.id = c.omOrderId\n\t\t\t\twhere a.accountId = '{$accountId}'\n\t\t\t\tand\tc.site = '{$site}'\n\t\t\t\tand a.orderStatus ='" . C("STATESHIPPED") . "'\n\t\t\t\tand a.orderType ='" . C("STATEHASSHIPPED_CONV") . "'\n\t\t\t\tand (b.weighTime BETWEEN {$start} AND {$end}) and (a.ShippedTime ='' or a.ShippedTime is null) \n\t\t\t\tORDER BY b.weighTime ";
$order_db = $dbConn->query($order_sql);
$orders = $dbConn->fetch_array_all($order_db);
/*$order_sql	=	" select ebay_orderid,ebay_account,ebay_ordersn,ebay_countryname,
						ebay_id,ebay_tracknumber,ebay_carrier,ebay_combine,recordnumber
				from 	ebay_order where recordnumber in(
'002-8137713-8318634',
'115-9924496-2629023',
'107-8620600-1710651',
'109-4445248-2697864',
'112-8959307-6029052',
'112-8141525-2093001')

";*/
//$order_db	= $dbcon->execute($order_sql);
$order_sql = "select id,recordNumber,transportId,combinePackage,orderStatus \n\t\t\t\tfrom om_shipped_order as a \n\t\t\t\tleft join om_shipped_order_warehouse as b \n\t\t\t\ton a.id = b.omOrderId\n\t\t\t\twhere a.accountId = '{$accountId}' \n\t\t\t\tand a.orderStatus ='" . C("STATESHIPPED") . "'\n\t\t\t\tand a.orderType = '" . C("STATEHASSHIPPED_CONV") . "' \n\t\t\t\tand b.weighTime > {$start} and (a.ShippedTime ='' or a.ShippedTime is null) \n\t\t\t\tORDER BY b.weighTime ";
// and ebay_status ='2'
//$testsql = " ORDER BY scantime"; $sql .= $testsql;  // for test
/*$order_sql	= "	select 	a.omOrderId
		from 	om_unshipped_order_warehouse as a
		where	(a.weighTime BETWEEN $start AND $end)
		and 	a.storeId = 1 ";*/
//echo $order_sql;exit;
$order_db = $dbConn->query($order_sql);
$alldata = $dbConn->fetch_array_all($order_db);
//var_dump($alldata); echo "\n"; exit;
$sum = sizeof($alldata);
if ($sum <= 0) {
    exit("No order to handel\n");
}
$transportData = CommonModel::getCarrierListById();
if ($sum > 0) {
    foreach ($alldata as $val) {
        $omOrderId = $val['id'];
        $transportId = $val['transportId'];
        $carrier = $delivery_arr[$transportId];
        echo "开始上传订单【{$omOrderId}】 ----------运输方式={$carrier}------\n\n";
        $recordnumber = $val['recordNumber'];
        //$ebay_carrier	= $val['transportId'];
        /*$where = " where id = {$omOrderId} and storeId = 1 and is_delete = 0 ";
        		$orderList = OrderindexModel::showOrderList($tableName, $where);
        		$orderTracknumber = $orderList[$omOrderId]['orderTracknumber'];*/
        $orderList = is_array($omOrderId) ? implode(',', $omOrderId) : $omOrderId;
        $orderTracknumber = getTracknumber($orderList);
        //获取订单的跟踪号
        if (empty($orderTracknumber)) {
示例#4
0
//电子类【不带电池】*/
$__liquid_items_OutWeight = array_filter(explode(",", $__liquid_items_array['超重产品>=1.9kg']));
//超重产品>=1.9kg*/
//取统一包装材料重量数据
//$MaterInfo = CommonModel::getMaterInfo();
//取统一国家中文名对应英文名
/*$ec = "select * from ebay_countrys where ebay_user='******' ";
	$result = $dbConn->execute($ec);
	$ebay_country_lists = $dbConn->getResultArray($result);
	$global_countrycn_coutryen = array();
	foreach($ebay_country_lists AS $ebay_country_list){
		$global_countrycn_coutryen[trim($ebay_country_list['countryen'])] = trim($ebay_country_list['countrycn']);
	}*/
//取各个平台的账号名称
$SYSTEM_ACCOUNTS = OmAvailableModel::getPlatformAccount();
//echo "<pre>";print_r($SYSTEM_ACCOUNTS);
$express_delivery = array();
$express_delivery_value = array();
$no_express_delivery = array();
$no_express_delivery_value = array();
$express_delivery_value = CommonModel::getCarrierListById(1);
/*foreach($express_delivery_arr as $value){
		$express_delivery_value[$value['id']] = $value['carrierNameCn'];
	}*/
$express_delivery = array_keys($express_delivery_value);
//var_dump($express_delivery);
$no_express_delivery_value = CommonModel::getCarrierListById(0);
/*foreach($no_express_delivery_arr as $value){
		$no_express_delivery_value[$value['id']] = $value['carrierNameCn'];
	}*/
$no_express_delivery = array_keys($no_express_delivery_value);
示例#5
0
    define("WEB_PATH", "/data/web/order.valsun.cn/");
}
//define('SCRIPTS_PATH_CRONTAB', '/data/web/erpNew/order.valsun.cn/crontab/');
require_once WEB_PATH . "crontab/scripts.comm.php";
require_once WEB_PATH_CONF_SCRIPTS . "script.ebay.config.php";
require_once WEB_PATH_LIB_SDK_DRESSLINK . "DLCommenScript.php";
//require_once "/data/web/erpNew/order.valsun.DL/lib/sdk/DL/DLCommenScript.php";
echo "调用DL订单接口,时间" . date("Y-m-d H:i:s") . "\r\n";
$orders = getDLOrders();
$orders = json_decode($orders, true);
//print_r($orders);
if (!$orders) {
    echo "没有获取订单信息!\n";
    exit;
}
$carrierList = CommonModel::getCarrierListById();
$flip_carrierList = array_flip($carrierList);
$orderids = $orders['OrderID'];
//print_r($orderids);
/*if(file_exists(WEB_PATH."crontab/dresslink/orderid.txt")&&!empty($orderids)){
	$fp = fopen(WEB_PATH."crontab/dresslink/orderid.txt","a+");
	$str = "******************".date("Y-m-d H:i:s")."*******************\r\n\r\n\r\n";
	foreach($orderids as $id){
		$str .= ",".$id;
	}
	$str .= "\r\n#############################################################";
	fwrite($fp,$str);
	fclose($fp);
}*/
if (empty($orderids)) {
    //$orderids = array('DL100000204','DL100000398','DL100000407','DL100000411','DL100000420','DL100000422');
示例#6
0
 public function act_fetchOrder()
 {
     $message = "";
     $accountId = isset($_POST['amazon_account']) ? $_POST['amazon_account'] : "";
     $account = OmAvailableModel::getTNameList("om_account", "*", " where id={$accountId}");
     $account = $account[0]['account'];
     $recordNumber = isset($_POST['amazon_id']) ? $_POST['amazon_id'] : "";
     $amazon_account = isset($_POST['amazon_account']) ? $_POST['amazon_account'] : "";
     $site = isset($_POST['site']) ? $_POST['site'] : "";
     $recordNumbers = explode(",", $recordNumber);
     //print_r($recordNumbers);
     //$rids 	 = empty($_GET['rids']) ? array() : array_map('trim', explode(',', $_GET['rids']));
     $rids = array_values(array_unique(array_filter(array_map('trim', $recordNumbers))));
     if (!defined('WEB_PATH')) {
         define("WEB_PATH", "/data/web/order.valsun.cn/");
     }
     //define('SCRIPTS_PATH_CRONTAB', '/data/web/erpNew/order.valsun.cn/crontab/');
     require_once WEB_PATH . "crontab/scripts.comm.php";
     require_once WEB_PATH_CONF_SCRIPTS . "script.ebay.config.php";
     require_once WEB_PATH_LIB_SCRIPTS_AMAZON . "amazon_order_func.php";
     if (strtoupper($site) == "US") {
         $keyname = WEB_PATH_CONF_SCRIPTS_KEYS_AMAZON . "amazon_keys_{$account}.php";
     } elseif (strtoupper($site) == "UK" || strtoupper($site) == "DE") {
         $ext = strtolower($site);
         $keyname = WEB_PATH_CONF_SCRIPTS_KEYS_AMAZON . "amazon_keys_{$ext}_{$account}.php";
     }
     //echo $keyname;
     if (file_exists($keyname)) {
         include_once $keyname;
     } else {
         //exit ("未找对应的key文件!\n");
         $message .= "<font color='red'>未找对应的key文件</font>";
     }
     define('APPLICATION_NAME', $APPLICATION_NAME);
     define('APPLICATION_VERSION', $APPLICATION_VERSION);
     define('AWS_ACCESS_KEY_ID', $AWS_ACCESS_KEY_ID);
     define('AWS_SECRET_ACCESS_KEY', $AWS_SECRET_ACCESS_KEY);
     define('MERCHANT_ID', $MERCHANT_ID);
     define('MARKETPLACE_ID', $MARKETPLACE_ID);
     //echo "\n".get_include_path()."\n";
     set_include_path(get_include_path() . PATH_SEPARATOR . WEB_PATH_LIB_SDK_AMAZON);
     //
     //echo "\n".get_include_path()."\n";
     //
     /*function __autoload($className){
     			$filePath = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
     			$includePaths = explode('/', get_include_path());
     			foreach($includePaths as $includePath){
     				if(file_exists($includePath . DIRECTORY_SEPARATOR . $filePath)){
     					require_once $filePath;
     					return;
     				}
     			}
     		}*/
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Client.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Interface.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Exception.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/GetOrderRequest.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/OrderIdList.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/ListOrdersRequest.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/MarketplaceIdList.php';
     require_once WEB_PATH_LIB_SDK . 'amazon/MarketplaceWebServiceOrders/Model/ListOrderItemsRequest.php';
     $config = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3);
     $minute = 100;
     $start = date("Y-m-d H:i:s", time() - $minute * 60);
     //$order_statistics = new OrderStatistics();
     $service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, APPLICATION_NAME, APPLICATION_VERSION, $config);
     $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest();
     $request->setSellerId(MERCHANT_ID);
     //$request->setCreatedAfter(new DateTime($start, new DateTimeZone('UTC')));
     //$request->setCreatedBefore(new DateTime('2012-08-03 12:00:00', new DateTimeZone('UTC')));
     //$request->setMarketplaceId($marketplaceIdList);
     //由account得出其accountId
     /*$tName = 'om_account';
     		$select = 'id';
     		$where = "WHERE account='$account' AND platformId=11"; //亚马孙平台id为11
     		$accountIdList = OmAvailableModel :: getTNameList($tName, $select, $where);
     		if (empty ($accountIdList)) {
     			exit ("$account is not in om_account!\n");
     		}
     		$accountId = $accountIdList[0]['id'];*/
     $transportList = CommonModel::getCarrierListById();
     $flip_transportList = array_flip($transportList);
     //var_dump($flip_transportList); exit;
     $orderIds = new MarketplaceWebServiceOrders_Model_OrderIdList();
     //echo "<pre>"; print_r($rids);
     $orderIds->setId($rids);
     $request->setAmazonOrderId($orderIds);
     $info = self::act_invokeListOrders($service, $request, $account, $site, $accountId, $flip_transportList, $message);
     return $info;
 }
示例#7
0
    }
} else {
    echo "notice: no data, exit\n";
    exit;
}
//$TaobaoAct = new TaobaoAct();
//查询快递信息
/*$checkcarrier	= array();
$carrierlists = CommonModel::getCarrierList();
//var_dump($carrierlists); exit;
if($carrierlists){
	foreach($carrierlists AS $carrierlist){
		$checkcarrier[] = "{$carrierlist['carrierNameCn']}";
	}
}*/
$checkcarrier = CommonModel::getCarrierListById();
$flip_checkcarrier = array_flip($checkcarrier);
//var_dump($flip_checkcarrier); exit;
$total = 0;
//总订单条数
$error_data = array();
for ($cur_page = 1; $cur_page <= 1; $cur_page++) {
    if ($cur_page > 1) {
        $json_data = taobaoTradesSoldGet($url, $session, $appSecret, $appKey, $status, $cur_page, $page_size);
    }
    //出错处理
    if (isset($json_data['error_response'])) {
        echo "error: " . $json_data['error_response']['msg'] . " error code:" . $json_data['error_response']['code'] . "\n";
    } else {
        //数据入库
        $data = $json_data['trades_sold_get_response']['trades']['trade'];