['app', 'mini', 'official', 'h5']], ]; } public function save() { if (!$this->validate()) { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } $level = Level::findOne([ 'id' => $this->level_id, 'is_delete' => 0, 'store_id' => $this->store_id, 'status' => 1 ]); // $level = Level::find()->select(['id', 'level', 'price']) // ->where(['store_id' => $this->store_id, 'is_delete' => 0, 'status' => 1]) // ->andWhere(['<>','price', '0']) // ->andWhere(['>', 'level', $this->user->level]) // ->andWhere(['level' => $id]) // ->orderBy('level asc')->asArray()->one(); if (!$level) { return [ 'code' => 1, 'msg' => '数据异常' ]; } $order = new LevelOrder(); $order->store_id = $this->store_id; $order->user_id = $this->user->id; $order->current_level = $this->user->level; $order->after_level = $level->level; $order->order_no = OrderNo::getOrderNo(OrderNo::ORDER_LEVEL); $order->is_pay = 0; $order->is_delete = 0; $order->created_at = time(); $pay_price = $level->price ?: 0; $order->pay_price = $pay_price; if ($order->save()) { return [ 'code' => 0, 'data' => [ 'add_time' => $order->created_at, 'order_id' => $order->id ] ]; } else { return [ 'code' => 1, 'msg' => $order->errors[0] ]; } } }