Ejemplo n.º 1
0
 public function actionUpdate($id)
 {
     $id = new \MongoId($id);
     $params = $this->getParams();
     if (empty($params['status'])) {
         throw new BadRequestHttpException(Yii::t('store', 'status_missing'));
     }
     if (false === Order::checkOrderStatus($params['status'])) {
         throw new InvalidParameterException(Yii::t('store', 'status_invalid'));
     }
     $orderInfo = Order::findByPk($id);
     if (!empty($orderInfo) && $orderInfo->status == Order::ORDER_STATUS_WAITING) {
         $orderInfo->status = $params['status'];
         if (Order::ORDER_STATUS_FINISHED == $params['status']) {
             $orderInfo->payWay = self::ORDER_PAY_WAY;
         }
         $orderInfo->operateTime = new \MongoDate();
         if ($orderInfo->save()) {
             return $orderInfo;
         }
     }
     throw new ServerErrorHttpException(Yii::t('common', 'update_fail'));
 }