/** * add a coupon for a user * @return string */ public function actionAddCoupon() { $couponCode = Yii::$app->request->post('couponCode'); /**@var $couponModel \star\marketing\models\Coupon **/ $coupon = Yii::createObject(Coupon::className()); $couponModel = $coupon::find()->where(['coupon_no' => $couponCode])->one(); if ($couponModel) { if ($couponModel->end_at > time() && $couponModel->status == 1 && $couponModel->user_id == 0) { $couponModel->user_id = Yii::$app->user->id; if ($couponModel->save()) { return Json::encode(['message' => Yii::t('coupon', 'add coupon success!')]); } } return Json::encode(['message' => Yii::t('coupon', 'the coupon is useless')]); } else { return Json::encode(['message' => Yii::t('coupon', 'the coupon is not exist')]); } }
public function updateCoupon($rule_id) { if ($this->validate()) { $transaction = \Yii::$app->db->beginTransaction(); try { for ($i = 0; $i < $this->total; $i++) { $coupon = Yii::createObject(Coupon::className()); $coupon->coupon_no = uniqid(); $coupon->rule_id = $rule_id; $coupon->status = $this->status; $coupon->start_at = $this->start_at; $coupon->end_at = $this->end_at; $coupon->star_id = $this->star_id; $coupon->save(); } $transaction->commit(); return true; } catch (\yii\base\Exception $e) { $transaction->rollback(); return false; } } }
public function actionDeleteRule($id) { $this->findRuleModel($id)->delete(); $coupon = Yii::createObject(Coupon::className()); $coupon::deleteAll(['rule_id' => $id]); return $this->redirect(['index']); }