| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 | <?phpclass Model_Usps_status extends Lin_Model {	function __construct(){			parent::__construct();				}		//获取快递状态	public function getState($str,$zt,$dataprovince){		$exstate =  0 ;		if(			(stripos($str,'delivered') !== false && stripos($str,'delivered by the expected delivery date') === false && stripos($str,'to be delivered') === false) 			|| 			stripos($str,'Your item was picked up at the post office') !== false 			|| stripos($str,'Your item was picked up at') !== false		)		{			$exstate = 6;			$zx = 1;		}		else if(			stripos($str,'out for delivery') !== false 			|| 			stripos($str,'Processing Exception') 			|| 			stripos($str,'was returned') 			|| 			stripos($str,'Delivery exception') !== false 			|| 			stripos($str,'Addressee Unknown') !== false 			|| 			stripos($str,'Delivered to Agent for Final Delivery') !== false 			|| 			stripos($str,'Reminder to pick up your item') !== false 			|| 			stripos($str,'Available for Pickup') !== false 			|| 			stripos($str,'Processing Exception') !== false 			|| 			stripos($str,'Return to Sender Processed') !== false 			|| 			stripos($str,'Redelivery Scheduled') !== false 			|| 			stripos($str,'Notice Left') !== false			|| 			stripos($str,'Delivery attempted but no response at Consignee address') !== false 			|| 			stripos($str,'Delivery attempt could not be completed') !== false 			|| 			stripos($str,'Forwarded to a third party agent') !== false 			|| 			stripos($str,'Awaiting collection by the consignee') !== false 			|| 			stripos($str,'Consignee has moved from the address provided') !== false 			|| 			stripos($str,'awaiting customer pickup') !== false)		{			$exstate = 1;			$zx = 1;		}		else if(			stripos(strtolower($str),strtolower('Arrived at USPS Destination Facility')) !== false && stripos(strtolower($str),strtolower($dataprovince.' DISTRIBUTION CENTER')) !== false		)		{			$exstate = 4;			$zx = 1;		}		else if(stripos(strtolower($str),'In transit') !== false || stripos(strtolower($str),'picked up item') !== false)		{			$exstate = 3;			$zx = 1;		}		else if(stripos(strtolower($str),'accepted at usps origin facility') !== false)		{			$exstate = 2;				$zx = 1;		}		else		{			if(is_array($zt))			{				foreach($zt as $item)				{ 					$v =isset($item['eventType'])?$item['eventType']:"";					if(						stripos(strtolower($v),'out for delivery') !== false 						|| 						stripos(strtolower($v),'processing exception') !== false 						|| 						stripos($v,'Delivery exception') !== false 						|| 						stripos($v,'Addressee Unknown') !== false 						|| 						stripos($v,'Delivered to Agent for Final Delivery') !== false 						|| 						stripos($v,'Reminder to pick up your item') !== false 						|| 						stripos($v,'Available for Pickup') !== false 						|| 						stripos($v,'Processing Exception') !== false 						|| 						stripos($v,'Return to Sender Processed') !== false 						|| 						stripos($v,'Redelivery Scheduled') !== false 						|| 						stripos($v,'Notice Left') !== false 						|| 						stripos($v,'Delivery attempted but no response at Consignee address') !== false 						|| 						stripos($v,'Delivery attempt could not be completed') !== false 						|| 						stripos($v,'Forwarded to a third party agent') !== false 						|| 						stripos($v,'Awaiting collection by the consignee') !== false 						|| 						stripos($v,'Consignee has moved from the address provided') !== false 						|| 						stripos($v,'awaiting customer pickup') !== false					)					{						$exstate = 1;						break;					}					/**					if(stripos(strtolower($v),strtolower($number['city'])) !== false && stripos(strtolower($v),'arrived at post office') !== false)					{						$exstate = 5;						break;					}					**/					else if(						stripos(strtolower($v),strtolower('Arrived at USPS Destination Facility')) !== false 						&& 						stripos(strtolower($v),strtolower($dataprovince.' DISTRIBUTION CENTER')) !== false					)					{						$exstate = 4;						break;					}					if(						stripos(strtolower($v),'In transit') !== false 						|| 						stripos(strtolower($v),'picked up item') !== false					)					{						$exstate = 3;						break;					}					if(stripos(strtolower($v),'accepted at usps origin facility') !== false)					{						$exstate = 2;						break;					}				}			}			else			{				//这种情况基本没有 因为文档上返回的参数必须是数组,哪怕就一个状态也是数组				$exstate = 1;							}					}		return  $exstate;	}		}  //end class
 |