package service import ( "context" "fmt" log "github.com/sirupsen/logrus" "youngee_b_api/db" "youngee_b_api/model/http_model" ) var SUserInfo *sUserInfo type sUserInfo struct { } // FindSUserInfoByToken 根据Token查询服务商端用户信息 func (*sUserInfo) FindSUserInfoByToken(ctx context.Context, token string) (*http_model.GetUserInfoData, error) { if token != "" { if auth, err := LoginAuth.AuthToken(ctx, token); err == nil { var userInfo *http_model.GetUserInfoData userInfo = &http_model.GetUserInfoData{ SupplierId: auth.SupplierId, UserId: auth.ID, Role: auth.Role, } if auth.Role == "6" { // 服务商主账号 fmt.Println("SupplierUser") userInfo.JobName = "主账号无岗位名称" userInfo.CommercialCenter = "1" userInfo.CommercialManagement = "1" userInfo.CooperatePermission = "1" userInfo.FinancialPermission = "1" } else if auth.Role == "7" { // 服务商子账号 subaccountInfo, subaccountErr := db.FindSubAccountByPhone(ctx, auth.Phone) if subaccountErr != nil { return nil, subaccountErr } userInfo.SubAccountId = subaccountInfo.SubAccountId jobInfo, jonErr := db.FindJobByJobId(ctx, subaccountInfo.JobId) if jonErr != nil { return nil, jonErr } userInfo.JobName = jobInfo.JobName userInfo.CommercialCenter = jobInfo.CommercialCenter userInfo.CommercialManagement = jobInfo.CommercialManagement userInfo.CooperatePermission = jobInfo.CooperatePermission userInfo.FinancialPermission = jobInfo.FinancialPermission } supplierUserInfo, supplierUserErr := db.GetSupplierById(ctx, auth.SupplierId) if supplierUserErr != nil { return nil, supplierUserErr } if supplierUserInfo != nil { if supplierUserInfo.ReviewStatus == 1 { userInfo.AuthStatus = 1 userInfo.SupplierType = 0 } else if supplierUserInfo.ReviewStatus == 2 { userInfo.AuthStatus = 2 userInfo.SupplierType = supplierUserInfo.SupplierType } } return userInfo, nil } else { log.Infof("[LoginAuthMiddleware] auth fail,err:%+v", err) return nil, err } } return nil, nil }