getRequest()->getParam("user_id"); //start if ($user_id) { //start双十一三天登陆发送优惠券 用后删除 //三批 $criteria = new EMongoCriteria(); $criteria->coupon('==',new MongoId('5822c17f9f5160bc048b4f98')); $criteria->user('==', new MongoId($user_id)); $user_coupon = UserCoupon::model()->find($criteria); //|| (empty($user_coupon) && time() >= intval(date_create("2016-11-11")->format('U')) && time() <= intval(date_create("2016-11-17")->format('U'))) if ( $user_id == '57e38f1b9f5160ac048b457d' ) { echo "成功"; $coupons = array( 0 => array('5822c17f9f5160bc048b4f98','5822eaa39f5160ca048b50e6','5822eaf59f5160b2048b4ed3','5822eb6a9f5160d3048b4eab','5822ebfa9f5160a9048b4f43','5822ec399f5160c2048b5158','5822ec709f5160bc048b5006'), 1 => array('5822ec869f5160be048b50f1','5822ec479f5160c3048b4fa8','5822ec159f5160aa048b51ec','5822eb809f5160c0048b50a0','5822eb0e9f5160d4048b5111','5822eab99f5160b5048b50d6','5822ea719f5160b7048b4fb9'), 2 => array('5822ec949f5160a3048b4f6d','5822ec599f5160cc048b4f79','5822ec229f5160ca048b50e7','5822eb969f5160a6048b4e85', '5822eb1d9f5160c4048b4edb','5822eace9f5160b8048b511b','5822ea869f5160ae048b521c') // 0 => array('58240b1ca84ea08d438b4567'), // 1 => array('58240b23a84ea02e3e8b4668'), // 2 => array('58240b2aa84ea02c438b4574'), ); foreach ($coupons as $key => $coupon) { switch ($key) { //第一批 case 0: $start_time = date_create("2016-11-14")->format('U');//发放优惠券可用开始时间 2016.11.14 $end_time = date_create("2016-11-30")->format('U'); //发放优惠券过期时间 17天 foreach ($coupon as $c) { $coupon_id = new MongoId($c); Service::factory('CouponService')->giveCoupon($user_id, $coupon_id, $start_time, $end_time);//发放代金券 } break; //第二批 case 1: $start_time = date_create("2016-12-01")->format('U');//发放优惠券可用开始时间 2016.11.14 $end_time = date_create("2016-12-15")->format('U'); //发放优惠券过期时间 15天 foreach ($coupon as $c) { $coupon_id = new MongoId($c); Service::factory('CouponService')->giveCoupon($user_id, $coupon_id, $start_time, $end_time);//发放代金券 } break; //第三批 case 2: $start_time = date_create("2016-12-16")->format('U');//发放优惠券可用开始时间 2016.11.14 $end_time = date_create("2016-12-31")->format('U');; //发放优惠券过期时间 15天 foreach ($coupon as $c) { $coupon_id = new MongoId($c); Service::factory('CouponService')->giveCoupon($user_id, $coupon_id, $start_time, $end_time);//发放代金券 } break; } } } //end } //end if(CommonFn::isMongoId($user_id)){ $user = Service::factory('UserService')->getUser(new MongoId($user_id),false); if($user){ $user = $user->parseRow($user->attributes); CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$user); }else{ CommonFn::requestAjax(false,CommonFn::getMessage('user','id_not_exist')); } }else{ CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal')); } } //兑换码兑换优惠券 public function actionExchangeCoupon(){ $user_id = Yii::app()->getRequest()->getParam("user_id",""); $exchange_code = Yii::app()->getRequest()->getParam("exchange_code",0); //$device_id = Yii::app()->request->getParam('device_id'); $device_id = ''; if(CommonFn::isMongoId($user_id) && $exchange_code){ $user = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201); $criteria = new EMongoCriteria(); $criteria->code('==',$exchange_code); $exchange_code = CouponCode::model()->find($criteria); $current_time = time(); if($exchange_code && $exchange_code->status == 0 && $exchange_code->stop_time > $current_time){ $criteria = new EMongoCriteria(); if($device_id){ // $criteria->user('or',$user->_id); //$criteria->user_device_id('or',$device_id); //$criteria->channel('==',$exchange_code->channel); }else{ $criteria->channel('==',$exchange_code->channel); $criteria->user('==',$user->_id); } $have_check = CouponCode::model()->count($criteria); if($have_check){ CommonFn::requestAjax(false,CommonFn::getMessage('o2o','exchange_code_have_same')); } foreach ($exchange_code->coupons as $coupon_id) { Service::factory('CouponService')->giveCoupon($user->_id,$coupon_id); } $exchange_code->use_time = $current_time; $exchange_code->user = $user->_id; //$exchange_code->user_device_id = $device_id; $exchange_code->status = 1; $exchange_code->update(array('use_time','status','user'),true); CommonFn::requestAjax(true,CommonFn::getMessage('o2o','exchange_succeed')); }elseif($exchange_code && $exchange_code->status == 1){ CommonFn::requestAjax(false,CommonFn::getMessage('o2o','exchange_code_used')); }else{ CommonFn::requestAjax(false,CommonFn::getMessage('o2o','exchange_code_unuseable')); } }else{ CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal')); } } }