| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- namespace addons\Store\client\controllers;
- use addons\Store\common\models\Store;
- use addons\Store\common\models\StoreClerk;
- use addons\Store\common\models\StoreClerkLog;
- use addons\Store\common\models\StoreUser;
- use common\enums\StatusEnum;
- use common\models\user\User;
- use yii;
- class ClerkController extends BaseController
- {
- /**
- * 核销员首页
- * @Author bing
- * @DateTime 2022-04-26 18:03:38
- * @return void
- * @copyright: Copyright (c) 2022 广东七件事集团
- */
- public function actionIndex()
- {
- if (Yii::$app->request->isAjax) {
- $get = \Yii::$app->request->get();
- $where = [
- ['mall_id' => $this->mall_id],
- ['store_id' => $this->store_id],
- ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]],
- ];
- if (!empty($get['user_id'])) $where[] = ['user_id' => $get['user_id']];
- $params = ['where' => $where, 'order' => 'id desc', 'with' => 'user'];
- $list = StoreClerk::listPage($params);
- if ($list === false) return $this->error(StoreClerk::getStaticError());
- return $this->success('ok', $list);
- }
- return $this->render($this->action->id);
- }
- public function actionClerkLog()
- {
- if (Yii::$app->request->isAjax) {
- $get = \Yii::$app->request->get();
- $where = [
- ['mall_id' => $this->mall_id],
- ['store_id' => $this->store_id],
- ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]],
- ];
- if (!empty($get['clerk_id'])) $where[] = ['clerk_id' => $get['clerk_id']];
- if (!empty($get['user_id'])) $where[] = ['user_id' => $get['user_id']];
- if (!empty($get['order_no'])) $where[] = ['order_no' => $get['order_no']];
- $params = ['where' => $where, 'order' => 'id desc', 'with' => 'user'];
- $list = StoreClerkLog::listPage($params);
- if ($list === false) return $this->error(StoreClerkLog::getStaticError());
- return $this->success('ok', $list);
- }
- return $this->render($this->action->id);
- }
- public function actionEdit()
- {
- $params = Yii::$app->request->post();
- $params['mall_id'] = $this->mall_id;
- $params['store_id'] = $this->store_id;
- $res = StoreClerk::findOne([
- 'mall_id' => $this->mall_id,
- 'user_id' => $params['user_id'],
- 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED],
- 'store_id' => $this->store_id,
- ]);
- if (!empty($res)) return $this->error('该会员已是核销员');
- $res = StoreClerk::setData($params);
- if ($res === false) return $this->error(StoreClerk::getStaticError());
- return $this->success('操作成功');
- }
- /**
- * @desc:修改状态
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 16:46
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- public function actionSwitchStatus()
- {
- if (\Yii::$app->request->isAjax) {
- if (\Yii::$app->request->isPost) {
- $params = \Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['id'], 'required'],
- [['status'], 'integer']
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $params['store_id'] = $this->store_id;
- $res = StoreClerk::updateData($params);
- if ($res === false) return $this->error(StoreClerk::getStaticError());
- return $this->success('操作成功');
- }
- }
- return $this->error();
- }
- /**
- * @desc:删除等级
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 16:46
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- 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'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $params['store_id'] = $this->store_id;
- $params['status'] = StatusEnum::DELETE;
- $res = StoreClerk::updateData($params);
- if ($res === false) return $this->error(StoreClerk::getStaticError());
- return $this->success('操作成功');
- }
- }
- return $this->error();
- }
- /**
- * @desc:
- * @Author: hua
- * @Date: 2021/10/29
- * @Time: 10:37
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- //todo 不用验证权限,添加核销员搜索
- public function actionSearchUser()
- {
- if (\Yii::$app->request->isAjax) {
- if (!\Yii::$app->request->isGet) return $this->error('请求方式错误');
- $keyword = \Yii::$app->request->get('keyword');
- $params = [];
- $where[] = ['mall_id' => $this->mall_id];
- $where[] = ['store_id' => $this->store_id];
- $where[] = ['status' => StatusEnum::ENABLED];
- $list = StoreClerk::lists([
- 'where'=>[
- ['mall_id' => $this->mall_id],
- ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]],
- ['store_id' => $this->store_id], // 需要区分门店ID
- ]
- ]);
- $have_user_id_arr = array_column($list,'user_id');
- if (!empty($keyword)) {
- $user_list = User::lists([
- 'where' => [
- ['or',
- ['like', 'nickname', '%' . trim($keyword) . '%', false],
- ['like', 'mobile', '%' . trim($keyword) . '%', false],
- ['=', 'id', $keyword]
- ],
- ['mall_id' => $this->mall_id]
- ],
- 'select' => 'id',
- ]);
- $where[] = ['user_id' => array_column($user_list, 'id')];
- $store = Store::findOne(['shop_mobile'=> trim($keyword),'id'=>$this->store_id,'mall_id'=>$this->mall_id,'status'=>[StatusEnum::ENABLED,StatusEnum::DISABLED]]);
- }
- $params['where'] = $where;
- $params['select'] = 'user_id';
- $params['limit'] = 20;
- $list = StoreUser::lists($params);
- $list_data = [];
- if (!empty($list)) {
- $user_ids = array_column($list, 'user_id');
- $user_list = User::lists(['where' => [['id' => $user_ids]], 'select' => 'id,nickname,avatar_url,mobile', 'index' => 'id']);
- foreach ($list as $k=>&$item) {
- if(in_array($item['user_id'],$have_user_id_arr)) continue;
- if (isset($user_list[$item['user_id']])) {
- if (!empty($user_list[$item['user_id']]['nickname'])) {
- $item['nickname'] = $user_list[$item['user_id']]['nickname'];
- } else {
- $item['nickname'] = $user_list[$item['user_id']]['mobile'] . "(id:" . $user_list[$item['user_id']]['mobile'] . ')';
- }
- }
- $list_data[]=$item;
- }
- }
- if(isset($store)){
- $user = User::getOne([['id' => $store['user_id']]],true,[],false,'id,nickname,avatar_url,mobile');
- if (!empty($user['nickname'])) {
- $nickname = $user['nickname'];
- } else {
- $nickname= $user['mobile'] . "(id:" . $user['mobile'] . ')';
- }
- $list_data[]=['nickname'=>$nickname, 'user_id'=>$store['user_id'],];
- }
- return $this->success('操作成功', ['list' => $list_data]);
- }
- }
- }
|