s_user_info.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. // 服务商主账号
  24. fmt.Println("SupplierUser")
  25. userInfo.JobName = "主账号无岗位名称"
  26. userInfo.CommercialCenter = "1"
  27. userInfo.CommercialManagement = "1"
  28. userInfo.CooperatePermission = "1"
  29. userInfo.FinancialPermission = "1"
  30. } else if auth.Role == "7" {
  31. // 服务商子账号
  32. subaccountInfo, subaccountErr := db.FindSubAccountByPhone(ctx, auth.Phone)
  33. if subaccountErr != nil {
  34. return nil, subaccountErr
  35. }
  36. userInfo.SubAccountId = subaccountInfo.SubAccountId
  37. jobInfo, jonErr := db.FindJobByJobId(ctx, subaccountInfo.JobId)
  38. if jonErr != nil {
  39. return nil, jonErr
  40. }
  41. userInfo.JobName = jobInfo.JobName
  42. userInfo.CommercialCenter = jobInfo.CommercialCenter
  43. userInfo.CommercialManagement = jobInfo.CommercialManagement
  44. userInfo.CooperatePermission = jobInfo.CooperatePermission
  45. userInfo.FinancialPermission = jobInfo.FinancialPermission
  46. }
  47. supplierUserInfo, supplierUserErr := db.GetUserByPhone(ctx, auth.Phone)
  48. if supplierUserErr != nil {
  49. return nil, supplierUserErr
  50. }
  51. if supplierUserInfo != nil {
  52. userInfo.AuthStatus = supplierUserInfo.AuthStatus
  53. }
  54. return userInfo, nil
  55. } else {
  56. log.Infof("[LoginAuthMiddleware] auth fail,err:%+v", err)
  57. return nil, err
  58. }
  59. }
  60. return nil, nil
  61. }