| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <?php
- /**
- * CashierController.php
- * todo 文件描述
- * Created on 2024/12/11 下午2:21
- * @author: hankaige
- */
- namespace app\modules\admin\controllers;
- use app\models\CashierUserExt;
- use app\models\Md;
- use app\models\SaasUser;
- use app\models\User;
- class CashierController extends BaseController
- {
- public function actionCashierAdminList()
- {
- $query = User::find()->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' => '删除失败']);
- }
- }
- }
|