[ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => [], 'allow' => true, 'roles' => ['@'], ], ], ], ]; } /** * 红包列表 */ public function actionIndex() { $mod =RedActivity::find(); $pages = new yii\data\Pagination(["totalCount"=>$mod->count(),"pageSize"=>self::PAGESIZE]); $datas=$mod->offset($pages->offset)->limit($pages->limit)->addOrderBy(['id'=>SORT_DESC])->all(); return $this->render('index',['datas'=>$datas,'pages'=>$pages]); } /** * 删除活动 */ public function actionDelete() { $result=['sign'=>1,'msg'=>'ok']; $id = Yii::$app->request->post('id'); $model = RedActivity::find()->where('id=:id',[':id'=>$id])->one(); if(!empty($model)){ if(RedActivity::findOne($id)->delete()){ $modRule = RedRule::find()->where(['red_id'=>$id])->one(); $modRule->delete(); $result=['sign'=>1,'msg'=>'ok']; }else{ $result=['sign'=>0,'msg'=>'error']; } }else{ $result=['sign'=>0,'msg'=>'找不到该活动']; } return json_encode($result); } /** * 添加活动 */ public function actionAdd(){ if(YII::$app->request->isAjax) { $title = YII::$app->request->post('title'); $province = YII::$app->request->post('province'); $city = YII::$app->request->post('city'); $area = YII::$app->request->post('area'); $type = YII::$app->request->post('type'); $number = YII::$app->request->post('number'); $start_price = YII::$app->request->post('start_price'); $end_price = YII::$app->request->post('end_price'); $joincount = YII::$app->request->post('joincount'); $valid_at = YII::$app->request->post('valid_at'); $modRed = new RedActivity(); $modRed->title = $title; $modRed->created_at = time(); $modRed->province = $province; $modRed->city = $city; $modRed->area = $area; $modRed->type = $type; $modRed->number = $number; $modRed->valid_at = strtotime($valid_at); $modRed->price_interval =$start_price."~".$end_price; if($modRed->validate()&&$modRed->save()) { $red_id = $modRed->getAttribute('id'); $modRule = new RedRule(); $modRule->red_id =$red_id; $modRule->usecount =0; $modRule->created_at =time(); $modRule->start_price =$start_price; $modRule->end_price = $end_price; $modRule->joincount = $joincount; if($modRule->validate()&&$modRule->save()) { $modRed = RedActivity::findOne($red_id); $modRed->rule_id = $modRule->getAttribute('id'); if($modRed->save()){ $result=['sign'=>1,'msg'=>'添加成功']; exit(json_encode($result)); //Yii::$app->getSession()->setFlash('success','添加成功'); }else{ $result=['sign'=>0,'msg'=>'添加失败']; exit(json_encode($result)); //Yii::$app->getSession()->setFlash('error','添加失败'); } }else{ $result=['sign'=>0,'msg'=>'添加失败']; exit(json_encode($result)); //var_dump($modRule->getErrors());return false; } }else{ $result=['sign'=>0,'msg'=>'添加失败']; exit(json_encode($result)); //var_dump($modRed->getErrors());return false; //\Yii::$app->getSession()->setFlash('error',$modRed->getErrors()); } } return $this->render('add'); } /** * 查看修改活动 * @return string */ public function actionEdit() { $id =Yii::$app->request->post('id'); if(empty($id)) { $id = Yii::$app->request->get('id'); } if(Yii::$app->request->isAjax) { $result=['sign'=>1,'msg'=>'ok']; //$id = Yii::$app->request->post('id'); $title = Yii::$app->request->post('title'); $province = Yii::$app->request->post('province'); $city = Yii::$app->request->post('city'); $area = Yii::$app->request->post('area'); $type = Yii::$app->request->post('type'); $number = Yii::$app->request->post('number'); $start_price = Yii::$app->request->post('start_price'); $end_price = Yii::$app->request->post('end_price'); $joincount = Yii::$app->request->post('joincount'); $valid_at = Yii::$app->request->post('valid_at'); $modRed = RedActivity::findOne($id); $modRed->title = $title; $modRed->province = $province; $modRed->city = $city; $modRed->area = $area; $modRed->type = $type; $modRed->number = $number; $modRed->valid_at = strtotime($valid_at); $modRed->price_interval = $start_price."~".$end_price; if($modRed->save() && $modRed->validate()) { $modRule = RedRule::findOne($modRed->getAttribute('rule_id')); $modRule->joincount = $joincount; $modRule->start_price = $start_price; $modRule->end_price = $end_price; $modRule->save(); //Yii::$app->getSession()->setFlash('success','修改成功!'); $result=['sign'=>1,'msg'=>'修改成功']; exit(json_encode($result)); }else{ $result=['sign'=>0,'msg'=>'修改失败']; exit(json_encode($result)); } } //$id = Yii::$app->request->get('id'); $msql = "SELECT a.*,b.`joincount`,b.`start_price`,b.`end_price` FROM {{%red_activity}} AS a LEFT JOIN {{%red_rule}} AS b ON a.`id` = b.`red_id` WHERE a.`id` =:id "; $info = Yii::$app->db->createCommand($msql)->bindValues([':id'=>$id])->queryOne(); $province = Yii::$app->db->createCommand('SELECT area FROM {{%area}} WHERE `area_id` = :area_id AND `type` = 1 ')->bindValue(':area_id',$info['province'])->queryOne(); $city = Yii::$app->db->createCommand('SELECT area FROM {{%area}} WHERE `area_id` = :area_id AND `type` = 2 ')->bindValue(':area_id',$info['city'])->queryOne(); $info['province'] = $province['area']; $info['city'] = $city['area']; return $this->render('edit',['info'=>$info]); } /** * 红包记录 */ public function actionReceive() { $id = Yii::$app->request->get('id'); $pages = new yii\data\Pagination(["totalCount"=>ActivityReceive::find()->where(['activity_id'=>$id])->count(),"pageSize"=>self::PAGESIZE]); $mysql ="SELECT a.*,b.`name` FROM {{%activity_receive}} AS a LEFT JOIN {{%building}} AS b ON a.source_id = b.id WHERE a.activity_id = :activity_id ORDER BY a.`id` DESC LIMIT ".$pages->offset.",".$pages->limit; $list = Yii::$app->db->createCommand($mysql)->bindValues([':activity_id'=>$id])->queryAll(); return $this->render('receive',['list'=>$list,'pages'=>$pages]); } }