Apiexpress.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class Apiexpress extends Start_Controller {
  4. public function __construct(){
  5. parent::__construct();
  6. $this->load->_model('Model_logic_order','logic_order');
  7. $this->load->_model('Model_logic_tools','logic_tools');
  8. $this->load->_model('Model_awlgx','awlgx');
  9. $this->load->_model("Model_express","express");
  10. }
  11. //定义方法的调用规则 获取URI第二段值
  12. public function _remap($arg,$arg_array)
  13. {
  14. if($arg == 'search')
  15. {
  16. $this->search($arg_array);
  17. }else{
  18. $this->_a();
  19. }
  20. }
  21. public function _a(){
  22. die();
  23. }
  24. /**
  25. * 搜索订单状态和快递信息接口
  26. * @param $arg_array[0] string 请求店铺
  27. * @param $arg_array[1] string 请求单号
  28. */
  29. public function search($arg_array){
  30. $shop = $arg_array[0];
  31. $order_no = $arg_array[1];
  32. if(empty($shop)){
  33. die($this->logic_tools->ret_json(-1,"请求店铺异常"));
  34. }
  35. if(empty($order_no)){
  36. die($this->logic_tools->ret_json(-1,"请求单号异常"));
  37. }
  38. $order_no = $shop.$order_no;
  39. $table_name = $this->logic_tools->getOrderTable($shop);
  40. $info = $this->logic_order->getInfoByTableName($table_name,"orderinfo = ".$order_no);
  41. if(empty($info)){
  42. die($this->logic_tools->ret_json(-1,"未查询到订单信息"));
  43. }
  44. $receive_time = "";//客户签到时间
  45. $shipping_time = "";//快递接受发货时间
  46. $express_trace = [];
  47. $express_info = $this->express->read($info['express']);
  48. if(!empty($info['excontent'])){
  49. $tmp_arr = explode("<br />",$info['excontent']);
  50. array_pop($tmp_arr);
  51. $re_arr = array_reverse($tmp_arr);
  52. $shipping_time_arr = explode("[",$re_arr[0] ) ;
  53. $shipping_time = $shipping_time_arr[0];
  54. if($info['expressstate'] == 6){
  55. $receive_tmp_arr = explode("[",$tmp_arr[0] ) ;
  56. $receive_time = $receive_tmp_arr[0];
  57. }
  58. $express_trace = $re_arr;
  59. }
  60. $ret_arr = [
  61. "express_name"=>$express_info['iscode'],
  62. "waybill"=>$info['waybill'],
  63. "preparing"=>empty($info['dtime'])?"":date("Y-m-d H:i:s",$info['dtime']),//店家处理
  64. "warehouse_processing"=>empty($info['printtime'])?"":date("Y-m-d H:i:s",$info['printtime']),//工厂处理
  65. "shipping"=>$shipping_time,//快递发货
  66. "received"=>$receive_time,//客户收货
  67. "express_trace"=>$express_trace,//快递跟踪信息
  68. ];
  69. echo "<pre>";
  70. var_dump($ret_arr);
  71. die;
  72. die($this->logic_tools->ret_json(1,"success",$ret_arr));
  73. }
  74. }