user_permission.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. wxUser,err := GetWxUserItemByUserId(userId,utils.WxPlatform)
  13. if err != nil {
  14. if err.Error() == utils.ErrNoRow() {
  15. status = 40001
  16. err = errors.New("用户信息不存在:userId:" + strconv.Itoa(userId))
  17. return status, err
  18. }
  19. status = 40001
  20. err = errors.New("获取用户信息失败:userId:" + strconv.Itoa(userId) + ";Err:" + err.Error())
  21. return status, err
  22. }
  23. if wxUser == nil {
  24. status = 40001
  25. err = errors.New("获取用户信息失败:userId:" + strconv.Itoa(userId))
  26. return status, err
  27. }
  28. companyId := wxUser.CompanyId
  29. if companyId <= 1 {
  30. status = 40001
  31. return status, err
  32. }
  33. fmt.Println("companyId", companyId)
  34. companyProduct, err := models.GetCompanyById(companyId)
  35. if err != nil {
  36. status = 40001
  37. err = errors.New("获取客户信息失败:userId:" + strconv.Itoa(userId) + ";Err:" + err.Error())
  38. return status, err
  39. }
  40. if len(companyProduct) == 0 {
  41. status = 40001
  42. err = errors.New("客户信息不存在:userId:" + strconv.Itoa(userId))
  43. return status, err
  44. }
  45. for _, v := range companyProduct {
  46. if v.Status == utils.COMPANY_STATUS_FORMAL || //正式
  47. v.Status == utils.COMPANY_STATUS_TRY_OUT || //试用
  48. v.Status == utils.COMPANY_STATUS_FOREVER { //永续
  49. status = 0
  50. break
  51. } else {
  52. status = 40002
  53. err = errors.New("非付费用户" + strconv.Itoa(userId))
  54. }
  55. }
  56. } else {
  57. status = 40001
  58. err = errors.New("用户id错误")
  59. }
  60. return
  61. }