12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package system
- import (
- "errors"
- "server/dao"
- "gorm.io/gorm"
- "server/global"
- )
- type BaseMenuService struct{}
- //@author: [piexlmax](https://github.com/piexlmax)
- //@function: DeleteBaseMenu
- //@description: 删除基础路由
- //@param: id float64
- //@return: err error
- var BaseMenuServiceApp = new(BaseMenuService)
- func (baseMenuService *BaseMenuService) DeleteBaseMenu(id int) (err error) {
- err = global.GVA_DB.First(&dao.SysBaseMenu{}, "parent_id = ?", id).Error
- if err != nil {
- return global.GVA_DB.Transaction(func(tx *gorm.DB) error {
- err = tx.Delete(&dao.SysBaseMenu{}, "id = ?", id).Error
- if err != nil {
- return err
- }
- err = tx.Delete(&dao.SysBaseMenuParameter{}, "sys_base_menu_id = ?", id).Error
- if err != nil {
- return err
- }
- err = tx.Delete(&dao.SysBaseMenuBtn{}, "sys_base_menu_id = ?", id).Error
- if err != nil {
- return err
- }
- err = tx.Delete(&dao.SysAuthorityBtn{}, "sys_menu_id = ?", id).Error
- if err != nil {
- return err
- }
- err = tx.Delete(&dao.SysAuthorityMenu{}, "sys_base_menu_id = ?", id).Error
- if err != nil {
- return err
- }
- return nil
- })
- }
- return errors.New("此菜单存在子菜单不可删除")
- }
- //@author: [piexlmax](https://github.com/piexlmax)
- //@function: UpdateBaseMenu
- //@description: 更新路由
- //@param: menu model.SysBaseMenu
- //@return: err error
- func (baseMenuService *BaseMenuService) UpdateBaseMenu(menu dao.SysBaseMenu) (err error) {
- return menu.UpdateBaseMenu()
- }
- //@author: [piexlmax](https://github.com/piexlmax)
- //@function: GetBaseMenuById
- //@description: 返回当前选中menu
- //@param: id float64
- //@return: menu system.SysBaseMenu, err error
- func (baseMenuService *BaseMenuService) GetBaseMenuById(id int) (menu dao.SysBaseMenu, err error) {
- return dao.QueryBaseMenuAndMenuBtnAndParameterById(id)
- }
|