/**
  * 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')]);
     }
 }
Exemple #2
0
 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']);
 }