| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class Order extends Lyapi_Controller{
- // 注意:登录接口不能受基础控制器的登录校验,可以覆盖构造方法或单独处理
- public function __construct() {
- // 这里不执行登录校验,只加载缓存驱动
- parent::__construct(); // 暂时注释,或者使用一个新的不校验的基类
- // 简便做法:复制 Lyapi_Controller 的部分代码但不调用 _check_api_auth
- // $this->load->driver('cache'); // 加载缓存驱动
- $this->load->_model("Model_logic_order","logic_order");
- $this->load->_model("Model_aliyunoss","aliyunoss");
- }
- public function getinfo(){
- if($this->input->method(TRUE) != 'POST'){
- $this->_json_error('请求方式错误','500');
- }
- $json_str = $this->input->raw_input_stream;
- $data = json_decode($json_str,true);
- if(empty($data['scancode'])){
- $this->_json_error('参数错误','500');
- }
- $number = $data['scancode'];
- if(stripos($number,'-') === false){
- if(substr($number,0,3) == '788' && substr($number,-4,4) == '0430')//Fedex联邦
- {
- $number = substr($number,0,12);
- }
- if(strlen($number) == '34')//联邦杭州超长运单截取
- {
- $str = substr($number, 0,3);
- if($str == "420"){
- $number = substr($number,12);
- }else{
- $number = substr($number,22,12);
- }
- }
- $info = $this->logic_order->getInfo("waybill = '".$number."'");
- }else{
- $info = $this->logic_order->getInfo("number = '".$data['scancode']."'");
- }
- if(empty($info)){
- $this->_json_error('未查询到订单信息','500');
- }
- $this->_json_error('成功',200,[
- 'orderinfo'=>$info['orderinfo'],
- 'number'=>$info['number'],
- 'waybill'=>$info['waybill'],
- 'printtime'=>date("Y-m-d H:i",$info['printtime']),
- ]);
-
- }
- public function getinfoscan(){
- if($this->input->method(TRUE) != 'POST'){
- $this->_json_error('请求方式错误','500');
- }
- $json_str = $this->input->raw_input_stream;
- $data = json_decode($json_str,true);
- if(empty($data['scancode'])){
- $this->_json_error('参数错误','500');
- }
- $number = $data['scancode'];
- if(stripos($number,'-') === false){
- if(substr($number,0,3) == '788' && substr($number,-4,4) == '0430')//Fedex联邦
- {
- $number = substr($number,0,12);
- }
- if(strlen($number) == '34')//联邦杭州超长运单截取
- {
- $str = substr($number, 0,3);
- if($str == "420"){
- $number = substr($number,12);
- }else{
- $number = substr($number,22,12);
- }
- }
- $info = $this->logic_order->getInfo("waybill = '".$number."'");
- }else{
- $info = $this->logic_order->getInfo("number = '".$data['scancode']."'");
- }
- if(empty($info)){
- $this->_json_error('未查询到订单信息','500');
- }
- if($data['qr'] != 'aliyuncheck'){
- $this->_json_error('参数错误','500');
- }
- $res = $this->aliyunoss->getOssSignType("scanlibrary");
- if($res['code'] == -1){
- $this->_json_error($res["msg"],'500');
- }else{
- $this->_json_error('成功',200,[
- 'orderinfo'=>$info['orderinfo'],
- 'number'=>$info['number'],
- 'waybill'=>$info['waybill'],
- 'printtime'=>date("Y-m-d H:i",$info['printtime']),
- 'oss_config'=>$res['data']
- ]);
- }
-
- }
-
- }
|