public function actionUpdateexpress()
 {
     set_time_limit(0);
     $model = new OrderExpressInfo();
     $list = $model->find()->where(['<', 'status', 4])->orWhere(['status' => null])->all();
     if (!$list) {
         return false;
     }
     $res = [];
     foreach ($list as $k => $v) {
         $code = null;
         if (isset($v->express->code) && !empty($v->express->code)) {
             $code = $v->express->code;
         }
         $expressNo = null;
         if (isset($v->expressNo) && !empty($v->expressNo)) {
             $expressNo = $v->expressNo;
         }
         if (!($code && $expressNo)) {
             break;
         }
         $json = Tool::getExpressInfoByOrder($code, $expressNo);
         //数据有效
         if (isset($json->data) && !empty($json->data) && $json->data != '[]') {
             array_push($res, ['id' => $v->id, 'status' => $json->status, 'progressInfo' => json_encode($json->data), 'updateTime' => $json->updateTime]);
         }
         sleep(2);
     }
     (new OrderExpressInfo())->updateOrderExpressInfo($res);
 }
 public function deliver($orderId, $expressNo, $expressStyle, $expressChart)
 {
     //订单快递信息已存在
     $orderModel = (new Order())->findOne(['id' => $orderId]);
     if ($this->findOne(['orderId' => $orderId])) {
         return false;
     }
     $model = new OrderExpressInfo();
     $model->orderId = $orderId;
     $model->expressNo = $expressNo;
     $model->expressStyle = $expressStyle;
     $model->expressChart = $expressChart;
     $model->sendTime = date('Y-m-d H:i:s', time());
     if ($model->save() > 0) {
         //修改库存
         $orderModel->orderStatus = 2;
         if ($orderModel->save() > 0) {
             return true;
         }
     }
     return false;
 }
Example #3
0
 public function getOrderExpressInfo()
 {
     return $this->hasOne(OrderExpressInfo::className(), ['orderId' => 'id']);
 }