attributes = get_params(); $form->store_id = get_store_id(); $form->user_id = get_user_id(); return $this->asJson($form->search()); } /** * 我的优惠券列表 * @return \yii\web\Response */ public function actionSaasIndex() { $form = new CouponForm(); $form->attributes = get_params(); $form->store_id = $this->store_id; $form->user_id = get_user_id(); return $this->asJson($form->saasSearch()); } /** * 分享页面送优惠券 * @return \yii\web\Response */ public function actionShareSend() { $form = new CouponForm(); $form->store_id = $this->store_id; $form->user_id = get_user_id(); return $this->asJson($form->saveCoupon()); } /** * 领取优惠券 * @return \yii\web\Response */ public function actionReceive() { $form = new CouponForm(); $form->store_id = get_store_id(); $form->user_id = get_user_id(); $form->id = get_params('id'); $userK = [$form->id, get_user_id()]; if(cache_lock($userK, 30)){ debug_log('上个请求正在处理。。。', __CLASS__ . '.log'); return $this->asJson([ 'code' => 1, 'msg' => '上个请求正在处理。。。' ]); } $sendCoupon = $form->sendCoupon(); cache_lock_del($userK); return $this->asJson($sendCoupon); } public function actionSubStock(){ return $this->asJson(Coupon::subStock(input_params('id'))); } /** * saas领取优惠券 * @return \yii\web\Response */ public function actionSaasReceive() { $form = new CouponForm(); $form->store_id = get_store_id(); $form->user_id = get_user_id(); $form->id = get_params('id'); return $this->asJson($form->sendSaasCoupon()); } /** * saas分享领取优惠券 * @return \yii\web\Response */ public function actionSaasShareReceive() { $user_id = intval(get_params('user_id')); if ($user_id <= 0) { return $this->asJson([ 'code' => 1, 'msg' => '参数有误' ]); } $coupon_id = intval(get_params('coupon_id')); $res = UserCoupon::find()->where(['coupon_id' => $coupon_id, 'user_id' => $user_id, 'is_use' => 0, 'is_expire' => 0, 'is_delete' => 0])->one(); if (!$res) { return $this->asJson([ 'code' => 1, 'msg' => '优惠券不存在' ]); } $new_user_id = get_user_id(); UserCoupon::updateAll(['user_id' => $new_user_id, 'type' => 4], ['user_id' => $user_id, 'coupon_id' => $coupon_id]); return $this->asJson([ 'code' => 0, 'msg' => '领取成功' ]); } /** * 优惠券详情 * @return \yii\web\Response */ public function actionDetail() { $form = new CouponForm(); $form->store_id = $this->store_id; $form->user_id = get_user_id(); $form->id = get_params('user_coupon_id'); $form->coupon_id = get_params('coupon_id'); return $this->asJson($form->detail()); } /** * 优惠券详情 * @return \yii\web\Response */ public function actionSaasDetail() { $form = new CouponForm(); $form->store_id = $this->store_id; $form->user_id = get_user_id(); $form->id = get_params('user_conpon_id'); $form->coupon_id = get_params('coupon_id'); return $this->asJson($form->saasDetail()); } /** * 分享获取优惠券 */ public function actionShare() { $user = get_user(); \Yii::error([$user->id, UserCoupon::TYPE_AUTO, $user->store_id]); $res = AutoSendCoupon::send($user->id, CouponAutoSend::EVENT_SHARE, $user->store_id); return $this->asJson($res); } /** * 分享领取优惠券 */ public function actionShareReceive() { $user_id = get_user_id(); $user_coupon_id = post_params('id'); $user_coupon = UserCoupon::findOne(['id' => $user_coupon_id, 'is_delete' => 0, 'give_user_id' => 0]); if (!$user_coupon) { return $this->asJson([ 'code' => 1, 'msg' => '优惠券已转赠或不存在' ]); } if ($user_id == $user_coupon->user_id) { return $this->asJson([ 'code' => 1, 'msg' => '不能领取自己的优惠券' ]); } $user_coupon->give_user_id = $user_coupon->user_id; $user_coupon->user_id = $user_id; if (!$user_coupon->save()) { return $this->asJson([ 'code' => 1, 'msg' => '领取失败' ]); } return $this->asJson([ 'code' => 0, 'msg' => '领取成功' ]); } }