1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package dao
- import (
- "gorm.io/gorm"
- "server/global"
- )
- type SysAuthorityBtn struct {
- AuthorityId uint `gorm:"comment:角色ID"`
- SysMenuID uint `gorm:"comment:菜单ID"`
- SysBaseMenuBtnID uint `gorm:"comment:菜单按钮ID"`
- SysBaseMenuBtn SysBaseMenuBtn ` gorm:"comment:按钮详情"`
- }
- // TODO:按钮查询
- // QueryAuthorityBtnAndSysBaseMenuBtnById 查询角色按钮和菜单按钮 按id
- func QueryAuthorityBtnAndSysBaseMenuBtnById(authorityId uint) (btns []SysAuthorityBtn, err error) {
- err = global.GVA_DB.Where("authority_id = ?", authorityId).Preload("SysBaseMenuBtn").Find(&btns).Error
- return btns, err
- }
- // QueryAuthorityBtnByAuthorityIdMenuId 查询角色按钮 按角色id和菜单id
- func QueryAuthorityBtnByAuthorityIdMenuId(authorityId, sysMenuId uint) (authorityBtn []SysAuthorityBtn, err error) {
- err = global.GVA_DB.Find(&authorityBtn, "authority_id = ? and sys_menu_id = ?", authorityId, sysMenuId).Error
- return
- }
- // QueryAuthorityBtn 查询角色按钮 按菜单按钮id global.GVA_DB.First(&dao.SysAuthorityBtn{}, "sys_base_menu_btn_id = ?", ID).Error
- func QueryAuthorityBtn(Id string) (sysAuthorityBtn SysAuthorityBtn, err error) {
- err = global.GVA_DB.Model(&SysAuthorityBtn{}).First(sysAuthorityBtn, "sys_base_menu_btn_id =?", Id).Error
- return
- }
- // TODO:按钮新增
- // TODO:按钮修改
- func SetAuthorityBtn(menuId, authorityId uint, selected []uint) (err error) {
- return global.GVA_DB.Transaction(func(tx *gorm.DB) error {
- var authorityBtn []SysAuthorityBtn
- err = tx.Delete(&[]SysAuthorityBtn{}, "authority_id = ? and sys_menu_id = ?", authorityId, menuId).Error
- if err != nil {
- return err
- }
- for _, v := range selected {
- authorityBtn = append(authorityBtn, SysAuthorityBtn{
- AuthorityId: authorityId,
- SysMenuID: menuId,
- SysBaseMenuBtnID: v,
- })
- }
- if len(authorityBtn) > 0 {
- err = tx.Create(&authorityBtn).Error
- }
- if err != nil {
- return err
- }
- return err
- })
- }
- // TODO:按钮删除
|