telco_server/app/admin/service/sys_role_menu.go

110 lines
3.1 KiB
Go
Raw Normal View History

2025-03-13 07:49:59 +00:00
package service
import (
"github.com/go-admin-team/go-admin-core/sdk/service"
)
// SysRoleMenu 即将弃用结构体
type SysRoleMenu struct {
service.Service
}
//func (e *SysRoleMenu) ReloadRule(tx *gorm.DB, roleId int, menuId []int) (err error) {
// var role models.SysRole
//
// msgID := e.MsgID
//
// menu := make([]models.Menu, 0)
// roleMenu := make([]models.RoleMenu, len(menuId))
// casbinRule := make([]models.CasbinRule, 0)
// //先删除所有的
// err = e.DeleteRoleMenu(tx, roleId)
// if err != nil {
// return
// }
//
// // 在事务中做一些数据库操作(从这一点使用'tx',而不是'db'
// err = tx.Where("role_id = ?", roleId).First(&role).Error
// if err != nil {
// log.Errorf("msgID[%s] get role error, %s", msgID, err.Error())
// return
// }
// err = tx.Where("menu_id in (?)", menuId).
// //Select("path, action, menu_id, menu_type").
// Find(&menu).Error
// if err != nil {
// log.Errorf("msgID[%s] get menu error, %s", msgID, err.Error())
// return
// }
// for i := range menu {
// roleMenu[i] = models.RoleMenu{
// RoleId: role.RoleId,
// MenuId: menu[i].MenuId,
// RoleName: role.RoleKey,
// }
// if menu[i].MenuType == "A" {
// casbinRule = append(casbinRule, models.CasbinRule{
// PType: "p",
// V0: role.RoleKey,
// V1: menu[i].Path,
// V2: menu[i].Action,
// })
// }
// }
// err = tx.Create(&roleMenu).Error
// if err != nil {
// log.Errorf("msgID[%s] batch create role's menu error, %s", msgID, err.Error())
// return
// }
// if len(casbinRule) > 0 {
// err = tx.Create(&casbinRule).Error
// if err != nil {
// log.Errorf("msgID[%s] batch create casbin rule error, %s", msgID, err.Error())
// return
// }
// }
//
// return
//}
//func (e *SysRoleMenu) DeleteRoleMenu(tx *gorm.DB, roleId int) (err error) {
// msgID := e.MsgID
// err = tx.Where("role_id = ?", roleId).
// Delete(&models.SysRoleDept{}).Error
// if err != nil {
// log.Errorf("msgID[%s] delete role's dept error, %s", msgID, err.Error())
// return
// }
// err = tx.Where("role_id = ?", roleId).
// Delete(&models.RoleMenu{}).Error
// if err != nil {
// log.Errorf("msgID[%s] delete role's menu error, %s", msgID, err.Error())
// return
// }
// var role models.SysRole
// err = tx.Where("role_id = ?", roleId).
// First(&role).Error
// if err != nil {
// log.Errorf("msgID[%s] get role error, %s", msgID, err.Error())
// return
// }
// err = tx.Where("v0 = ?", role.RoleKey).
// Delete(&models.CasbinRule{}).Error
// if err != nil {
// log.Errorf("msgID[%s] delete casbin rule error, %s", msgID, err.Error())
// return
// }
// return
//}
//
//func (e *SysRoleMenu) GetIDS(tx *gorm.DB, roleName string) ([]models.MenuPath, error) {
// var r []models.MenuPath
// table := tx.Select("sys_menu.path").Table("sys_role_menu")
// table = table.Joins("left join sys_role on sys_role.role_id=sys_role_menu.role_id")
// table = table.Joins("left join sys_menu on sys_menu.id=sys_role_menu.menu_id")
// table = table.Where("sys_role.role_name = ? and sys_menu.type=1", roleName)
// if err := table.Find(&r).Error; err != nil {
// return nil, err
// }
// return r, nil
//}