34 lines
1.3 KiB
Go
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,
|
|
}
|
|
}
|