load->database(); $this->table = 'dhl'; $this->load_table('dhl'); } public function get_data($data) { $nd = $data; if($data['pay'] == 1) { $data['pay'] == 'PayPal'; } else if($data['pay'] == 2) { $data['pay'] == 'Western Union'; } else if($data['pay'] == 3) { $data['pay'] == '微信'; } else if($data['pay'] == 4) { $data['pay'] == '支付宝'; } else if($data['pay'] == 5) { $data['pay'] == '银行转账'; } else if($data['pay'] == 6) { $data['pay'] == '现金收款'; } else if($data['pay'] == 7) { $data['pay'] == 'PingPong金融'; } $id = 'XUCHANGLONGY'; $pass = 'dJ84as3ELr'; //$sid = '603521441';//官方DHL $sid = '605062090';//官方DHL美国 $xmend = "\n"; $Pieces = ''; for($i=0;$i<$data['zjs'];$i++) { $Pieces .= "".$xmend; $Pieces .= "".($i+1)."".$xmend; $Pieces .= "EE".$xmend; $Pieces .= "".$data['zzl']."".$xmend; $Pieces .= "15".$xmend; $Pieces .= "3".$xmend; $Pieces .= "5".$xmend; $Pieces .= "".$xmend; } /** 此内容是添加发票信息 $dataadress = array();$baddress = '';$ba1 = '';$ba2 = ''; for($i=5;$i 1) { for($i=0;$i".$xmend; $baddress .= "".rtrim($ba2,',')."".$xmend; } else { for($i=0;$i".$xmend; } **/ $hgbm = $data['sbbm']; if(isset($data['hgbm'])) { if($data['hgbm'] != '') { $hgbm = $data['hgbm']; } } $xml = ""; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".date('c')."".$xmend; //$rand = (strlen($data['orderinfo']) < 15)?rand(10000000,99999999):rand(100000,999999); //$xml .= "".time().$data['orderinfo'].$rand."".$xmend; $xml .= "".time().time().rand(10000000,99999999)."".$xmend; $xml .= "".$id."".$xmend;//DHL账号 $xml .= "".$pass."".$xmend;//DHL密码 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "LongYi ERP".$xmend; $xml .= "V1.0.0".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "AP".$xmend;//地区代码 $xml .= "en".$xmend;//语言 ///$xml .= "Y".$xmend; $xml .= "".$xmend; $xml .= "".$sid."".$xmend; $xml .= "S".$xmend; $xml .= "".$sid."".$xmend; ///$xml .= "R".$xmend;//R为收件人付关税 S发件人付关税 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['name']."".$xmend;//收货人名称 /** if(strlen($data['address'].$data['address2']) > 44) { $adl = $data['address'].$data['address2']; $adl1 = substr($adl,0,44);//截取44字符前内容 $adlnum = strripos($adl1," ");//查找最后一次出现空格位置 $adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容 $adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容 $xml .= "".$adl1."".$xmend;//收货人地址1 $xml .= "".$adl2."".$xmend;//收货人地址2 } **/ if($data['address2']) { //$adl = $data['address'].$data['address2']; //$adl1 = substr($adl,0,44);//截取44字符前内容 //$adlnum = strripos($adl1," ");//查找最后一次出现空格位置 //$adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容 //$adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容 $xml .= "".$data['address']."".$xmend;//收货人地址1 $xml .= "".$data['address2']."".$xmend;//收货人地址2 } else { $xml .= "".$data['address'].$data['address2']."".$xmend;//收货人地址 } if($data['street'] != '') { $xml .= "".$data['street']."".$xmend;//收货人街道 } $xml .= "".$data['city']."".$xmend;//城市 if($data['lb'] == 'US') { $xml .= "".$data['province']."".$xmend;//州代码,仅美国 } $xml .= "".trim($data['zipcode'],' ')."".$xmend;//邮编 $xml .= "".$data['lb']."".$xmend;//国家代码 $xml .= "".$data['country']."".$xmend;//国家名称 $xml .= "".$xmend; $xml .= "".$data['client']."".$xmend;//名称 $xml .= "".preg_replace('/\D/s','',$data['phone'])."".$xmend;//联系方式 //$xml .= "".$data['email']."".$xmend;//联系邮箱 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend;//多商品循环此外层标签及内层标签 $xml .= "".$hgbm."".$xmend;//商品编码 $xml .= "".$data['sbpm']."".$xmend;//商品名称 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zsbjz']."".$xmend;//申报价值 $xml .= "".$data['currencytitle']."".$xmend;//货币代码 $xml .= "DAP".$xmend;//贸易条款 $xml .= "".$xmend; /** 发票信息开始 **/ $xml .= "Y".$xmend; $xml .= "en".$xmend; $xml .= "CMI".$xmend; $xml .= "".$xmend; $xml .= "P".$xmend; if(strlen($data['paypal']) > 30) { $xml .= "".str_replace(array('-'),array(''),$data['paypal'])."".$xmend; } else { $xml .= "".$data['paypal']."".$xmend; } $xml .= "".date('Y-m-d',time())."".$xmend; /** $xml .= "".$data['client']."".$xmend; $xml .= "".$data['client']."".$xmend;//账单名称 $xml .= "";//地址1 $xml .= "";//地址2 $xml .= "".$data['baddress'][4]."".$xmend;//城市 $xml .= "".$data['baddress'][2]."".$xmend;//邮编 $xml .= "".$xmend;//所在郊区 if($data['baddress'][1] == 'United States') { $xml .= "".$data['baddress'][3]."".$xmend;//省、州 } $xml .= "".$data['baddress'][1]."".$xmend;//国家 $xml .= "".preg_replace('/\D/s','',$data['baddress'][0])."".$xmend;//号码 **/ $xml .= "".$xmend; $xml .= "1".$xmend;//顺序号 $xml .= "".$data['ts']."".$xmend;//数量 $xml .= "PCS".$xmend;//单位 $xml .= "".$data['sbpm']."".$xmend;//品名 $xml .= "".$data['dtsbjz']."".$xmend;//单价 $xml .= "Y".$xmend;//是否国产,Y本国,N国外 $xml .= "".$hgbm."".$xmend;//品名编码 $xml .= "".$xmend; $xml .= "".$data['zzl']."".$xmend;//净重 $xml .= "K".$xmend;//重量单位,K千克 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zzl']."".$xmend;//毛重 $xml .= "K".$xmend;//毛重单位,K千克 $xml .= "".$xmend; $xml .= "CN".$xmend;//原产国国家代码 $xml .= "CHINA".$xmend;//原产国名称 $xml .= "".$xmend; $xml .= "PEK PORT".$xmend;//适用港口 $xml .= "".$xmend; /** 发票信息结束 **/ $xml .= "".$xmend; $xml .= "".$data['number']."".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; ///$xml .= "".$data['zjs']."".$xmend; $xml .= "".$xmend; $xml .= $Pieces; $xml .= "".$xmend; ///$xml .= "".$data['zzl']."".$xmend; $xml .= "K".$xmend; $xml .= "P".$xmend; $xml .= "P".$xmend; $xml .= "".date('Y-m-d',time())."".$xmend; $xml .= "".$data['sbpm']."".$xmend;//内容 ///$xml .= "DD".$xmend; $xml .= "C".$xmend; ///$xml .= "".$data['bx']."".$xmend;//保险金额 $xml .= "EE".$xmend; $xml .= "Y".$xmend; $xml .= "".$data['currencytitle']."".$xmend;//货币代码 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$sid."".$xmend; $xml .= "LongYing".$xmend;//发货公司名称 $xml .= "LongYingShiYe, Yinghao Rd.".$xmend;//发货地址 $xml .= "Shangji Economic Development Zone".$xmend;//发货地址 $xml .= "".$data['warehouse']['city']."".$xmend;//发货城市 $xml .= "".$data['warehouse']['zipcode']."".$xmend; $xml .= "CN".$xmend;//发货国家代码 $xml .= "CHINA".$xmend;//发货国家名称 $xml .= "".$xmend; $xml .= 'GeMengTi'.$xmend;//发货人 '.$data['warehouse']['company'].' $xml .= '15939964739'.$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= '91411002MA3X46XC9K'.$xmend; $xml .= 'VAT'.$xmend; $xml .= 'CN'.$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; /** 无纸化 PLT 开始 **/ $xml .= "".$xmend; $xml .= "WY".$xmend; $xml .= "".$xmend; /** 无纸化 PLT 结束 **/ if($data['bx'] > 0) { $xml .= "".$xmend; $xml .= "II".$xmend; $xml .= "".$data['bx']."".$xmend; $xml .= "USD".$xmend; $xml .= "".$xmend; } $xml .= "PDF".$xmend; /** 无纸化 PLT 启用这个 **/ $xml .= "N".$xmend; /** 无纸化 PLT 启用这个 **/ /** 无纸化 PLT 关闭这个 **/ //$xml .= "Y".$xmend; //$xml .= "1".$xmend; /** 无纸化 PLT 关闭这个 **/ $xml .= "".$xmend; $xml .= "".$xmend; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'https://xml-api.dhl.com/XMLShippingServlet'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); /** $ch = curl_init(); $url = 'http://z.wepolicy.cn/dhl.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['data'] = $xml; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,true); **/ //发送C类 //$this->get_data_c($nd); $cx = $this->find("number = '".$nd['number']."'"); if(!$cx && $nd['printcode'] != "DHLUSA") { $this->insert(array("number"=>$nd['number'],'time'=>time())); } return $values; } public function get_data_new($data) { if($data['pay'] == 1) { $data['pay'] == 'PayPal'; } else if($data['pay'] == 2) { $data['pay'] == 'Western Union'; } else if($data['pay'] == 3) { $data['pay'] == '微信'; } else if($data['pay'] == 4) { $data['pay'] == '支付宝'; } else if($data['pay'] == 5) { $data['pay'] == '银行转账'; } else if($data['pay'] == 6) { $data['pay'] == '现金收款'; } else if($data['pay'] == 7) { $data['pay'] == 'PingPong金融'; } $id = 'XUCHANGLONGY'; $pass = 'dJ84as3ELr'; //$sid = '603521441';//官方DHL $sid = '605062090';//官方DHL美国 $xmend = "\n"; $Pieces = ''; for($i=0;$i<$data['zjs'];$i++) { $Pieces .= "".$xmend; $Pieces .= "".($i+1)."".$xmend; $Pieces .= "EE".$xmend; $Pieces .= "".$xmend; } /** 此内容是添加发票信息 $dataadress = array();$baddress = '';$ba1 = '';$ba2 = ''; for($i=5;$i 1) { for($i=0;$i".$xmend; $baddress .= "".rtrim($ba2,',')."".$xmend; } else { for($i=0;$i".$xmend; } **/ $hgbm = $data['sbbm']; if(isset($data['hgbm'])) { if($data['hgbm'] != '') { $hgbm = $data['hgbm']; } } $xml = ""; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".date('c')."".$xmend; //$rand = (strlen($data['orderinfo']) < 15)?rand(10000000,99999999):rand(100000,999999); //$xml .= "".time().$data['orderinfo'].$rand."".$xmend; $xml .= "".time().time().rand(10000000,99999999)."".$xmend; $xml .= "".$id."".$xmend;//DHL账号 $xml .= "".$pass."".$xmend;//DHL密码 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "LongYi ERP".$xmend; $xml .= "V1.0.0".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "AP".$xmend;//地区代码 $xml .= "en".$xmend;//语言 $xml .= "Y".$xmend; $xml .= "".$xmend; $xml .= "".$sid."".$xmend; $xml .= "S".$xmend; $xml .= "".$sid."".$xmend; $xml .= "R".$xmend;//R为收件人付关税 S发件人付关税 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['name']."".$xmend;//收货人名称 if(strlen($data['address'].$data['address2']) > 44) { $adl = $data['address'].$data['address2']; $adl1 = substr($adl,0,44);//截取44字符前内容 $adlnum = strripos($adl1," ");//查找最后一次出现空格位置 $adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容 $adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容 $xml .= "".$adl1."".$xmend;//收货人地址1 $xml .= "".$adl2."".$xmend;//收货人地址2 } else { $xml .= "".$data['address'].$data['address2']."".$xmend;//收货人地址 } if($data['street'] != '') { $xml .= "".$data['street']."".$xmend;//收货人街道 } $xml .= "".$data['city']."".$xmend;//城市 if($data['lb'] == 'US') { $xml .= "".$data['province']."".$xmend;//州代码,仅美国 } $xml .= "".trim($data['zipcode'],' ')."".$xmend;//邮编 $xml .= "".$data['lb']."".$xmend;//国家代码 $xml .= "".$data['country']."".$xmend;//国家名称 $xml .= "".$xmend; $xml .= "".$data['client']."".$xmend;//名称 $xml .= "".preg_replace('/\D/s','',$data['phone'])."".$xmend;//联系方式 //$xml .= "".$data['email']."".$xmend;//联系邮箱 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend;//多商品循环此外层标签及内层标签 $xml .= "".$hgbm."".$xmend;//商品编码 $xml .= "".$data['sbpm']."".$xmend;//商品名称 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zsbjz']."".$xmend;//申报价值 $xml .= "".$data['currencytitle']."".$xmend;//货币代码 $xml .= "".$xmend; /** 发票信息开始 **/ $xml .= "Y".$xmend; $xml .= "en".$xmend; $xml .= "CMI".$xmend; $xml .= "".$xmend; $xml .= "P".$xmend; $xml .= "".$data['paypal']."".$xmend; $xml .= "".date('Y-m-d',time())."".$xmend; /** $xml .= "".$data['client']."".$xmend; $xml .= "".$data['client']."".$xmend;//账单名称 $xml .= $baddress;//地址 $xml .= "".$data['baddress'][4]."".$xmend;//城市 $xml .= "".$data['baddress'][2]."".$xmend;//邮编 $xml .= "".$xmend;//所在郊区 if($data['baddress'][1] == 'United States') { $xml .= "".$data['baddress'][3]."".$xmend;//省、州 } $xml .= "".$data['baddress'][1]."".$xmend;//国家 $xml .= "".preg_replace('/\D/s','',$data['baddress'][0])."".$xmend;//号码 **/ $xml .= "".$xmend; $xml .= "1".$xmend;//顺序号 $xml .= "".$data['ts']."".$xmend;//数量 $xml .= "PCS".$xmend;//单位 $xml .= "".$data['sbpm']."".$xmend;//品名 $xml .= "".$data['dtsbjz']."".$xmend;//单价 $xml .= "Y".$xmend;//是否国产,Y本国,N国外 $xml .= "".$hgbm."".$xmend;//品名编码 $xml .= "".$xmend; $xml .= "".$data['zzl']."".$xmend;//净重 $xml .= "K".$xmend;//重量单位,K千克 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zzl']."".$xmend;//毛重 $xml .= "K".$xmend;//毛重单位,K千克 $xml .= "".$xmend; $xml .= "CN".$xmend;//原产国名称 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zsbjz']."".$xmend; $xml .= "SOTHR".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; /** 发票信息结束 **/ $xml .= "".$xmend; $xml .= "".$data['number']."".$xmend; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$data['zjs']."".$xmend; $xml .= "".$xmend; $xml .= $Pieces; $xml .= "".$xmend; $xml .= "".$data['zzl']."".$xmend; $xml .= "K".$xmend; $xml .= "P".$xmend; $xml .= "P".$xmend; $xml .= "".date('Y-m-d',time())."".$xmend; $xml .= "".$data['sbpm']."".$xmend;//内容 ///$xml .= "DD".$xmend; $xml .= "C".$xmend; $xml .= "".$data['bx']."".$xmend;//保险金额 $xml .= "EE".$xmend; $xml .= "Y".$xmend; $xml .= "".$data['currencytitle']."".$xmend;//货币代码 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".$sid."".$xmend; $xml .= "".$data['warehouse']['company']."".$xmend;//发货公司名称 $xml .= "".$data['warehouse']['address']."".$xmend;//发货地址 $xml .= "".$data['warehouse']['address2']."".$xmend;//发货地址 $xml .= "".$data['warehouse']['province']."".$xmend;//发货省、州 $xml .= "".$data['warehouse']['city']."".$xmend;//发货城市 $xml .= "".$data['warehouse']['zipcode']."".$xmend; $xml .= "".$data['warehouse']['lb']."".$xmend;//发货国家代码 $xml .= "".$data['warehouse']['country']."".$xmend;//发货国家名称 $xml .= "".$xmend; $xml .= "".$data['warehouse']['company']."".$xmend;//发货人名称 $xml .= "15939964739".$xmend;//发货人电话 ".preg_replace('/\D/s','',$data['warehouse']['phone'])." $xml .= "".$xmend; $xml .= "".$xmend; /** 无纸化 PLT 开始 **/ $xml .= "".$xmend; $xml .= "WY".$xmend; $xml .= "".$xmend; /** 无纸化 PLT 结束 **/ if($data['bx'] > 0) { $xml .= "".$xmend; $xml .= "II".$xmend; $xml .= "".$xmend; } $xml .= "PDF".$xmend; /** 无纸化 PLT 启用这个 **/ $xml .= "N".$xmend; /** 无纸化 PLT 启用这个 **/ /** 无纸化 PLT 关闭这个 **/ //$xml .= "Y".$xmend; //$xml .= "1".$xmend; /** 无纸化 PLT 关闭这个 **/ $xml .= "".$xmend; $xml .= "".$xmend; /** $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'https://xml-api.dhl.com/XMLShippingServlet'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); **/ $ch = curl_init(); $url = 'http://z.wepolicy.cn/dhl.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['data'] = $xml; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,true); return $values; } public function get_logistics_q($number) { $ch = curl_init(); $url = 'http://z.wepolicy.cn/dhl.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['number'] = $number; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,true); return $values; } public function get_logistics($number)//直连DHL { $id = 'XUCHANGLONGY'; $pass = 'dJ84as3ELr'; //$sid = '603521441';//官方DHL $sid = '605062090';//官方DHL美国 $Pieces = ''; $xmend = "\n"; $xml = "".$xmend; $xml .= ""; $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "".date('c')."".$xmend; $xml .= "".time().time().rand(10000000,99999999)."".$xmend; $xml .= "".$id."".$xmend;//DHL账号 $xml .= "".$pass."".$xmend;//DHL密码 $xml .= "".$xmend; $xml .= "".$xmend; $xml .= "en".$xmend; $xml .= "".$number['waybill']."".$xmend; $xml .= "ALL_CHECK_POINTS".$xmend; $xml .= "".$xmend; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'https://xmlpi-ea.dhl.com/XMLShippingServlet'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if(isset($values['AWBInfo']['ShipmentInfo']['ShipmentEvent'][0]))//是否有信息 { $zt = array_reverse($values['AWBInfo']['ShipmentInfo']['ShipmentEvent']); $xq = ''; $st = array(); foreach($zt as $v) { $st[strtotime($v['Date'].' '.$v['Time'])] = $v; } rsort($st); foreach($st as $v) { if($v['ServiceEvent']['EventCode'] == 'BA') { $exstate = 1; break; } else if($v['ServiceEvent']['EventCode'] == 'OK') { $exstate = 6; break; } else if(stripos($v['ServiceEvent']['Description'],'forwarded') !== false || $v['ServiceEvent']['EventCode'] == 'WC' || $v['ServiceEvent']['EventCode'] == 'TP')//With delivery courier { $exstate = 5; break; } else if(stripos($v['ServiceEvent']['Description'],'Clearance processing complete at') !== false && stripos($v['ServiceArea']['Description'],'CHINA') === false) { $exstate = 4; break; } else if(stripos($v['ServiceEvent']['Description'],'In transit') !== false) { $exstate = 3; break; } else if(stripos($v['ServiceEvent']['Description'],'picked up') !== false) { $exstate = 2; break; } } foreach($st as $v) { $xq .= $v['Date'].' '.$v['Time'].' '.$v['ServiceEvent']['Description'].'
'; } $content = date('Y-m-d H',time()).'-查询成功'; $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$xq,'st'=>$st);//正常可发送站内信 } else { $content = date('Y-m-d H',time()).'-查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } return $list; } public function get_epod($data) { $username = 'longyingCN'; $password = 'Q#1qC$2eG$2uA$0q'; $sid = '605062090';//官方DHL美国 $xmend = "\n"; $xml = ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$username.''.$xmend; $xml .= "".$password."".$xmend; $xml .= "".$xmend; $xml .= ''.date('c').''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; $xml .= ''.$xmend; //echo $xml;exit; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'https://wsbexpress.dhl.com:443/gbl/getePOD'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:text/xml; charset=utf-8")); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); $epoddata = curl_exec($ch); curl_close($ch); //header("Content-type: application/xml"); $xml = simplexml_load_string($epoddata); $xml->registerXPathNamespace('tns','http://scxgxtt.phx-dc.dhl.com/glDHLExpressePOD/providers/DocumentRetrieve'); if($xml->xpath('//Img')) { foreach ($xml->xpath('//Img') as $item) { $json = json_encode($item); $convrt_arr = json_decode($json, true); $epod = $this->_pdf($convrt_arr['@attributes']['Img'],'epod-'.$data['waybill'],date('Y',time())); return array('c'=>1,'d'=>'/data/epod/'.date('Y',time()).'/epod-'.$data['waybill'].'.pdf'); } } else { foreach ($xml->xpath('//ErrMsgDtl ') as $item) { $json = json_encode($item); $convrt_arr = json_decode($json, true); return array('c'=>2,'d'=>$convrt_arr['@attributes']['DtlDsc']); } } } public function _pdf($pdf,$title,$bctime) { $pdf_path = './data/epod/'.$bctime.'/'; $file_base64 = $pdf; $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64); $file_base64 = base64_decode($file_base64); if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建 file_put_contents($pdf_path.$title.'.pdf',$file_base64); } public function _token() { $token_header = array( 'x-request-id: 605062090', 'Content-Type: application/json' ); $ch = curl_init(); $url = 'https://dps-api.cndhl.com/dps-auth-server/api/gateway-token/generate';//正式 测试 https://webhub.cndhl.com/dps/dps-auth-server/api/gateway-token/generate curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, $token_header); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600); //设置post数据 $post = array(); $post['consumerCode'] = 'P_f7yzl4675s'; $post['key'] = 'wt)!ftX{1Co$/i{|'; $data = json_encode($post); curl_setopt($ch, CURLOPT_POSTFIELDS,$data); $res = curl_exec($ch); $resp = json_decode($res,true); $token = $resp['result']['token']; return $token; } public function get_data_c($data,$id)//C类 { $token = $this->_token(); $file_header = array( 'x-request-id: 605062090', 'Authorization: '.$token, 'Content-Type: application/json' ); $ch = curl_init(); $url = 'https://dps-api.cndhl.com/dps-declaration-api/api/declare/submit-declare'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, $file_header); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600); //设置post数据 $list = $data; $post = array(); $post['decMessage']['decHead']['iEFlag']="E"; $post['decMessage']['decHead']['tradeName']="许昌龙盈实业集团有限公司"; $post['decMessage']['decHead']['tradeCoScc']="91411023MA45JCKTXL"; $post['decMessage']['decHead']['tradeCode']="3316960A6A"; $post['decMessage']['decHead']['ownerName']="许昌龙盈实业集团有限公司"; $post['decMessage']['decHead']['ownerCodeScc']="91411023MA45JCKTXL"; $post['decMessage']['decHead']['tradeMode']="3010"; $post['decMessage']['decHead']['transMode']="2"; $post['decMessage']['decHead']['cutMode']="101"; $post['decMessage']['decHead']['feeMark']="3"; $post['decMessage']['decHead']['feeRate']="10"; $post['decMessage']['decHead']['feeCurr']="USD"; $post['decMessage']['decLists']['decList'][0]['gNo']="1"; $post['decMessage']['decLists']['decList'][0]['declGoodsEname']=$data['sbpm'];//申报品名 $post['decMessage']['decLists']['decList'][0]['gName']=$data['zwpm'];//中文品名 $post['decMessage']['decLists']['decList'][0]['codeTs']=$data['hgbm'];//海关编码 $post['decMessage']['decLists']['decList'][0]['gModel']="0|2|假发|化纤"; $post['decMessage']['decLists']['decList'][0]['gQty']=$data['ts'];//数量 $post['decMessage']['decLists']['decList'][0]['gUnit']="007"; $post['decMessage']['decLists']['decList'][0]['declPrice']=$data['dtsbjz'];//申报单价 $post['decMessage']['decLists']['decList'][0]['declTotal']=$data['zsbjz'];//申报总价 $post['decMessage']['decLists']['decList'][0]['tradeCurr']="USD"; $post['decMessage']['decLists']['decList'][0]['firstQty']="0.10000"; $post['decMessage']['decLists']['decList'][0]['firstUnit']="035"; $post['decMessage']['decLists']['decList'][0]['goodsBrand']="无"; $post['decMessage']['decLists']['decList'][0]['dutyMode']="1"; $post['decMessage']['decLists']['decList'][0]['originCountry']="CHN"; $post['decMessage']['msgHead']['action']="A"; $post['decMessage']['msgHead']['awbGenDtm']= date("Y-m-d H:i:s",time()-3600); $post['decMessage']['msgHead']['awbNo']=$data['waybill'];//运单号 $post['decMessage']['msgHead']['declareType']="C"; $post['decMessage']['msgHead']['msgGenDtm']=date("Y-m-d H:i:s",time()); $post['decMessage']['msgHead']['msgId']="7b67817a-9c81-412d-bedd-10a65ac22508"; $post['decMessage']['msgHead']['version']="1.0"; $data = json_encode($post); //echo $data;exit; curl_setopt($ch, CURLOPT_POSTFIELDS,$data); $res = curl_exec($ch); curl_close($ch); $resp = json_decode($res,true); $j = ''; if(isset($resp['result'])) { if($resp['result'] == 'OK') { $j = 1; } else { $j = 2; } } else { $j = 2; } $this->save(array('type'=>$j),$id); } public function get_data_9610($data)//9610 { $num = 1; $token = $this->_token(); $file_header = array( 'x-request-id: 605062090', 'Authorization: '.$token, 'Content-Type: application/json' ); $ch = curl_init(); $url = 'https://dps-api.cndhl.com/dps-declaration-api/api/cross-border/submit-declare'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, $file_header); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600); //设置post数据 $post = array(); $post['baseInfo']['logisticsNo']=$data['waybill'];//运单号 $post['baseInfo']['iEFlag']="E";//进出口类型 $post['baseInfo']['ebpName']=$data['shoptype'];//电商平台名称 $post['baseInfo']['ebpUsCode']="91411023MA45JCKTXL";//电商平台统一社会信用代码 $post['baseInfo']['ebpCode']="4110961543";//电商平台海关注册编码 $post['baseInfo']['ebcName']="许昌龙盈实业集团有限公司";//发货人 $post['baseInfo']['ebcUsCode']="91411023MA45JCKTXL";//收发货人统一社会信用代码 $post['baseInfo']['ebcCode']="4110961543";//发货人海关注册编码 $post['baseInfo']['ownerName']="许昌龙盈实业集团有限公司";//生产销售企业名称 $post['baseInfo']['ownerUsCode']="91411023MA45JCKTXL";//生产销售企业统一社会信用代码 $post['baseInfo']['ownerCode']="4110961543";//生产销售企业海关注册编码 $post['baseInfo']['version']="1.0";//报文版本号 $post['baseInfo']['requestTime']=date('Y-m-d H:i:s',time());//报文请求时间 $post['declareInfo']['orderNo']=$data['orderinfo'];//订单编号 $post['declareInfo']['statisticsFlag']="B";//申报业务类型A-简化申报,B-汇总申报,只能填写大写A或者B。 $post['declareInfo']['tradeMode']="9610";//贸易方式 $post['declareInfo']['grossWeight']=sprintf("%.2f",rtrim($data['weight'],'kg'));//毛重 $post['declareInfo']['wrapType']="22";//包装种类 $post['declareInfo']['netWeight']=sprintf("%.2f",$data['jweight']/1000);//净重 $post['declareInfo']['freight']="20";//运费 $post['declareInfo']['fcurrency']="USD";//运费币制 $post['declareInfo']['insuredFee']=$data['bx'];//保费总价 $post['declareInfo']['icurrency']="USD";//保费币制 $post['goodsInfoList'][0]['gnum']=1;//客户需要 从1开始递增 $post['goodsInfoList'][0]['itemNo']= "无";//企业自定义货号 $post['goodsInfoList'][0]['gname']=$data['zwpm'];//商品名称 $post['goodsInfoList'][0]['gcode']=$data['hgbm'];//商品编码 $post['goodsInfoList'][0]['gmodel']="0|0|假发|人发";//规格型号 $post['goodsInfoList'][0]['barCode']="无";//商品条形码 $post['goodsInfoList'][0]['qty1']=$post['declareInfo']['netWeight'];//第一法定数量 $post['goodsInfoList'][0]['unit1']="035";//第一法定计量单位 $post['goodsInfoList'][0]['qty']=$data['ts'];//申报数量 $post['goodsInfoList'][0]['unit']="015";//申报计量单位 $post['goodsInfoList'][0]['price']=$data['dtsbjz'];//单价 $post['goodsInfoList'][0]['totalPrice']=$data['zsbjz'];//总价 $post['goodsInfoList'][0]['currency']="USD";//币制 $data = json_encode($post); //echo $data;exit; curl_setopt($ch, CURLOPT_POSTFIELDS,$data); $res = curl_exec($ch); curl_close($ch); $resp = json_decode($res,true); if(isset($resp['result'])) { if($resp['result'] == 'OK') { return 1; } else { return $res; } } else { return $res; } } } //end class