discount/internal/utils/transfer/calculation.go
2023-07-04 04:04:31 +00:00

34 lines
1.3 KiB
Go

package transfer
import (
"penahub.gitlab.yandexcloud.net/pena-services/accruals-service/internal/models"
proto "penahub.gitlab.yandexcloud.net/pena-services/accruals-service/internal/proto/discount"
"penahub.gitlab.yandexcloud.net/pena-services/accruals-service/pkg/defaults"
)
func DiscountCalculationTargetProtoToModel(discountTarget *proto.DiscountCalculationTarget) *models.DiscountCalculationTarget {
if discountTarget == nil {
return &models.DiscountCalculationTarget{TargetScope: models.TargetSum}
}
return &models.DiscountCalculationTarget{
Products: ProductTargetsProtoToModel(discountTarget.Products),
Factor: discountTarget.Factor,
TargetScope: models.TargetScopeModelMap[defaults.GetDefaultValue(discountTarget.TargetScope, 0)],
TargetGroup: defaults.GetDefaultValue(discountTarget.TargetGroup, ""),
Overhelm: defaults.GetDefaultValue(discountTarget.Overhelm, false),
}
}
func DiscountCalculationTargetModelToProto(discountTarget models.DiscountCalculationTarget) *proto.DiscountCalculationTarget {
scope := models.TargetScopeProtoMap[discountTarget.TargetScope]
return &proto.DiscountCalculationTarget{
Products: ProductTargetsModelToProto(discountTarget.Products),
Factor: discountTarget.Factor,
TargetScope: &scope,
TargetGroup: &discountTarget.TargetGroup,
Overhelm: &discountTarget.Overhelm,
}
}