s_user_info.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package service
  2. import (
  3. "context"
  4. "fmt"
  5. log "github.com/sirupsen/logrus"
  6. "youngee_b_api/db"
  7. "youngee_b_api/model/http_model"
  8. )
  9. var SUserInfo *sUserInfo
  10. type sUserInfo struct {
  11. }
  12. // FindBUserInfoByToken 根据Token查询商家端用户信息
  13. func (*sUserInfo) FindBUserInfoByToken(ctx context.Context, token string) (*http_model.GetUserInfoData, error) {
  14. if token != "" {
  15. if auth, err := LoginAuth.AuthToken(ctx, token); err == nil {
  16. var userInfo *http_model.GetUserInfoData
  17. userInfo = &http_model.GetUserInfoData{
  18. SupplierId: auth.SupplierId,
  19. UserId: auth.ID,
  20. Role: auth.Role,
  21. }
  22. if auth.Role == "6" {
  23. fmt.Println("SupplierUser")
  24. userInfo.JobName = "主账号无岗位名称"
  25. userInfo.CommercialCenter = "1"
  26. userInfo.CommercialManagement = "1"
  27. userInfo.CooperatePermission = "1"
  28. userInfo.FinancialPermission = "1"
  29. } else if auth.Role == "7" {
  30. subaccountInfo, subaccountErr := db.FindSubAccountByPhone(ctx, auth.Phone)
  31. if subaccountErr != nil {
  32. return nil, subaccountErr
  33. }
  34. userInfo.SubAccountId = subaccountInfo.SubAccountId
  35. jobInfo, jonErr := db.FindJobByJobId(ctx, subaccountInfo.JobId)
  36. if jonErr != nil {
  37. return nil, jonErr
  38. }
  39. userInfo.JobName = jobInfo.JobName
  40. userInfo.CommercialCenter = jobInfo.CommercialCenter
  41. userInfo.CommercialManagement = jobInfo.CommercialManagement
  42. userInfo.CooperatePermission = jobInfo.CooperatePermission
  43. userInfo.FinancialPermission = jobInfo.FinancialPermission
  44. }
  45. supplierUserInfo, supplierUserErr := db.GetUserByPhone(ctx, auth.Phone)
  46. if supplierUserErr != nil {
  47. return nil, supplierUserErr
  48. }
  49. if supplierUserInfo != nil {
  50. userInfo.AuthStatus = supplierUserInfo.AuthStatus
  51. }
  52. return userInfo, nil
  53. } else {
  54. log.Infof("[LoginAuthMiddleware] auth fail,err:%+v", err)
  55. return nil, err
  56. }
  57. }
  58. return nil, nil
  59. }