request->isAjax) { if (\Yii::$app->request->isGet) { $get = \Yii::$app->request->get(); $get['mall_id'] = $this->mall_id; $params = []; $user_id_arr = []; if (isset($get['level']) && !empty($get['level'])) $params['where'][] = ['=', 'level', $get['level']]; $is_search = 0; if (!empty($get['user_id'])) { $is_search = 1; $user_id_arr[] = $get['user_id']; } if (!empty($get['keyword'])) { $is_search = 1; $user_list = User::lists(['where' => [['mall_id' => $this->mall_id], [ 'or', ['like', 'username', $get['keyword']], ['like', 'nickname', $get['keyword']], ['like', 'mobile', $get['keyword']] ]], 'select' => 'id']); $user_ids = array_column($user_list, 'id'); if (!empty($user_id_arr)) { $user_id_arr = array_intersect($user_id_arr, $user_ids); } else { $user_id_arr = $user_ids; } } if ($is_search) $params['where'][] = ['in', 'user_id', $user_id_arr]; $params['where'][] = ['=', 'mall_id', $this->mall_id]; $params['where'][] = ['in', 'status', [StatusEnum::ENABLED, StatusEnum::DISABLED]]; $params['limit'] = 10; $params['order'] = 'id DESC'; $pageData = CoursePromoter::listPage($params, false); if ($pageData === false) return $this->error(CoursePromoter::getStaticError()); if (!empty($pageData['list'])) { $user_id_arr = array_column($pageData['list'], 'user_id'); $user_list = User::lists(['where' => [['id' => $user_id_arr]], 'select' => 'id,nickname,avatar_url,mobile,parent_id']); $user_arr = []; foreach ($user_list as $item) { $user_arr[$item['id']] = $item; } foreach ($pageData['list'] as &$v) { $v['nickname'] = $v['avatar_url'] = $v['parent_id'] = $v['parent_name'] = $v['mobile'] = ''; if (isset($user_arr[$v['user_id']])) { $v['mobile'] = $user_arr[$v['user_id']]['mobile']; $v['nickname'] = $user_arr[$v['user_id']]['nickname']; $v['avatar_url'] = $user_arr[$v['user_id']]['avatar_url']; } } } return $this->success('操作成功', $pageData); } } return $this->render('index', []); } public function actionEdit() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isPost) { $postData = \Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($postData, [ [['user_id'], 'required'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $model = CoursePromoter::findOne(['user_id' => $postData['user_id'], 'mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED,]); if (!empty($model)) return $this->error('该会员已经是推广员,不能重复添加'); $postData['mall_id'] = $this->mall_id; $res = CoursePromoter::setData($postData); if ($res === false) return $this->error(CoursePromoter::getStaticError()); return $this->success('操作成功'); } } return $this->error(); } public function actionDelete() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isPost) { $params = \Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['id'], 'required'], [['id'], 'integer'] ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['mall_id'] = $this->mall_id; $params['status'] = StatusEnum::DELETE; $res = CoursePromoter::setData($params); if ($res === false) return $this->error(CoursePromoter::getStaticError()); return $this->success('操作成功'); } } return $this->error(); } public function actionSearchUser() { if (\Yii::$app->request->isAjax) { $keyword = \Yii::$app->request->get('keyword', ''); $list['list'] = User::searchUser(['keyword' => $keyword, 'mall_id' => $this->mall_id]); return $this->success('操作成功', $list); } return $this->error(); } public function actionSetting() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isGet) { $group = \Yii::$app->request->get('group',''); $group = $group ?: 'basic'; $configs = \Yii::$app->services->setting->addons->get($this->mall_id, 'Course', $group); $list['list'] = $configs; return $this->success('操作成功', $list); } else { $postData = \Yii::$app->request->post(); $postData['mall_id'] = $this->mall_id; \Yii::$app->services->setting->addons->set($this->mall_id, 'Course', ['basic' => $postData]); return $this->success('操作成功'); } } return $this->render('setting'); } }