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; }
public function getOrderExpressInfo() { return $this->hasOne(OrderExpressInfo::className(), ['orderId' => 'id']); }