Apiexpress.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. $table_name = $this->logic_tools->getOrderTable($shop);
  39. $info = $this->logic_order->getInfoByTableName($table_name,"orderinfo = ".$order_no);
  40. if(empty($info)){
  41. die($this->logic_tools->ret_json(-1,"未查询到订单信息"));
  42. }
  43. $receive_time = "";//客户签到时间
  44. $shipping_time = "";//快递接受发货时间
  45. $express_trace = [];
  46. $express_info = $this->express->read($info['express']);
  47. if(!empty($info['excontent'])){
  48. $tmp_arr = explode("<br />",$info['excontent']);
  49. array_pop($tmp_arr);
  50. $re_arr = array_reverse($tmp_arr);
  51. $shipping_time_arr = explode("[",$re_arr[0] ) ;
  52. $shipping_time = $shipping_time_arr[0];
  53. if($info['expressstate'] == 6){
  54. $receive_tmp_arr = explode("[",$tmp_arr[0] ) ;
  55. $receive_time = $receive_tmp_arr[0];
  56. }
  57. $express_trace = $re_arr;
  58. }
  59. $ret_arr = [
  60. "express_name"=>$express_info['iscode'],
  61. "waybill"=>$info['waybill'],
  62. "preparing"=>empty($info['dtime'])?"":date("Y-m-d H:i:s",$info['dtime']),//店家处理
  63. "warehouse_processing"=>empty($info['printtime'])?"":date("Y-m-d H:i:s",$info['printtime']),//工厂处理
  64. "shipping"=>$shipping_time,//快递发货
  65. "received"=>$receive_time,//客户收货
  66. "express_trace"=>$express_trace,//快递跟踪信息
  67. ];
  68. echo "<pre>";
  69. var_dump($ret_arr);
  70. die;
  71. die($this->logic_tools->ret_json(1,"success",$ret_arr));
  72. }
  73. }