Browse Source

pasture: 集团账号下发

Yi 1 year ago
parent
commit
e10e28ed13
2 changed files with 17 additions and 11 deletions
  1. 9 4
      models/menu_pasture.go
  2. 8 7
      module/group.go

+ 9 - 4
models/menu_pasture.go

@@ -10,9 +10,14 @@ func (m *MenuPasture) TableName() string {
 	return "menu_pasture"
 }
 
-func NewMenuPasture(pastureId int64) *MenuPasture {
-	return &MenuPasture{
-		PastureId: pastureId,
-		IsGroups:  0,
+func NewMenuPastureList(pastureId int64, menuList []*Menu) []*MenuPasture {
+	res := make([]*MenuPasture, len(menuList))
+	for i, v := range menuList {
+		res[i] = &MenuPasture{
+			PastureId: pastureId,
+			Id:        v.Id,
+			IsGroups:  0,
+		}
 	}
+	return res
 }

+ 8 - 7
module/group.go

@@ -193,23 +193,24 @@ func AccountDistribution(req *models.AccountDistributionRequest) error {
 		return err
 	}
 
-	if menuPasture.PastureId <= 0 {
-		newMenuPasture := models.NewMenuPasture(int64(req.PastureId))
-		if _, err = session.Table(new(models.MenuPasture).TableName()).Insert(newMenuPasture); err != nil {
-			return err
-		}
-	}
-
 	// 创建新的超级管理员角色
 	newRole := models.NewDefaultRole(int64(req.PastureId))
 	if _, err = session.Table(new(models.Role).TableName()).Insert(newRole); err != nil {
 		return err
 	}
+
 	menuList := make([]*models.Menu, 0)
 	if err = session.Table(new(models.Menu).TableName()).Find(&menuList); err != nil {
 		return err
 	}
 
+	if menuPasture.PastureId <= 0 {
+		newMenuPastureList := models.NewMenuPastureList(int64(req.PastureId), menuList)
+		if _, err = session.Table(new(models.MenuPasture).TableName()).Insert(newMenuPastureList); err != nil {
+			return err
+		}
+	}
+
 	NewRoleMenu := models.NewRoleMenu(int64(req.PastureId), newRole.Id, menuList)
 	if _, err = session.Table(new(models.RoleMenu).TableName()).Insert(NewRoleMenu); err != nil {
 		return err