request->isAjax) { if (\Yii::$app->request->isGet) { $params = \Yii::$app->request->get(); $where[] = ['mall_id' => $this->mall_id]; $where[] = ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]; if (!empty($params['keyword'])) { $user_list = User::lists(['where'=>[['mall_id'=>$this->mall_id],[ 'or', ['like', 'mobile', $params['keyword']] ]],'select'=>'id']); $user_ids = array_column($user_list,'id'); $where[] = ['user_id'=>$user_ids]; } if (!empty($params['user_id'])) $where[] = ['user_id'=>$params['user_id']]; if (!empty($params['start'])) $where[] = $where[] = ['>=', 'created_at', strtotime($params['start'])]; if (!empty($params['end'])) $where[] =$where[] = ['<=', 'created_at', strtotime($params['end'])]; $params['where'] = $where; $params['order'] = 'id DESC'; $params['select'] = 'id,mall_id,store_id,user_id,created_at'; $pageData = ClerkUser::listPage($params, false); if (!empty($pageData['list'])) { $user_ids = array_column($pageData['list'], 'user_id'); $store_ids = array_column($pageData['list'], 'store_id'); $user_list = User::lists(['where' => [['id' => $user_ids]], 'select' => 'id,nickname,mobile,username,avatar_url', 'index' => 'id']); if (MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_STORE)) { $store_list = Store::lists(['where' => [['id' => $store_ids]], 'select' => 'id,store_name', 'index' => 'id']); } foreach ($pageData['list'] as &$item) { $item['nickname'] = $item['mobile'] = $item['username'] =$item['avatar_url'] = $item['store_name'] = ''; if (isset($user_list[$item['user_id']])) { $user = $user_list[$item['user_id']]; $item['nickname'] = $user['nickname']; $item['mobile'] = $user['mobile']; $item['username'] = $user['username']; $item['avatar_url'] = $user['avatar_url']; } if (isset($store_list[$item['store_id']])) { $item['store_name'] = $store_list[$item['store_id']]['store_name']; } } } return $this->success('操作成功', $pageData); } } return $this->render('index', []); } //编辑 public function actionEdit() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isPost) { $params = \Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['user_id', 'store_id'], 'required'], [['user_id', 'level'], 'integer'] ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['mall_id'] = $this->mall_id; $wheres = [ 'user_id' => $params['user_id'], 'mall_id' => $this->mall_id, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED], ]; $model = ClerkUser::findOne($wheres); if (!empty($model)) return $this->error('该会员已经是核销员,不能重复添加'); $params['status'] = StatusEnum::ENABLED; $res = ClerkUser::setData($params); if ($res === false) return $this->error(ClerkUser::getStaticError()); return $this->success('操作成功'); } } return $this->error(); } //删除 public function actionDel() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isPost) { $params = \Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['id'], 'required'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $res = ClerkUser::updateAll(['status'=>StatusEnum::DELETE],['id'=>$params['id'],'mall_id'=>$this->mall_id]); if ($res==false) return $this->error('失败'); return $this->success('操作成功'); } } return $this->error(); } //设置 public function actionSetting() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isGet) { $group = 'basic'; $list = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLERK, $group); return $this->success('操作成功', $list); } else { $postData = \Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($postData, [ [['status'], 'required'] ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $postData['mall_id'] = $this->mall_id; \Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_CLERK, ['basic' => $postData]); return $this->success('操作成功'); } } return $this->render('setting'); } /** * @desc:不用验证权限 * @Author: hua * @Date: 2022/8/5 * @Time: 11:43 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|void */ 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(); } /** * @desc:不用验证权限 * @Author: hua * @Date: 2022/8/5 * @Time: 11:43 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|void */ public function actionSearchStore() { if (\Yii::$app->request->isAjax) { if (!MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_STORE)) return $this->error('没有安装o2o门店插件', []); $params = \Yii::$app->request->get(); $where[] = ['mall_id' => $this->mall_id]; $where[] = ['status' => StatusEnum::ENABLED]; $where[] = ['or', ['>', 'expire_time', time()], ['expire_time' => 0]]; if (!empty($params['keyword'])) $where[] = ['like', 'store_name', trim($params['keyword'])]; $params['where'] = $where; $params['order'] = 'id desc'; $params['select'] = 'id,store_name'; $list = Store::listPage($params); return $this->success('操作成功', $list); } return $this->error(); } }