Browse Source

Merge branch 'dev/1.0.4'

hsun 1 year ago
parent
commit
531473bd91
4 changed files with 64 additions and 66 deletions
  1. 3 3
      controllers/classify.go
  2. 1 1
      controllers/sandbox/sandbox.go
  3. 34 28
      controllers/sys_role.go
  4. 26 34
      models/system/sys_menu.go

+ 3 - 3
controllers/classify.go

@@ -2,11 +2,11 @@ package controllers
 
 import (
 	"encoding/json"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"eta/eta_api/models"
 	"eta/eta_api/models/system"
 	"eta/eta_api/services"
 	"eta/eta_api/utils"
+	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
 
@@ -35,7 +35,7 @@ func (this *ClassifyController) Add() {
 	}
 
 	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
-	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	menus, e := system.GetSysMenuItemsByCondition(` AND hidden = 0`, make([]interface{}, 0), []string{}, ``)
 	if e != nil {
 		br.Msg = "保存失败"
 		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
@@ -362,7 +362,7 @@ func (this *ClassifyController) Edit() {
 	}
 
 	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
-	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	menus, e := system.GetSysMenuItemsByCondition(` AND hidden = 0`, make([]interface{}, 0), []string{}, ``)
 	if e != nil {
 		br.Msg = "保存失败"
 		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()

+ 1 - 1
controllers/sandbox/sandbox.go

@@ -328,7 +328,7 @@ func (this *SandboxController) Save() {
 
 	var sandboxResp *sandbox.SandboxSaveResp
 	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
-	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	menus, e := system.GetSysMenuItemsByCondition(` AND hidden = 0`, make([]interface{}, 0), []string{}, ``)
 	if e != nil {
 		br.Msg = "保存失败"
 		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()

+ 34 - 28
controllers/sys_role.go

@@ -102,23 +102,32 @@ func (this *SysRoleController) Edit() {
 		br.Msg = "分组名称不能为空"
 		return
 	}
-	item, err := system.GetSysRoleByName(req.RoleName)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	if item != nil {
-		if item.RoleId != req.RoleId {
-			br.Msg = "名称已存在,请重新输入"
+
+	item, e := system.GetSysRoleById(req.RoleId)
+	if e != nil {
+		if e.Error() != utils.ErrNoRow() {
+			br.Msg = "操作失败"
+			br.ErrMsg = "获取角色失败, Err: " + e.Error()
 			return
 		}
+		br.Msg = "角色不存在, 请刷新页面"
+		return
+	}
+	exists, e := system.GetSysRoleByName(req.RoleName)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取重名角色失败, Err: " + e.Error()
+		return
+	}
+	if exists != nil && exists.RoleId != item.RoleId {
+		br.Msg = "名称已存在,请重新输入"
+		return
 	}
 	roleTypeCode := services.GetRoleTypeCode(req.RoleType)
-	err = system.ModifySysRole(req.RoleName, req.RoleType, roleTypeCode, req.RoleId)
-	if err != nil {
-		br.Msg = "修改失败"
-		br.ErrMsg = "修改失败,Err:" + err.Error()
+	e = system.ModifySysRole(req.RoleName, req.RoleType, roleTypeCode, req.RoleId)
+	if e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "更新角色信息失败, Err: " + e.Error()
 		return
 	}
 
@@ -507,7 +516,7 @@ func (this *SysRoleController) SysRoleMenuAuthList() {
 	}
 
 	order := `sort ASC, create_time DESC, menu_id DESC`
-	list, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, order)
+	list, e := system.GetSysMenuItemsByCondition(` AND hidden = 0`, make([]interface{}, 0), []string{}, order)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
@@ -517,20 +526,17 @@ func (this *SysRoleController) SysRoleMenuAuthList() {
 	items := make([]*system.SysMenuItem, 0)
 	for _, v := range list {
 		t := &system.SysMenuItem{
-			MenuId:       v.MenuId,
-			ParentId:     v.ParentId,
-			Name:         v.Name,
-			Sort:         v.Sort,
-			Path:         v.Path,
-			PathName:     v.PathName,
-			IconPath:     v.IconPath,
-			Component:    v.Component,
-			Hidden:       v.Hidden,
-			HiddenLayout: v.HiddenLayout,
-			Level:        v.Level,
-			MenuType:     v.MenuType,
-			ButtonCode:   v.ButtonCode,
-			Children:     make([]*system.SysMenuItem, 0),
+			MenuId:     v.MenuId,
+			ParentId:   v.ParentId,
+			Name:       v.Name,
+			Sort:       v.Sort,
+			Path:       v.Path,
+			IconPath:   v.IconPath,
+			Component:  v.Component,
+			Hidden:     v.Hidden,
+			MenuType:   v.MenuType,
+			ButtonCode: v.ButtonCode,
+			Children:   make([]*system.SysMenuItem, 0),
 		}
 		items = append(items, t)
 	}

+ 26 - 34
models/system/sys_menu.go

@@ -16,24 +16,20 @@ const (
 )
 
 type SysMenu struct {
-	MenuId       int       `orm:"column(menu_id);pk"`
-	ParentId     int       `description:"父级菜单ID"`
-	Name         string    `description:"菜单名称或者按钮名称"`
-	RootId       int       `description:"顶层菜单ID"`
-	Sort         string    `description:"排序"`
-	Path         string    `description:"路由地址"`
-	PathName     string    `description:"路由名称"`
-	IconPath     string    `description:"菜单图标地址"`
-	Component    int       `description:"组件路径"`
-	Hidden       int       `description:"是否隐藏:1-隐藏 0-显示"`
-	HiddenLayout int       `description:"是否隐藏layout:1-隐藏 0-显示"`
-	Level        int       `description:"菜单等级:1-2-3"`
-	IsLevel      int       `description:"是否为多级菜单:1,只有一级;2,有多级"`
-	LevelPath    string    `description:"兼容以前menu表的字段"`
-	MenuType     int       `description:"菜单类型: 0-菜单; 1-按钮; 2-字段(需要特殊处理)"`
-	ButtonCode   string    `description:"按钮/菜单唯一标识"`
-	CreateTime   time.Time `description:"创建时间"`
-	ModifyTime   time.Time `description:"更新时间"`
+	MenuId     int       `orm:"column(menu_id);pk"`
+	ParentId   int       `description:"父级菜单ID"`
+	Name       string    `description:"菜单名称或者按钮名称"`
+	Sort       string    `description:"排序"`
+	Path       string    `description:"路由地址"`
+	IconPath   string    `description:"菜单图标地址"`
+	Component  int       `description:"组件路径"`
+	Hidden     int       `description:"是否隐藏:1-隐藏 0-显示"`
+	IsLevel    int       `description:"是否为多级菜单:1,只有一级;2,有多级"`
+	LevelPath  string    `description:"兼容以前menu表的字段"`
+	MenuType   int       `description:"菜单类型: 0-菜单; 1-按钮; 2-字段(需要特殊处理)"`
+	ButtonCode string    `description:"按钮/菜单唯一标识"`
+	CreateTime time.Time `description:"创建时间"`
+	ModifyTime time.Time `description:"更新时间"`
 }
 
 // GetSysMenuItemsByCondition 获取菜单列表
@@ -131,7 +127,7 @@ func GetMenuButtonsByRoleId(roleId int) (items []*SysMenu, err error) {
 				sys_menu AS r
 			JOIN sys_role_menu AS rm ON r.menu_id = rm.menu_id AND rm.type = 0
 			WHERE
-				rm.role_id = ? AND r.menu_type <> 0
+				rm.role_id = ? AND r.menu_type <> 0 AND r.hidden = 0
 			ORDER BY
 				r.sort ASC,
 				r.create_time DESC`
@@ -157,21 +153,17 @@ type SysMenuListResp struct {
 
 // SysMenuItem ETA商家菜单
 type SysMenuItem struct {
-	MenuId       int
-	ParentId     int            `description:"父级菜单ID"`
-	Name         string         `description:"菜单名称或者按钮名称"`
-	RootId       int            `description:"顶层菜单ID"`
-	Sort         string         `description:"排序"`
-	Path         string         `description:"路由地址"`
-	PathName     string         `description:"路由名称"`
-	IconPath     string         `description:"菜单图标地址"`
-	Component    int            `description:"组件路径"`
-	Hidden       int            `description:"是否隐藏:1-隐藏 0-显示"`
-	HiddenLayout int            `description:"是否隐藏layout:1-隐藏 0-显示"`
-	Level        int            `description:"菜单等级:1-2-3"`
-	MenuType     int            `description:"菜单类型: 0-菜单; 1-按钮; 2-字段(需要特殊处理)"`
-	ButtonCode   string         `description:"按钮/菜单唯一标识"`
-	Children     []*SysMenuItem `description:"子菜单"`
+	MenuId     int
+	ParentId   int            `description:"父级菜单ID"`
+	Name       string         `description:"菜单名称或者按钮名称"`
+	Sort       string         `description:"排序"`
+	Path       string         `description:"路由地址"`
+	IconPath   string         `description:"菜单图标地址"`
+	Component  int            `description:"组件路径"`
+	Hidden     int            `description:"是否隐藏:1-隐藏 0-显示"`
+	MenuType   int            `description:"菜单类型: 0-菜单; 1-按钮; 2-字段(需要特殊处理)"`
+	ButtonCode string         `description:"按钮/菜单唯一标识"`
+	Children   []*SysMenuItem `description:"子菜单"`
 }
 
 // BusinessConf 商户配置表