where(['store_id' => get_store_id(), 'is_delete' => 0, 'is_cashier' => 1])->select(['id','nickname','binding','avatar_url','cashier_status', 'cashier_data_auth'])->orderBy('id DESC'); if(!empty(get_params('keyword'))){ $query->andWhere(['like','nickname',get_params('keyword')]); } if (get_md_id() > 0) { $query->andWhere(['id' => CashierUserExt::find()->where(['md_id' => get_md_id(), 'is_delete' => 0])->select('user_id')]); } else { $query->andWhere(['NOT IN', 'id', CashierUserExt::find()->where(['is_delete' => 0])->select('user_id')]); } $pagination = pagination_make($query,true); foreach($pagination['list'] as &$value){ if(!empty($value['binding'])){ $sass_user = SaasUser::findOne(['mobile' => $value['binding']]); if ($sass_user) { $value['saas_id'] = $sass_user->id; $value['nickname'] = $sass_user->name; $value['avatar_url'] = $sass_user->avatar; } } $value['cashier_data_auth'] = intval($value['cashier_data_auth']); } $data = [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $pagination['list'], 'pageNo' => $pagination['pageNo'], 'totalCount' => $pagination['totalCount'], ], ]; return $this->asJson($data); } // 门店手机收银台管理员列表 public function actionMdCashierAdminList(){ $query = CashierUserExt::find() ->alias('cue') ->leftJoin(['u' => User::tableName()],'cue.user_id=u.id and u.is_delete=0 and u.is_cashier=1') ->leftJoin(['md' => Md::tableName()],'cue.md_id=md.id') ->where(['cue.is_delete' => 0]) ->andWhere(['IS NOT','u.id',null]); if(!empty(get_params('keyword'))){ $query->andWhere(['like','u.nickname',get_params('keyword')]); } if(!empty(get_params('mobile'))){ $query->andWhere(['u.binding'=>get_params('mobile')]); } if(!empty(get_params('md_name'))){ $query->andWhere(['like','md.name',get_params('md_name')]); } $query->select(['u.id','u.nickname','u.binding','u.avatar_url','md.name','cue.balance','cue.integral','cue.id as cueid']); $pagination = pagination_make($query,true); foreach($pagination['list'] as &$value){ if(!empty($value['binding'])){ $sass_user = SaasUser::findOne(['mobile' => $value['binding']]); if ($sass_user) { $value['saas_id'] = $sass_user->id; $value['nickname'] = $sass_user->name; $value['avatar_url'] = $sass_user->avatar; } } $value['cashier_data_auth'] = intval($value['cashier_data_auth']); $value['balance'] = intval($value['balance']); $value['integral'] = intval($value['integral']); } $data = [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $pagination['list'], 'pageNo' => $pagination['pageNo'], 'totalCount' => $pagination['totalCount'], ], ]; return $this->asJson($data); } public function actionChangeMdCashierAdminAuth(){ $id = post_params('id'); $type = post_params('type'); $value = post_params('value'); if(!in_array($value,[1,0])){ return $this->asJson(['code' => 1, 'msg' => '要修改的状态值错误']); } $cashierUserExt = CashierUserExt::findOne(['id' => $id, 'is_delete' => 0]); if(!$cashierUserExt){ return $this->asJson(['code' => 1, 'msg' => '要修改的数据不存在']); } if($type == 1){ $cashierUserExt->balance = $value ?? 0; }elseif($type == 2){ $cashierUserExt->integral = $value ?? 0; }else{ return $this->asJson(['code' => 1, 'msg' => '要修改的数据类型错误']); } if($cashierUserExt->save()){ return $this->asJson(['code' => 0, 'msg' => '修改成功']); }else{ return $this->asJson(['code' => 1, 'msg' => '修改失败']); } } public function actionCashierAdminAdd(){ // 这里的user_id 是saas_user_id $userId = post_params('user_id'); $status = post_params('status'); $cashier_data_auth = post_params('cashier_data_auth'); $md_id = get_md_id(); // $saasUser = SaasUser::findOne($userId); $user = User::findOne(['store_id' => get_store_id(),'id' => $userId]); if(empty($user)){ return $this->asJson(['code' => 1, 'msg' => '用户不存在']); } if($user->is_cashier == 1){ return $this->asJson(['code' => 1, 'msg' => '该用户已是收银台管理员']); } $user->is_cashier = 1; $user->cashier_status = $status; $user->cashier_data_auth = $cashier_data_auth; if($user->save()){ if ($md_id > 0) { $form = new CashierUserExt(); $form->user_id = $user->id; $form->md_id = $md_id; $form->save(); } return $this->asJson(['code' => 0, 'msg' => '设置收银台管理员成功']); }else{ return $this->asJson(['code' => 1, 'msg' => '设置收银台管理员失败']); } } //设置收银台管理员员工查看数据权限 public function actionSetCashierAdminAuth(){ $userId = post_params('user_id'); $cashier_data_auth = post_params('cashier_data_auth'); $user = User::findOne($userId); if($user->is_cashier == 0){ return $this->asJson(['code' => 1, 'msg' => '当前用户不是收银台管理员']); } $user->cashier_data_auth = $cashier_data_auth; if($user->save()){ return $this->asJson(['code' => 0, 'msg' => '设置成功']); }else{ return $this->asJson(['code' => 1, 'msg' => '设置失败']); } } public function actionSetCashierAdminStatus(){ $userId = post_params('user_id'); $cashierStatus = post_params('status'); $user = User::findOne($userId); if($user->is_cashier == 0){ return $this->asJson(['code' => 1, 'msg' => '当前用户不是收银台管理员']); } $user->cashier_status = $cashierStatus; if($user->save()){ return $this->asJson(['code' => 0, 'msg' => '状态设置成功']); }else{ return $this->asJson(['code' => 1, 'msg' => '状态设置失败']); } } public function actionCashierAdminDel(){ $userId = get_params('user_id'); $md_id = get_md_id(); $user = User::findOne($userId); $user->cashier_status = 0; $user->cashier_data_auth = 0; $user->is_cashier = 0; if($user->save()){ if ($md_id > 0) { CashierUserExt::deleteAll(['user_id' => $userId]); } return $this->asJson(['code' => 0, 'msg' => '删除成功']); }else{ return $this->asJson(['code' => 1, 'msg' => '删除失败']); } } }