diff --git a/api/dao/adminRoleMenu.go b/api/dao/adminRoleMenu.go index 1af48f8..63fe2e9 100644 --- a/api/dao/adminRoleMenu.go +++ b/api/dao/adminRoleMenu.go @@ -56,3 +56,11 @@ func (r *AdminRoleMenuDao) DeleteAdminRoleMenuByRoleId(tx *gorm.DB, roleId int64 } return nil } + +// DeleteAdminRoleMenuByMenuId 删除角色菜单 +func (r *AdminRoleMenuDao) DeleteAdminRoleMenuByMenuId(tx *gorm.DB, menuId int64) error { + if err := tx.Where("menu_id = ?", menuId).Delete(&model.AdminRoleMenu{}).Error; err != nil { + return err + } + return nil +} diff --git a/api/service/menu.go b/api/service/menu.go index 1ff1d10..31e8184 100644 --- a/api/service/menu.go +++ b/api/service/menu.go @@ -250,6 +250,7 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele adminMenuDao := dao.AdminMenuDao{} adminMenuApiDao := dao.AdminMenuApiDao{} + adminRoleMenuDao := dao.AdminRoleMenuDao{} // 开始事务 tx := global.Db.Begin() @@ -294,6 +295,13 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele return false, errors.New("删除失败") } + // 删除角色菜单表 + err = adminRoleMenuDao.DeleteAdminRoleMenuByMenuId(tx, v) + if err != nil { + tx.Rollback() + return false, errors.New("删除失败") + } + // 删除菜单 err = adminMenuDao.DeleteAdminMenuByMenuId(tx, v) if err != nil {