增加菜单参数配置功能
移除视图中复杂sql更改为model映射模式
This commit is contained in:
@@ -13,10 +13,11 @@ import (
|
||||
// @return err error
|
||||
|
||||
func DeleteBaseMenu(id float64) (err error) {
|
||||
err = global.GVA_DB.Where("parent_id = ?", id).First(&model.SysBaseMenu{}).Error
|
||||
err = global.GVA_DB.Preload("Parameters").Where("parent_id = ?", id).First(&model.SysBaseMenu{}).Error
|
||||
if err != nil {
|
||||
var menu model.SysBaseMenu
|
||||
db := global.GVA_DB.Preload("SysAuthoritys").Where("id = ?", id).First(&menu).Delete(&menu)
|
||||
err = global.GVA_DB.Delete(&model.SysBaseMenuParameter{}, "sys_base_menu_id = ?", id).Error
|
||||
if len(menu.SysAuthoritys) > 0 {
|
||||
err = db.Association("SysAuthoritys").Delete(menu.SysAuthoritys).Error
|
||||
} else {
|
||||
@@ -47,6 +48,7 @@ func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
|
||||
upDateMap["title"] = menu.Title
|
||||
upDateMap["icon"] = menu.Icon
|
||||
upDateMap["sort"] = menu.Sort
|
||||
|
||||
db := global.GVA_DB.Where("id = ?", menu.ID).Find(&oldMenu)
|
||||
if oldMenu.Name != menu.Name {
|
||||
notSame := global.GVA_DB.Where("id <> ? AND name = ?", menu.ID, menu.Name).First(&model.SysBaseMenu{}).RecordNotFound()
|
||||
@@ -55,7 +57,7 @@ func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
|
||||
return errors.New("存在相同name修改失败")
|
||||
}
|
||||
}
|
||||
err = db.Updates(upDateMap).Error
|
||||
err = db.Updates(upDateMap).Association("Parameters").Replace(menu.Parameters).Error
|
||||
global.GVA_LOG.Debug("菜单修改时候,关联菜单err:%v", err)
|
||||
return err
|
||||
}
|
||||
@@ -67,6 +69,6 @@ func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
|
||||
// @return err error
|
||||
|
||||
func GetBaseMenuById(id float64) (err error, menu model.SysBaseMenu) {
|
||||
err = global.GVA_DB.Where("id = ?", id).First(&menu).Error
|
||||
err = global.GVA_DB.Preload("Parameters").Where("id = ?", id).First(&menu).Error
|
||||
return
|
||||
}
|
||||
|
||||
@@ -16,8 +16,7 @@ import (
|
||||
func getMenuTreeMap(authorityId string) (err error, treeMap map[string][]model.SysMenu) {
|
||||
var allMenus []model.SysMenu
|
||||
treeMap = make(map[string][]model.SysMenu)
|
||||
sql := "SELECT authority_menu.keep_alive,authority_menu.default_menu,authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? ORDER BY authority_menu.sort ASC"
|
||||
err = global.GVA_DB.Raw(sql, authorityId).Scan(&allMenus).Error
|
||||
err = global.GVA_DB.Where("authority_id = ?", authorityId).Order("sort", true).Preload("Parameters").Find(&allMenus).Error
|
||||
for _, v := range allMenus {
|
||||
treeMap[v.ParentId] = append(treeMap[v.ParentId], v)
|
||||
}
|
||||
@@ -113,7 +112,7 @@ func AddBaseMenu(menu model.SysBaseMenu) (err error) {
|
||||
func getBaseMenuTreeMap() (err error, treeMap map[string][]model.SysBaseMenu) {
|
||||
var allMenus []model.SysBaseMenu
|
||||
treeMap = make(map[string][]model.SysBaseMenu)
|
||||
err = global.GVA_DB.Order("sort", true).Find(&allMenus).Error
|
||||
err = global.GVA_DB.Order("sort", true).Preload("Parameters").Find(&allMenus).Error
|
||||
for _, v := range allMenus {
|
||||
treeMap[v.ParentId] = append(treeMap[v.ParentId], v)
|
||||
}
|
||||
@@ -158,7 +157,8 @@ func AddMenuAuthority(menus []model.SysBaseMenu, authorityId string) (err error)
|
||||
// @return menus []SysBaseMenu
|
||||
|
||||
func GetMenuAuthority(authorityId string) (err error, menus []model.SysMenu) {
|
||||
sql := "SELECT authority_menu.keep_alive,authority_menu.default_menu,authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? ORDER BY authority_menu.sort ASC"
|
||||
err = global.GVA_DB.Raw(sql, authorityId).Scan(&menus).Error
|
||||
//sql := "SELECT authority_menu.keep_alive,authority_menu.default_menu,authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? ORDER BY authority_menu.sort ASC"
|
||||
err = global.GVA_DB.Order("sort", true).Find(&menus).Error
|
||||
//err = global.GVA_DB.Raw(sql, authorityId).Scan(&menus).Error
|
||||
return err, menus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user