Browse Source

fix:权限保存异常

zqbao 9 tháng trước cách đây
mục cha
commit
776d107d03
1 tập tin đã thay đổi với 24 bổ sung17 xóa
  1. 24 17
      controllers/sys_role.go

+ 24 - 17
controllers/sys_role.go

@@ -316,28 +316,28 @@ func (this *SysRoleController) SysMenuList() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-	items := make([]*models.SysMenuItem, 0)
-	for _, v := range list {
-		t := &models.SysMenuItem{
-			SysMenuId:  v.SysMenuId,
-			ParentId:   v.ParentId,
-			Name:       v.Name,
-			Level:      v.Level,
-			Sort:       v.Sort,
-			Path:       v.Path,
-			IconPath:   v.IconPath,
-			ButtonCode: v.ButtonCode,
-			Children:   make([]*models.SysMenuItem, 0),
-		}
-		items = append(items, t)
-	}
+	// items := make([]*models.SysMenuItem, 0)
+	// for _, v := range list {
+	// 	t := &models.SysMenuItem{
+	// 		SysMenuId:  v.SysMenuId,
+	// 		ParentId:   v.ParentId,
+	// 		Name:       v.Name,
+	// 		Level:      v.Level,
+	// 		Sort:       v.Sort,
+	// 		Path:       v.Path,
+	// 		IconPath:   v.IconPath,
+	// 		ButtonCode: v.ButtonCode,
+	// 		Children:   make([]*models.SysMenuItem, 0),
+	// 	}
+	// 	items = append(items, t)
+	// }
 	// 递归返回树形结构
-	items = services.GetMenuTreeRecursive(items, 0)
+	list = services.GetMenuTreeRecursive(list, 0)
 
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
-	br.Data = items
+	br.Data = list
 }
 
 // SysRoleMenuAuthSave
@@ -371,9 +371,16 @@ func (this *SysRoleController) SysRoleMenuAuthSave() {
 		br.Msg = "请选择菜单"
 		return
 	}
+	halfMap := make(map[int]struct{})
+	for _, v := range req.HalfMenuIds {
+		halfMap[v] = struct{}{}
+	}
 
 	items := make([]*models.SysRoleMenuMapping, 0)
 	for _, v := range req.SysMenuIds {
+		if _, ok := halfMap[v]; ok {
+			continue
+		}
 		t := new(models.SysRoleMenuMapping)
 		t.SysMenuId = v
 		t.SysRoleId = req.SysRoleId