AuthorityDao.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package dao
  2. import (
  3. "demo/configs"
  4. "demo/data/domain"
  5. "fmt"
  6. )
  7. func GetListAuthorityAll() []domain.BackAuthority {
  8. var authority = domain.BackAuthority{}
  9. var arr = make([]domain.BackAuthority, 0)
  10. err := configs.Engine.Table("back_authority").Desc("id").Find(&arr, &authority)
  11. if err != nil {
  12. panic(err)
  13. }
  14. return arr
  15. }
  16. func AddAllListAuthorityAll(arr []*domain.BackAuthority) {
  17. for i := range arr {
  18. insert, err := configs.Engine.Insert(arr[i])
  19. if err != nil {
  20. fmt.Println(err)
  21. }
  22. fmt.Println(insert)
  23. }
  24. }
  25. // CheckAuthorityByUserId 根据userid查看用户是否具有该权限
  26. func CheckAuthorityByUserId(userId, authorityId int64) bool {
  27. var user domain.User
  28. get, err := configs.Engine.Table("user").Where("id=?", userId).Get(&user)
  29. if user.Id == 0 || !get || err != nil {
  30. return false
  31. }
  32. var bras domain.BackRoleAuthority
  33. count, err := configs.Engine.Table("back_role_authority").Where("role_id=? and authority_id=?", user.RoleId, authorityId).Count(&bras)
  34. if err != nil || count == 0 {
  35. return false
  36. }
  37. return true
  38. }