request; if ($request->isAjax) { $params = \Yii::$app->request->get(); $params['mall_id'] = $this->mall_id; if (isset($params['name']) && $params['name'] != '') { $where[] = ['like', 'name', $params['name']]; } if (isset($params['begin_time']) && $params['begin_time'] != '') { $where[] = ['>=', 'begin_time', $params['begin_time']]; } if (isset($params['end_time']) && $params['end_time'] != '') { $where[] = ['<', 'end_time', $params['end_time']]; } if (isset($params['activity_type']) && $params['activity_type'] != '') { $where[] = ['activity_type' => $params['activity_type']]; } if (isset($params['performance_type']) && $params['performance_type'] != '') { $where[] = ['performance_type' => $params['performance_type']]; } if (isset($params['status']) && $params['status'] != '') { $where[] = ['activity_status' => (int) $params['status']]; } $where[] = ['status' => StatusEnum::ENABLED]; $p_lists = array( 'where' => $where, 'order' => "id desc", 'limit' => $params['limit'], 'page' => $params['page'], ); $data = PkActivity::listPage($p_lists, false, true); if (!empty($data['list'])) { foreach ($data['list'] as &$item) { $item['prize'] = json_decode($item['prize'], true); $item['people_amount'] = $item['member_num']; if ($item['activity_type'] == PkEnum::ACTIVITY_TYPE_PERSON) { $item['performance'] = 1; } else { $item['performance'] = 0; } $new_time = date("Y-m-d H:i:s",time()); if ($item['activity_status'] == 3) { $item['open_status'] = 3; } else if ($new_time < $item['begin_time']) { $item['open_status'] = 0; } else if ($new_time > $item['begin_time'] && $new_time < $item['end_time']) { $item['open_status'] = 1; } else { $item['open_status'] = 2; } if (in_array($item['activity_status'], [0, 1]) && $item['activity_status'] != $item['open_status']) { // 更新状态 PkActivity::updateAll(['activity_status' => $item['open_status']], ['id' => $item['id']]); } } } return $this->success("成功", $data); } return $this->render('index', []); } /** * 人员列表拉新列表 * * @return string */ public function actionUserLog() { $retuest = \Yii::$app->request; if ($retuest->isAjax) { if ($retuest->isGet) { $get = \Yii::$app->request->get(); // 检查提交的参数 $res = \Yii::$app->services->validate->validate($get,[ [['nickname','begin_time','end_time','activity_type','user_id','activity_id','limit'], 'safe'], ]); if($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); if (!empty($get['nickname'])) { $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'nickname', $get['nickname'] . '%', false])->asArray()->column(); if (empty($user_ids)) $this->success('查无此用户'); } if($get['begin_time']) $log_where[] = ['between', 'created_at', strtotime($get['begin_time']),strtotime($get['end_time'])]; $log_where[] = ['=','share_user_id',$get['user_id']]; $log_where[] = ['=','mall_id',$this->mall_id]; $log_where[] = ['=','activity_id',$get['activity_id']]; $with = 'user'; if($get['activity_type'] == PkEnum::NEW_ACTIVE){//拉新 if($user_ids) $log_where[] = ['in', 'invitee_id', $user_ids]; //获取列表 $list = PkInviteLog::listPage(array('where' => $log_where,'with'=>$with),false,true); }else{ if($user_ids) $log_where[] = ['in', 'buyer_id', $user_ids]; $list = PkPerformanceLog::listPage(array('where' => $log_where,'with'=>$with),false,true); } $activity = PkActivity::getOne([['id'=> $get['activity_id']]],true); $list['activity'] = $activity; $list['activity_type'] = $get['activity_type']; $this->success('获取成功', $list); } } else { return $this->render($this->action->id); } } /** * 首页 * * @return string */ public function actionList() { $retuest = \Yii::$app->request; if ($retuest->isAjax) { if ($retuest->isGet) { $get = \Yii::$app->request->get(); // 检查提交的参数 $res = \Yii::$app->services->validate->validate($get,[ [['nickname','begin_time','end_time','activity_type','activity_id','limit'], 'safe'], ]); if($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); $where = []; if (!empty($get['nickname'])) { $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'nickname', $get['nickname'] . '%', false])->asArray()->column(); if (empty($user_ids)) $this->success('查无此用户'); $where[] = ['in', 'user_id', $user_ids]; } if($get['activity_id']) $where[] = ['=', 'activity_id', $get['activity_id']]; if($get['begin_time']) $where[] = ['between', 'created_at', strtotime($get['begin_time']),strtotime($get['end_time'])]; $with = ['user', 'activity']; $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['>=', 'status', StatusEnum::DISABLED]; if($get['activity_type'] == 1){ $order = 'new_user_num desc'; }else{ $order = 'order_money_num desc'; } $params = array('where' => $where,'with' => $with,'order'=>$order, 'limit' => $get['limit']); $list = PkActivityStatistic::listPage($params, false, true); $list['activity_type'] = $get['activity_type']; $this->success('获取成功', $list); } } else { return $this->render($this->action->id); } } public function actionPatch() { $params = \Yii::$app->request->post(); $params['mall_id'] = $this->mall_id; // $this->checkRequireKey($params, ['id']); // $params = $this->filterPost($params, ['mall_id', 'is_enable', 'id']); $res = PkActivity::setData($params); if ($res == false) return $this->error(PkActivity::getStaticError()); return $this->success('操作成功', []); } public function actionDestroy() { $params = \Yii::$app->request->get(); $model = PkActivity::getOne([['id' => $params['id']]]); $new_time = date("Y-m-d H:i:s",time()); if ($model->activity_status == StatusEnum::ENABLED && $new_time > $model->begin_time && $new_time < $model->end_time) { return $this->error("只有未开始和已取消的状态下,才可编辑"); } if ($model == false) return $this->error(PkActivity::getStaticError()); $model->status = StatusEnum::DELETE; $state = $model->save(); $num = -1; $params['activity_num'] = $num; $params['date'] = date('Ymd'); $params['mall_id'] = $this->mall_id; PkDateStatistic::setData($params); PkStatistic::setData($params); if ($state == false) return $this->error(PkActivity::getStaticError()); return $this->success('操作成功', []); } public function actionPersonalAdd() { $request = \Yii::$app->request; if ($request->isAjax) { $params = \Yii::$app->request->get(); $params['mall_id'] = $this->mall_id; $model = PkActivity::getOne([['id' => $params['id']]]); if (!$model) { return $this->error("活动数据不存在"); } $model->prize = json_decode($model->prize, true); return $this->success("成功", $model); } return $this->render('person-add'); } //测试拉新活动 public function actionTest() { $params = \Yii::$app->request->post(); $status = $params['status']; if($status == 1){ $user['user_id'] = $params['name']; UserRegisterListener::async_handle($user); } if($status == 2){ $order['id'] = $params['name']; OrderPaidListener::async_handle($order); } if($status == 3){ $order['id'] = $params['name']; OrderFinishListener::async_handle($order); } } }