user_permission.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package services
  2. import (
  3. "errors"
  4. "fmt"
  5. "hongze/hongze_api/models"
  6. "hongze/hongze_api/utils"
  7. "strconv"
  8. )
  9. func CheckUserPermission(userId int) (status int, err error) {
  10. if userId > 0 {
  11. wxUser, err := models.GetWxUserItemByUserId(userId)
  12. if err != nil {
  13. if err.Error() == utils.ErrNoRow() {
  14. status = 40001
  15. err = errors.New("用户信息不存在:userId:" + strconv.Itoa(userId))
  16. return status, err
  17. }
  18. status = 40001
  19. err = errors.New("获取用户信息失败:userId:" + strconv.Itoa(userId) + ";Err:" + err.Error())
  20. return status, err
  21. }
  22. if wxUser == nil {
  23. status = 40001
  24. err = errors.New("获取用户信息失败:userId:" + strconv.Itoa(userId))
  25. return status, err
  26. }
  27. companyId := wxUser.CompanyId
  28. fmt.Println("companyId",companyId)
  29. companyProduct, err := models.GetCompanyById(companyId)
  30. if err != nil {
  31. status = 40001
  32. err = errors.New("获取客户信息失败:userId:" + strconv.Itoa(userId) + ";Err:" + err.Error())
  33. return status, err
  34. }
  35. if len(companyProduct) == 0 {
  36. status = 40001
  37. err = errors.New("客户信息不存在:userId:" + strconv.Itoa(userId))
  38. return status, err
  39. }
  40. for _,v:=range companyProduct{
  41. if v.Status == utils.COMPANY_STATUS_FORMAL || //正式
  42. v.Status == utils.COMPANY_STATUS_TRY_OUT || //试用
  43. v.Status == utils.COMPANY_STATUS_FOREVER { //永续
  44. status = 0
  45. break
  46. } else {
  47. status = 40002
  48. err = errors.New("非付费用户" + strconv.Itoa(userId))
  49. }
  50. }
  51. } else {
  52. status = 40001
  53. err = errors.New("用户id错误")
  54. }
  55. return
  56. }