123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class Apiexpress extends Start_Controller {
- public function __construct(){
- parent::__construct();
- $this->load->_model('Model_logic_order','logic_order');
- $this->load->_model('Model_logic_tools','logic_tools');
- $this->load->_model('Model_awlgx','awlgx');
- $this->load->_model("Model_express","express");
- }
- //定义方法的调用规则 获取URI第二段值
- public function _remap($arg,$arg_array)
- {
-
- if($arg == 'search')
- {
- $this->search($arg_array);
- }else{
- $this->_a();
- }
- }
- public function _a(){
- die();
- }
- /**
- * 搜索订单状态和快递信息接口
- * @param $arg_array[0] string 请求店铺
- * @param $arg_array[1] string 请求单号
- */
- public function search($arg_array){
- $shop = isset($arg_array[0])?$arg_array[0]:"";
- $waybill_no = isset($arg_array[1])?$arg_array[1]:"";
-
- $time = isset($arg_array[2])?$arg_array[2]:0;
-
- $now_time = time();
- if(strlen( $time."") != 10){
- die($this->logic_tools->ret_json(-1,"参数异常"));
- }
- // if( $now_time - $time > 3){
- // die($this->logic_tools->ret_json(-1,"该功能已禁用"));
- // }
-
- if(empty($shop)){
- die($this->logic_tools->ret_json(-1,"请求店铺异常"));
- }
- if(empty($waybill_no)){
- die($this->logic_tools->ret_json(-1,"请求单号异常"));
- }
- $table_name = $this->logic_tools->getOrderTable($shop);
- if(empty($table_name)){
- die($this->logic_tools->ret_json(-1,"店铺未开通此功能!!!"));
- }
- $info = $this->logic_order->getInfoByTableName($table_name,"waybill = ".$waybill_no. " and shop = ".$shop,"id,express,excontent,expressstate,waybill,dtime,printtime");
- if(empty($info)){
- die($this->logic_tools->ret_json(-1,"未查询到相关快递信息"));
- }
- $receive_time = "";//客户签到时间
- $shipping_time = "";//快递接受发货时间
- $express_trace = [];
- $express_info = $this->express->read($info['express']);
-
- if(!empty($info['excontent'])){
- $tmp_arr = explode("<br />",$info['excontent']);
- array_pop($tmp_arr);
- $re_arr = array_reverse($tmp_arr);
- $shipping_time_arr = explode("[",$re_arr[0] ) ;
- $shipping_time = $shipping_time_arr[0];
- if($info['expressstate'] == 6){
- $receive_tmp_arr = explode("[",$tmp_arr[0] ) ;
- $receive_time = $receive_tmp_arr[0];
- }
- $express_trace = $re_arr;
- }
-
- $ret_arr = [
- "express_name"=>$express_info['iscode'],
- "waybill"=>$info['waybill'],
- "preparing"=>empty($info['dtime'])?"":date("Y-m-d H:i:s",$info['dtime']),//店家处理
- "warehouse_processing"=>empty($info['printtime'])?"":date("Y-m-d H:i:s",$info['printtime']),//工厂处理
- "shipping"=>$shipping_time,//快递发货
- "received"=>$receive_time,//客户收货
- "express_trace"=>$express_trace,//快递跟踪信息
- ];
- die($this->logic_tools->ret_json(1,"success",$ret_arr));
- }
- }
|