validate()) { return $this->getModelError(); } $goods = GoodsHub::findOne($this->goods_hub_id); if (!$goods) { return $this->apiReturnError('商品id异常'); } $signing = new Signing(); $signing->order_no = $this->orderNo(); $signing->user_id = \Yii::$app->user->identity->id; $signing->goods_hub_id = $this->goods_hub_id; $signing->moy = $goods->original_price * $this->number; $signing->company_name = $this->company_name; $signing->brand_name = $this->brand_name; $signing->product = $this->product; $signing->type = $this->type; $signing->number = $this->number; $signing->remark = $this->remark; $signing->create_time = time(); return $signing->save(); } private function orderNo() { $orderNo = mt_rand(100000000000, 99999999999); if (Signing::find()->where('order_no', $orderNo)->count()) { return $this->orderNo(); } return $orderNo; } public function orderDetail($orderNo) { $order = Signing::find()->where('order_no', $orderNo) ->where('user_id', \Yii::$app->user->identity->id)->one()->toArray(); if (!$order) { return $this->apiReturnError('订单号错误'); } $order['goods'] = GoodsHub::findOne($order['goods_hub_id']); return $this->apiReturnSuccess('success', $order); } public function orderList($status) { $query = Signing::find()->where('user_id', \Yii::$app->user->identity->id); if ($status) { $query->where('status', $status); } $pagination = new Pagination(['totalCount' => $query->count(), 'defaultPageSize' => 2]); $models = $query->offset($pagination->offset)->limit($pagination->limit)->all(); return $this->apiReturnSuccess('success', $models); } }