Ejemplo n.º 1
0
 /**
  * 创建快递跟踪信息
  * @method send
  * @since 0.0.1
  * @param {string} $company 快递公司代码
  * @param {string} $number 快递单号
  * @return {boolean}
  * @example \Yii::$app->express->send($company, $number);
  */
 public function send($company, $number)
 {
     $eid = 0;
     if ($express = Express::findOne(['company' => $company, 'number' => $number])) {
         $eid = $express->id;
     } else {
         $express = new Express();
         $express->company = $company;
         $express->number = $number;
         $express->generateAuthKey();
         if ($express->save()) {
             $result = $this->debug ? ['returnCode' => 200] : Json::decode(Kd100::sdk($this->key)->poll($company, $number, $this->getUrl($express->id), $express->auth_key, $this->resultv2));
             if (isset($result['returnCode'])) {
                 switch ($result['returnCode']) {
                     case 200:
                         $express->status = '提交成功';
                         $eid = $express->id;
                         break;
                     case 501:
                         $express->status = '重复订阅';
                         break;
                 }
                 $express->save();
             }
         }
     }
     return $eid;
 }