Browse Source

Merge branch 'gva_gormv2_dev' of https://github.com/flipped-aurora/gin-vue-admin into gva_gormv2_dev

main
1319612909 4 years ago
parent
commit
e898695d70
  1. 28
      server/service/sys_base_menu.go

28
server/service/sys_base_menu.go

@ -50,15 +50,37 @@ func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
upDateMap["icon"] = menu.Icon upDateMap["icon"] = menu.Icon
upDateMap["sort"] = menu.Sort upDateMap["sort"] = menu.Sort
db := global.GVA_DB.Where("id = ?", menu.ID).Find(&oldMenu)
err = global.GVA_DB.Transaction(func(tx *gorm.DB) error {
db := tx.Where("id = ?", menu.ID).Find(&oldMenu)
if oldMenu.Name != menu.Name { if oldMenu.Name != menu.Name {
if !errors.Is(global.GVA_DB.Where("id <> ? AND name = ?", menu.ID, menu.Name).First(&model.SysBaseMenu{}).Error, gorm.ErrRecordNotFound) {
if !errors.Is(tx.Where("id <> ? AND name = ?", menu.ID, menu.Name).First(&model.SysBaseMenu{}).Error, gorm.ErrRecordNotFound) {
global.GVA_LOG.Debug("存在相同name修改失败") global.GVA_LOG.Debug("存在相同name修改失败")
return errors.New("存在相同name修改失败") return errors.New("存在相同name修改失败")
} }
} }
err = global.GVA_DB.Delete(&model.SysBaseMenuParameter{}, "sys_base_menu_id = ?", menu.ID).Error
err = tx.Delete(&model.SysBaseMenuParameter{}, "sys_base_menu_id = ?", menu.ID).Error
if err != nil {
global.GVA_LOG.Debug(err.Error())
return err
}
if len(menu.Parameters) > 0 {
for k, _ := range menu.Parameters {
menu.Parameters[k].SysBaseMenuID = menu.ID
}
err = tx.Create(&menu.Parameters).Error
if err != nil {
global.GVA_LOG.Debug(err.Error())
return err
}
}
err = db.Updates(upDateMap).Error err = db.Updates(upDateMap).Error
if err != nil {
global.GVA_LOG.Debug(err.Error())
return err
}
return nil
})
return err return err
} }

Loading…
Cancel
Save