Order.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class Order extends Lyapi_Controller{
  4. // 注意:登录接口不能受基础控制器的登录校验,可以覆盖构造方法或单独处理
  5. public function __construct() {
  6. // 这里不执行登录校验,只加载缓存驱动
  7. parent::__construct(); // 暂时注释,或者使用一个新的不校验的基类
  8. // 简便做法:复制 Lyapi_Controller 的部分代码但不调用 _check_api_auth
  9. // $this->load->driver('cache'); // 加载缓存驱动
  10. $this->load->_model("Model_logic_order","logic_order");
  11. }
  12. public function getinfo(){
  13. if($this->input->method(TRUE) != 'POST'){
  14. $this->_json_error('请求方式错误','500');
  15. }
  16. $json_str = $this->input->raw_input_stream;
  17. $data = json_decode($json_str,true);
  18. if(empty($data['scancode'])){
  19. $this->_json_error('参数错误','500');
  20. }
  21. $number = $data['scancode'];
  22. if(stripos($number,'-') === false){
  23. if(substr($number,0,3) == '788' && substr($number,-4,4) == '0430')//Fedex联邦
  24. {
  25. $number = substr($number,0,12);
  26. }
  27. if(strlen($number) == '34')//联邦杭州超长运单截取
  28. {
  29. $str = substr($number, 0,3);
  30. if($str == "420"){
  31. $number = substr($number,12);
  32. }else{
  33. $number = substr($number,22,12);
  34. }
  35. }
  36. $info = $this->logic_order->getInfo("waybill = '".$number."'");
  37. }else{
  38. $info = $this->logic_order->getInfo("number = '".$data['scancode']."'");
  39. }
  40. if(empty($info)){
  41. $this->_json_error('未查询到订单信息','500');
  42. }
  43. $this->_json_error('成功',200,[
  44. 'orderinfo'=>$info['orderinfo'],
  45. 'number'=>$info['number'],
  46. 'waybill'=>$info['waybill'],
  47. 'printtime'=>date("Y-m-d H:i",$info['printtime']),
  48. ]);
  49. }
  50. }