sys_authority_btn.go 969 B

123456789101112131415161718192021222324252627282930313233343536
  1. package system
  2. import (
  3. "errors"
  4. "gorm.io/gorm"
  5. "server/dao"
  6. "server/model/system/request"
  7. "server/model/system/response"
  8. )
  9. type AuthorityBtnService struct{}
  10. func (a *AuthorityBtnService) GetAuthorityBtn(req request.SysAuthorityBtnReq) (res response.SysAuthorityBtnRes, err error) {
  11. authorityBtn, err := dao.QueryAuthorityBtnByAuthorityIdMenuId(req.AuthorityId, req.MenuID)
  12. if err != nil {
  13. return
  14. }
  15. var selected []uint
  16. for _, v := range authorityBtn {
  17. selected = append(selected, v.SysBaseMenuBtnID)
  18. }
  19. res.Selected = selected
  20. return res, err
  21. }
  22. func (a *AuthorityBtnService) SetAuthorityBtn(req request.SysAuthorityBtnReq) (err error) {
  23. return dao.SetAuthorityBtn(req.MenuID, req.AuthorityId, req.Selected)
  24. }
  25. func (a *AuthorityBtnService) CanRemoveAuthorityBtn(ID string) (err error) {
  26. _, fErr := dao.QueryAuthorityBtn(ID)
  27. if errors.Is(fErr, gorm.ErrRecordNotFound) {
  28. return nil
  29. }
  30. return errors.New("此按钮正在被使用无法删除")
  31. }