diff --git a/modules/base/service/base_sys_user.go b/modules/base/service/base_sys_user.go index 0f3e2f1b..74ce0cc3 100644 --- a/modules/base/service/base_sys_user.go +++ b/modules/base/service/base_sys_user.go @@ -164,7 +164,20 @@ func (s *BaseSysUserService) ServiceUpdate(ctx context.Context, req *cool.Update err = gerror.New("禁止禁用超级管理员") return } - + if s.UniqueKey != nil { + for k, v := range s.UniqueKey { + if rMap[k] != nil { + count, err := cool.DBM(s.Model).Where(k, rMap[k]).WhereNot("id", userId).Count() + if err != nil { + return nil, err + } + if count > 0 { + err = gerror.New(v) + return nil, err + } + } + } + } // 如果请求的password不为空并且密码加密后的值有变动,说明要修改密码 var rPassword = r.Get("password", "").String() if rPassword != "" && rPassword != userInfo["password"].String() {