/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = RaiseCard::find()->orderBy('id DESC');
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'member_id' => $this->member_id, 'coupon_id' => $this->coupon_id, 'validity_start_at' => $this->validity_start_at, 'use_at' => $this->use_at, 'validity_out_at' => $this->validity_out_at, 'use_end_time' => $this->use_end_time, 'rate' => $this->rate, 'status' => $this->status, 'create_at' => $this->create_at, 'update_at' => $this->update_at]);
     return $dataProvider;
 }
Exemple #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getActivityRaiseCards()
 {
     return $this->hasMany(RaiseCard::className(), ['fund_order_id' => 'id']);
 }
Exemple #3
0
 /**
  * Auther:langxi
  * $member_id:用户id、$coupon_id:加息劵id
  * (仅)用户使用加息劵,使用时间,结束时间,能否使用加息劵判断。
  */
 public static function useRaise($member_id, $coupon_id)
 {
     //判断加息是否达到每日加息最大值,若达到则提示用户,加息劵不可使用
     $Raise = (new \yii\db\Query())->select(['sum(rate)'])->from(['activity_raise_card'])->where(['member_id' => $member_id, 'status' => 1])->createCommand();
     $TotalRaise = $Raise->queryAll();
     $max_raise = self::getRaise();
     if ($TotalRaise['0']['sum(rate)'] > $max_raise) {
         throw new ErrorException('今日加息已达到最大值,请明日再用', 7001);
     } else {
         $card = Card::find()->where(['id' => $coupon_id])->asArray()->one();
         $validity_time = $card['validity_time'];
         $Raise = RaiseCard::find()->where(['member_id' => $member_id, 'id' => $coupon_id])->asArray()->one();
         $raise_id = $Raise['id'];
         $Raise = RaiseCard::findOne($raise_id);
         $Raise->use_at = time();
         $Raise->use_end_time = time() + $validity_time * 3600 * 24;
         $Raise->status = '1';
         $Raise = $Raise->save();
         if (!$Raise) {
             throw new ErrorException('加息劵使用失败', 5002);
         }
     }
 }
 /**
  * Finds the RaiseCard model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return RaiseCard the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = RaiseCard::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Exemple #5
0
echo DatePicker::widget(['model' => $model, 'attribute' => 'validity_start_at', 'language' => 'zh-CN', 'size' => 'ms', 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd', 'todayBtn' => true]]);
?>
    </div>
    <div class="form-group field-thirdproduct-start_at required" style="width: 300px">
        <label class="control-label" for="thirdproduct-amount">有效期结束时间</label>
        <?php 
echo DatePicker::widget(['model' => $model, 'attribute' => 'validity_out_at', 'language' => 'zh-CN', 'size' => 'ms', 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd', 'todayBtn' => true]]);
?>
    </div>


    <?php 
echo $form->field($model, 'rate')->textInput();
?>

    <?php 
echo $form->field($model, 'status')->dropDownList(RaiseCard::labels());
?>

    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? Yii::t('app', '创建') : Yii::t('app', '更新'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
?>

</div>
Exemple #6
0
 /**
  * Auther:langxi
  * $member_id:用户id、$coupon_id:加息劵id
  * (仅)用户使用加息劵,使用时间,结束时间,能否使用加息劵判断。
  */
 public static function useRaise($member_id, $coupon_id)
 {
     if (!$member_id || !is_numeric($member_id) || !is_int($member_id) || !$coupon_id || !is_numeric($coupon_id) || !is_int($coupon_id)) {
         $result = array('errorNum' => '1', 'errorMsg' => '参数错误', 'data' => null);
         return $result;
     }
     $is_user = Info::find()->where(['member_id' => $member_id])->asArray()->one();
     if (!$is_user) {
         $result = array('errorNum' => '1', 'errorMsg' => '参数错误', 'data' => null);
         return $result;
     }
     $is_coupon = RaiseCard::find()->where(['id' => $coupon_id, 'member_id' => $member_id])->asArray()->one();
     if (!$is_coupon) {
         $result = array('errorNum' => '1', 'errorMsg' => '参数错误', 'data' => null);
         return $result;
     }
     //判断加息是否达到每日加息最大值,若达到则提示用户,加息劵不可使用
     $Raise = (new \yii\db\Query())->select(['sum(rate)'])->from(['activity_raise_card'])->where(['member_id' => $member_id, 'status' => 1])->createCommand();
     $TotalRaise = $Raise->queryAll();
     $max_raise = self::getRaise();
     if ($TotalRaise['0']['sum(rate)'] > $max_raise) {
         $result = array('errorNum' => '1', 'errorMsg' => '今日加息已达到最大值,请明日再用', 'data' => null);
         return $result;
     } else {
         $card = Card::find()->where(['id' => $coupon_id])->asArray()->one();
         $validity_time = $card['validity_time'];
         $Raise = RaiseCard::find()->where(['member_id' => $member_id, 'id' => $coupon_id])->asArray()->one();
         $raise_id = $Raise['id'];
         $Raise = RaiseCard::findOne($raise_id);
         $Raise->use_at = time();
         $Raise->use_end_time = time() + $validity_time * 3600 * 24;
         $Raise->status = '1';
         $Raise = $Raise->save();
         if (!$Raise) {
             $result = array('errorNum' => '1', 'errorMsg' => '加息劵使用失败', 'data' => null);
             return $result;
         } else {
             $result = array('errorNum' => '0', 'errorMsg' => 'success', 'data' => null);
             return $result;
         }
     }
 }