Untitled
unknown
abap
2 years ago
1.8 kB
2
Indexable
func (s *ratingService) getRatingTemplate(ctx context.Context, code string) (*dtos.RatingTemplate, error) { var ( ratingTemplate dtos.RatingTemplate cacheKey = fmt.Sprintf("vinshop_public:rating_template:%v", code) ) if featureflag.IsEnabled(ctx, models.FlagEnableCacheRatingTemplate) && s.CheckCacheHit(ctx, s.redisClient, cacheKey, &ratingTemplate) { return &ratingTemplate, nil } payload := cms.GetRatingTemplateRequest { Type: code, } logger.Errorf(ctx, "get rating template by queries: %+v", payload) data, err := s.ratingGetter.GetRatingTemplate(ctx, payload) if err != nil { logger.Errorf(ctx, "failed to fetch rating template from CMS, queries: %+v, err: %v", payload.Type, err) return nil, apperrors.New(apperrors.ErrCommonInvalidRequestInfo, apperrors.WithError(err)) } // Transform data var ( categories []dtos.RatingCategory ) for _, cate := range data.Categories { categories = append(categories, dtos.RatingCategory{ ImageURL: cate.ImageURL, CategoryName: cate.CategoryName, }) } ratingTemplate = dtos.RatingTemplate{ Service: data.Service, Module: data.Module, Type: data.Type, BackgroundColor: data.BackgroundColor, ShowDetails: data.ShowDetails, ShowRatingResult: data.ShowRatingResult, AllowRateAgain: data.AllowRateAgain, Title: data.Title, SubTitle: data.SubTitle, IconURL: data.IconURL, Categories: categories, TitleLowRating: data.TitleLowRating, TitleHighRating: data.TitleHighRating, SuccessfulMessage: data.SuccessfulMessage, CTATitle: data.CTATitle, } if featureflag.IsEnabled(ctx, models.FlagEnableCacheRatingTemplate) { s.SetToCache(ctx, s.redisClient, cacheKey, ratingTemplate, 86400) } return &ratingTemplate, nil }
Editor is loading...