refactor🎨:删除历史版本菜单、角色、角色部门关系、角色菜单关系业务

This commit is contained in:
zhangwenjian
2021-06-17 21:11:09 +08:00
parent 185df737c8
commit 60d9c59544
4 changed files with 0 additions and 568 deletions
-154
View File
@@ -1,154 +0,0 @@
package models
//type Menu struct {
// MenuId int `json:"menuId" gorm:"primaryKey;autoIncrement"`
// MenuName string `json:"menuName" gorm:"size:128;"`
// Title string `json:"title" gorm:"size:128;"`
// Icon string `json:"icon" gorm:"size:128;"`
// Path string `json:"path" gorm:"size:128;"`
// Paths string `json:"paths" gorm:"size:128;"`
// MenuType string `json:"menuType" gorm:"size:1;"`
// Action string `json:"action" gorm:"size:16;"`
// Permission string `json:"permission" gorm:"size:255;"`
// ParentId int `json:"parentId" gorm:"size:11;"`
// NoCache bool `json:"noCache" gorm:"size:8;"`
// Breadcrumb string `json:"breadcrumb" gorm:"size:255;"`
// Component string `json:"component" gorm:"size:255;"`
// Sort int `json:"sort" gorm:"size:4;"`
// Visible string `json:"visible" gorm:"size:1;"`
// CreateBy string `json:"createBy" gorm:"size:128;"`
// UpdateBy string `json:"updateBy" gorm:"size:128;"`
// IsFrame string `json:"isFrame" gorm:"size:1;DEFAULT:0;"`
// DataScope string `json:"dataScope" gorm:"-"`
// Params string `json:"params" gorm:"-"`
// RoleId int `gorm:"-"`
// Children []Menu `json:"children" gorm:"-"`
// IsSelect bool `json:"is_select" gorm:"-"`
//
// models.ModelTime
//}
//
//func (Menu) TableName() string {
// return "sys_menu"
//}
//
//type MenuLable struct {
// Id int `json:"id" gorm:"-"`
// Label string `json:"label" gorm:"-"`
// Children []MenuLable `json:"children" gorm:"-"`
//}
//
//type Menus struct {
// MenuId int `json:"menuId" gorm:"column:menu_id;primaryKey;autoIncrement;"`
// MenuName string `json:"menuName" gorm:"column:menu_name"`
// Title string `json:"title" gorm:"column:title"`
// Icon string `json:"icon" gorm:"column:icon"`
// Path string `json:"path" gorm:"column:path"`
// MenuType string `json:"menuType" gorm:"column:menu_type"`
// Action string `json:"action" gorm:"column:action"`
// Permission string `json:"permission" gorm:"column:permission"`
// ParentId int `json:"parentId" gorm:"column:parent_id"`
// NoCache bool `json:"noCache" gorm:"column:no_cache"`
// Breadcrumb string `json:"breadcrumb" gorm:"column:breadcrumb"`
// Component string `json:"component" gorm:"column:component"`
// Sort int `json:"sort" gorm:"column:sort"`
//
// Visible string `json:"visible" gorm:"column:visible"`
// Children []Menu `json:"children" gorm:"-"`
//
// CreateBy string `json:"createBy" gorm:"column:create_by"`
// UpdateBy string `json:"updateBy" gorm:"column:update_by"`
// DataScope string `json:"dataScope" gorm:"-"`
// Params string `json:"params" gorm:"-"`
// BaseModel
//}
//
//func (Menus) TableName() string {
// return "sys_menu"
//}
//
//type MenuRole struct {
// Menus
// IsSelect bool `json:"is_select" gorm:"-"`
//}
//
//type MS []Menu
//
//func (e *Menu) Get(tx *gorm.DB) (Menus []Menu, err error) {
// table := tx.Table(e.TableName())
// if e.MenuName != "" {
// table = table.Where("menu_name = ?", e.MenuName)
// }
// if e.Path != "" {
// table = table.Where("path = ?", e.Path)
// }
// if e.Action != "" {
// table = table.Where("action = ?", e.Action)
// }
// if e.MenuType != "" {
// table = table.Where("menu_type = ?", e.MenuType)
// }
//
// if err = table.Order("sort").Find(&Menus).Error; err != nil {
// return
// }
// return
//}
//
//func (e *Menu) GetPage(tx *gorm.DB) (Menus []Menu, err error) {
// table := tx.Table(e.TableName())
// if e.MenuName != "" {
// table = table.Where("menu_name = ?", e.MenuName)
// }
// if e.Title != "" {
// table = table.Where("title = ?", e.Title)
// }
// if e.Visible != "" {
// table = table.Where("visible = ?", e.Visible)
// }
// if e.MenuType != "" {
// table = table.Where("menu_type = ?", e.MenuType)
// }
//
// // 数据权限控制
// dataPermission := new(DataPermission)
// dataPermission.UserId, _ = pkg.StringToInt(e.DataScope)
// table, err = dataPermission.GetDataScope("sys_menu", table)
// if err != nil {
// return nil, err
// }
// if err = table.Order("sort").Find(&Menus).Error; err != nil {
// return
// }
// return
//}
//
//func (e *Menu) Create(tx *gorm.DB) (id int, err error) {
// result := tx.Table(e.TableName()).Create(&e)
// if result.Error != nil {
// err = result.Error
// return
// }
// err = InitPaths(tx, e)
// if err != nil {
// return
// }
// id = e.MenuId
// return
//}
//
//func InitPaths(tx *gorm.DB, menu *Menu) (err error) {
// parentMenu := new(Menu)
// if menu.ParentId != 0 {
// tx.Table("sys_menu").Where("menu_id = ?", menu.ParentId).First(parentMenu)
// if parentMenu.Paths == "" {
// err = errors.New("父级paths异常,请尝试对当前节点父级菜单进行更新操作!")
// return
// }
// menu.Paths = parentMenu.Paths + "/" + pkg.IntToString(menu.MenuId)
// } else {
// menu.Paths = "/0/" + pkg.IntToString(menu.MenuId)
// }
// tx.Table("sys_menu").Where("menu_id = ?", menu.MenuId).Update("paths", menu.Paths)
// return
//}
-241
View File
@@ -1,241 +0,0 @@
package models
//type SysRole struct {
// RoleId int `json:"roleId" gorm:"primaryKey;autoIncrement"` // 角色编码
// RoleName string `json:"roleName" gorm:"size:128;"` // 角色名称
// Status string `json:"status" gorm:"size:4;"` //
// RoleKey string `json:"roleKey" gorm:"size:128;"` //角色代码
// RoleSort int `json:"roleSort" gorm:""` //角色排序
// Flag string `json:"flag" gorm:"size:128;"` //
// Remark string `json:"remark" gorm:"size:255;"` //备注
// Admin bool `json:"admin" gorm:"size:4;"`
// DataScope string `json:"dataScope" gorm:"size:128;"`
// models.ModelTime
// models.ControlBy
//
// Params string `json:"params" gorm:"-"`
// MenuIds []int `json:"menuIds" gorm:"-"`
// DeptIds []int `json:"deptIds" gorm:"-"`
//}
//
//func (SysRole) TableName() string {
// return "sys_role"
//}
type MenuIdList struct {
MenuId int `json:"menuId"`
}
//func (role *SysRole) GetById(tx *gorm.DB, id interface{}) error {
// return tx.First(role, id).Error
//}
//
//func (role *SysRole) GetPage(pageSize int, pageIndex int) ([]SysRole, int, error) {
// var doc []SysRole
//
// table := orm.Eloquent.Table("sys_role")
// if role.RoleId != 0 {
// table = table.Where("role_id = ?", role.RoleId)
// }
// if role.RoleName != "" {
// table = table.Where("role_name = ?", role.RoleName)
// }
// if role.Status != "" {
// table = table.Where("status = ?", role.Status)
// }
// if role.RoleKey != "" {
// table = table.Where("role_key = ?", role.RoleKey)
// }
//
// // 数据权限控制
// dataPermission := new(DataPermission)
// dataPermission.UserId, _ = tools.StringToInt(role.DataScope)
// table, err := dataPermission.GetDataScope("sys_role", table)
// if err != nil {
// return nil, 0, err
// }
// var count int64
//
// if err := table.Order("role_sort").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
// return nil, 0, err
// }
// //table.Where("`deleted_at` IS NULL").Count(&count)
// return doc, int(count), nil
//}
//
//func (role *SysRole) Get() (SysRole SysRole, err error) {
// table := orm.Eloquent.Table("sys_role")
// if role.RoleId != 0 {
// table = table.Where("role_id = ?", role.RoleId)
// }
// if role.RoleName != "" {
// table = table.Where("role_name = ?", role.RoleName)
// }
// if err = table.First(&SysRole).Error; err != nil {
// return
// }
//
// return
//}
//
//func (role *SysRole) GetOne(sysRole *SysRole) (err error) {
// table := orm.Eloquent.Table("sys_role")
// if role.RoleId != 0 {
// table = table.Where("role_id = ?", role.RoleId)
// }
// if role.RoleName != "" {
// table = table.Where("role_name = ?", role.RoleName)
// }
// if err = table.First(sysRole).Error; err != nil {
// return
// }
//
// return
//}
//
//func (role *SysRole) GetList() (SysRole []SysRole, err error) {
// table := orm.Eloquent.Table("sys_role")
// if role.RoleId != 0 {
// table = table.Where("role_id = ?", role.RoleId)
// }
// if role.RoleName != "" {
// table = table.Where("role_name = ?", role.RoleName)
// }
// if err = table.Order("role_sort").Find(&SysRole).Error; err != nil {
// return
// }
//
// return
//}
//
//// 获取角色对应的菜单ids
//func (role *SysRole) GetRoleMeunId() ([]int, error) {
// menuIds := make([]int, 0)
// menuList := make([]MenuIdList, 0)
// if err := orm.Eloquent.Table("sys_role_menu").
// Select("sys_role_menu.menu_id").
// Where("role_id = ? ", role.RoleId).
// Where(" sys_role_menu.menu_id not in(select sys_menu.parent_id from sys_role_menu " +
// "LEFT JOIN sys_menu on sys_menu.menu_id=sys_role_menu.menu_id where role_id =? and parent_id is not null)", role.RoleId).
// Find(&menuList).Error; err != nil {
// return nil, err
// }
//
// for i := 0; i < len(menuList); i++ {
// menuIds = append(menuIds, menuList[i].MenuId)
// }
// return menuIds, nil
//}
//
//func (role *SysRole) Insert() (id int, err error) {
// var i int64
// orm.Eloquent.Table(role.TableName()).Where("role_name=? or role_key = ?", role.RoleName, role.RoleKey).Count(&i)
// if i > 0 {
// return 0, errors.New("角色名称或者角色标识已经存在!")
// }
// role.UpdateBy = ""
// result := orm.Eloquent.Table(role.TableName()).Create(&role)
// if result.Error != nil {
// err = result.Error
// return
// }
// id = role.RoleId
// return
//}
//
//type DeptIdList struct {
// DeptId int `json:"DeptId"`
//}
//
//func (role *SysRole) GetRoleDeptId() ([]int, error) {
// deptIds := make([]int, 0)
// deptList := make([]DeptIdList, 0)
// if err := orm.Eloquent.Table("sys_role_dept").Select("sys_role_dept.dept_id").Joins("LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id").Where("role_id = ? ", role.RoleId).Where(" sys_role_dept.dept_id not in(select sys_dept.parent_id from sys_role_dept LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id where role_id =? )", role.RoleId).Find(&deptList).Error; err != nil {
// return nil, err
// }
//
// for i := 0; i < len(deptList); i++ {
// deptIds = append(deptIds, deptList[i].DeptId)
// }
//
// return deptIds, nil
//}
//
////修改
//func (role *SysRole) Update(id int) (update SysRole, err error) {
// if err = orm.Eloquent.Table(role.TableName()).First(&update, id).Error; err != nil {
// return
// }
//
// if role.RoleName != "" && role.RoleName != update.RoleName {
// return update, errors.New("角色名称不允许修改!")
// }
//
// if role.RoleKey != "" && role.RoleKey != update.RoleKey {
// return update, errors.New("角色标识不允许修改!")
// }
//
// //参数1:是要修改的数据
// //参数2:是修改的数据
// if err = orm.Eloquent.Table(role.TableName()).Model(&update).Updates(&role).Error; err != nil {
// return
// }
// return
//}
//
////批量删除
//func (role *SysRole) BatchDelete(id []int) (Result bool, err error) {
// tx := orm.Eloquent.Begin()
//
// defer func() {
// if r := recover(); r != nil {
// tx.Rollback()
// }
// }()
//
// if err := tx.Error; err != nil {
// return false, err
// }
// // 查询角色
// var roles []SysRole
// if err := tx.Table("sys_role").Where("role_id in (?)", id).Find(&roles).Error; err != nil {
// tx.Rollback()
// return false, err
// }
//
// var count int64
// if err := tx.Table("sys_user").Where("role_id in (?)", id).Count(&count).Error; err != nil {
// tx.Rollback()
// return false, err
// }
// if count > 0 {
// tx.Rollback()
// return false, errors.New("存在绑定用户,请解绑后重试")
// }
//
// // 删除角色
// if err = tx.Table(role.TableName()).Where("role_id in (?)", id).Unscoped().Delete(&SysRole{}).Error; err != nil {
// tx.Rollback()
// return false, err
// }
//
// // 删除角色菜单
// if err := tx.Table("sys_role_menu").Where("role_id in (?)", id).Delete(&RoleMenu{}).Error; err != nil {
// tx.Rollback()
// return false, err
// }
//
// // 删除casbin配置
// for i := 0; i < len(roles); i++ {
// if err := tx.Table("sys_casbin_rule").Where("v0 in (?)", roles[0].RoleKey).Delete(&CasbinRule{}).Error; err != nil {
// tx.Rollback()
// return false, err
// }
// }
//
// if err := tx.Commit().Error; err != nil {
// return false, err
// }
//
// return true, nil
//}
-11
View File
@@ -1,11 +0,0 @@
package models
//sys_role_dept
//type SysRoleDept struct {
// RoleId int `gorm:"size:11;primaryKey"`
// DeptId int `gorm:"size:11;primaryKey"`
//}
//
//func (SysRoleDept) TableName() string {
// return "sys_role_dept"
//}
-162
View File
@@ -1,162 +0,0 @@
package models
//type RoleMenu struct {
// RoleId int `gorm:""`
// MenuId int `gorm:""`
// RoleName string `gorm:"size:128"`
// models.ControlBy
//}
//
//func (RoleMenu) TableName() string {
// return "sys_role_menu"
//}
//
//type MenuPath struct {
// Path string `json:"path"`
//}
//
//func (rm *RoleMenu) Get(tx *gorm.DB) ([]RoleMenu, error) {
// var r []RoleMenu
// table := tx.Table("sys_role_menu")
// if rm.RoleId != 0 {
// table = table.Where("role_id = ?", rm.RoleId)
//
// }
// if err := table.Find(&r).Error; err != nil {
// return nil, err
// }
// return r, nil
//}
//
//func (rm *RoleMenu) GetPermis(tx *gorm.DB) ([]string, error) {
// var r []SysMenu
// table := tx.Select("sys_menu.permission").Table("sys_menu").Joins("left join sys_role_menu on sys_menu.menu_id = sys_role_menu.menu_id")
//
// table = table.Where("role_id = ?", rm.RoleId)
//
// table = table.Where("sys_menu.menu_type in('F','C')")
// if err := table.Find(&r).Error; err != nil {
// return nil, err
// }
// var list []string
// for i := 0; i < len(r); i++ {
// list = append(list, r[i].Permission)
// }
// return list, nil
//}
//
//func (rm *RoleMenu) GetIDS(tx *gorm.DB) ([]MenuPath, error) {
// var r []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", rm.RoleName)
// if err := table.Find(&r).Error; err != nil {
// return nil, err
// }
// return r, nil
//}
//
//func (rm *RoleMenu) DeleteRoleMenu(tx *gorm.DB, roleId int) error {
// if err := tx.Table("sys_role_dept").Where("role_id = ?", roleId).Delete(&rm).Error; err != nil {
// return err
// }
// if err := tx.Table("sys_role_menu").Where("role_id = ?", roleId).Delete(&rm).Error; err != nil {
// return err
// }
// var role SysRole
// if err := tx.Table("sys_role").Where("role_id = ?", roleId).First(&role).Error; err != nil {
// return err
// }
// sql3 := "delete from sys_casbin_rule where v0= '" + role.RoleKey + "';"
// if err := tx.Exec(sql3).Error; err != nil {
// return err
// }
// return nil
//
//}
//
//// 该方法即将弃用
//func (rm *RoleMenu) BatchDeleteRoleMenu(tx *gorm.DB, roleIds []int) error {
// if err := tx.Table("sys_role_menu").Where("role_id in (?)", roleIds).Delete(&rm).Error; err != nil {
// return err
// }
// var role []SysRole
// if err := tx.Table("sys_role").Where("role_id in (?)", roleIds).Find(&role).Error; err != nil {
// return err
// }
// sql := ""
// for i := 0; i < len(role); i++ {
// sql += "delete from sys_casbin_rule where v0= '" + role[i].RoleName + "';"
// }
// if err := tx.Exec(sql).Error; err != nil {
// return err
// }
// if err := tx.Commit().Error; err != nil {
// return err
// }
// return nil
//
//}
//func (rm *RoleMenu) Insert(tx *gorm.DB, enforcer *casbin.SyncedEnforcer, roleId int, menuId []int) error {
// var err error
// var (
// role SysRole
// menu []SysMenu
// casbinRules []CasbinRule // casbinRule 待插入队列
// )
// // 在事务中做一些数据库操作(从这一点使用'tx',而不是'db'
// if err = tx.Table("sys_role").Where("role_id = ?", roleId).First(&role).Error; err != nil {
// return err
// }
// if err = tx.Table("sys_menu").Where("menu_id in (?)", menuId).Find(&menu).Error; err != nil {
// return err
// }
// //ORM不支持批量插入所以需要拼接 sql 串
// sysRoleMenuSql := "INSERT INTO `sys_role_menu` (`role_id`,`menu_id`,`role_name`) VALUES "
//
// for i, m := range menu {
// // 拼装'role_menu'表批量插入SQL语句
// sysRoleMenuSql += fmt.Sprintf("(%d,%d,'%s')", role.RoleId, m.MenuId, role.RoleKey)
// if i == len(menu)-1 {
// sysRoleMenuSql += ";" //最后一条数据 以分号结尾
// } else {
// sysRoleMenuSql += ","
// }
// if m.MenuType == "A" {
// // 加入队列
// casbinRules = append(casbinRules,
// CasbinRule{
// V0: role.RoleKey,
// V1: m.Path,
// V2: m.Action,
// })
// }
// }
// // 执行批量插入sys_role_menu
// if err = tx.Exec(sysRoleMenuSql).Error; err != nil {
// return err
// }
//
// // 执行批量插入sys_casbin_rule
// if len(casbinRules) > 0 {
// if err = tx.Create(&casbinRules).Error; err != nil {
// return err
// }
// }
// return nil
//}
//
//func (rm *RoleMenu) Delete(tx *gorm.DB, RoleId string, MenuID string) (bool, error) {
// rm.RoleId, _ = pkg.StringToInt(RoleId)
// table := tx.Table("sys_role_menu").Where("role_id = ?", RoleId)
// if MenuID != "" {
// table = table.Where("menu_id = ?", MenuID)
// }
// if err := table.Delete(&rm).Error; err != nil {
// return false, err
// }
// return true, nil
//
//}