/** * Creates a new Coupon model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { //if(!Yii::$app->user->can('createYourAuth')) throw new ForbiddenHttpException(Yii::t('app', 'No Auth')); $model = new Coupon(); $model->loadDefaultValues(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
/** * Displays a single CouponType model. * @param integer $id * @return mixed */ public function actionSend($id) { //if(!Yii::$app->user->can('viewYourAuth')) throw new ForbiddenHttpException(Yii::t('app', 'No Auth')); if (Yii::$app->request->post()) { if (isset(Yii::$app->request->post('CouponType')['users'])) { $strUser = Yii::$app->request->post('CouponType')['users']; $arrayUser = explode(',', $strUser); foreach ($arrayUser as $user) { $user = User::find()->where(['username' => $user])->one(); $userId = isset($user) ? $user->id : null; $couponType = CouponType::findOne($id); if ($userId) { $coupon = new Coupon(); $coupon->user_id = $userId; $coupon->coupon_type_id = $id; $coupon->money = $couponType->money; $coupon->min_amount = $couponType->min_amount; $coupon->started_at = $couponType->started_at; $coupon->ended_at = $couponType->ended_at; $coupon->user_id = $userId; $coupon->save(); } } } elseif (isset(Yii::$app->request->post('CouponType')['numbers']) && Yii::$app->request->post('CouponType')['numbers'] > 0) { for ($i = 0; $i < Yii::$app->request->post('CouponType')['numbers']; $i++) { $couponType = CouponType::findOne($id); $coupon = new Coupon(); $coupon->coupon_type_id = $id; $coupon->money = $couponType->money; $coupon->min_amount = $couponType->min_amount; $coupon->started_at = $couponType->started_at; $coupon->ended_at = $couponType->ended_at; $coupon->sn = Yii::$app->security->generateRandomString(8); $coupon->save(); } } return $this->redirect(['coupon/index']); } else { $model = $this->findModel($id); if ($model->type == CouponType::COUPON_TYPE_AMOUNT) { $arrayUserId = ArrayHelper::map(Order::find()->where('amount > :amount', [':amount' => $model->min_goods_amount])->all(), 'user_id', 'user_id'); $arrayUserName = ArrayHelper::map(User::find()->where(['id' => $arrayUserId])->all(), 'id', 'username'); $model->users = implode(',', $arrayUserName); } return $this->render('sendForm', ['model' => $model]); } }