- 用户添加角色时,判断用户类型
This commit is contained in:
@@ -88,7 +88,7 @@ func RegisterUser(user *model.User, mobileVerifyCode string, inAuthInfo *auth2.A
|
||||
if !mobileAuth.IsUserEmpty() {
|
||||
return nil, jsonerr.New(mobileAuth, model.ErrCodeJsonActSkuConflict)
|
||||
}
|
||||
user.Type = model.UserTypeConsumer
|
||||
user.Type = model.UserTypeConsumer | model.UserTypeBoss
|
||||
if inAuthInfo.AuthBindInfo.Type == dingding.AuthTypeStaff {
|
||||
user.Type |= model.UserTypeOperator
|
||||
}
|
||||
@@ -206,8 +206,25 @@ func GetRoleUserList(ctx *jxcontext.Context, r *authz.RoleInfo) (userIDList []st
|
||||
return api2.RoleMan.GetRoleUserList(r)
|
||||
}
|
||||
|
||||
func checkUserType(userID string, userType int8) (err error) {
|
||||
userList, _, err := dao.GetUsers(dao.GetDB(), 0, "", []string{userID}, "", "", 0, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(userList) == 0 {
|
||||
return fmt.Errorf("找不到用户:%s", userID)
|
||||
}
|
||||
if userList[0].Type&userType == 0 {
|
||||
return fmt.Errorf("用户:%s不能用于当前操作", userID)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func AddRoles4User(ctx *jxcontext.Context, userID string, rList []*authz.RoleInfo) (err error) {
|
||||
errList := errlist.New()
|
||||
if err = checkUserType(userID, model.UserTypeNonConsumer); err != nil {
|
||||
return err
|
||||
}
|
||||
for _, v := range rList {
|
||||
if err = autils.ValidateRole(v.Name, v.StoreID); err == nil {
|
||||
if err = api2.RoleMan.AddRole4User(userID, v); err != nil {
|
||||
@@ -237,6 +254,9 @@ func AddUsers4Role(ctx *jxcontext.Context, r *authz.RoleInfo, userIDList []strin
|
||||
|
||||
errList := errlist.New()
|
||||
for _, v := range userIDList {
|
||||
if err = checkUserType(v, model.UserTypeNonConsumer); err != nil {
|
||||
return err
|
||||
}
|
||||
if err = api2.RoleMan.AddRole4User(v, r); err != nil {
|
||||
errList.AddErr(err)
|
||||
}
|
||||
|
||||
@@ -6,10 +6,11 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
UserTypeConsumer = 1
|
||||
UserTypeStoreBoss = 2
|
||||
UserTypeOperator = 4
|
||||
UserTypeBoss = 8
|
||||
UserTypeConsumer = 1
|
||||
UserTypeStoreBoss = 2
|
||||
UserTypeOperator = 4
|
||||
UserTypeBoss = 8
|
||||
UserTypeNonConsumer = ^1
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user