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