All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m45s
32 lines
859 B
Go
32 lines
859 B
Go
package order
|
|
|
|
import "github.com/perfect-panel/server/internal/types"
|
|
|
|
func getDiscount(discounts []types.SubscribeDiscount, inputMonths int64) float64 {
|
|
var finalDiscount float64 = 100
|
|
|
|
for _, discount := range discounts {
|
|
if inputMonths >= discount.Quantity && discount.Discount < finalDiscount {
|
|
finalDiscount = discount.Discount
|
|
}
|
|
}
|
|
|
|
return finalDiscount / float64(100)
|
|
}
|
|
|
|
// isNewUserOnlyForQuantity checks whether the matched discount tier has new_user_only enabled.
|
|
func isNewUserOnlyForQuantity(discounts []types.SubscribeDiscount, inputQuantity int64) bool {
|
|
var finalDiscount float64 = 100
|
|
var newUserOnly bool
|
|
|
|
for _, discount := range discounts {
|
|
if inputQuantity >= discount.Quantity && discount.Discount < finalDiscount {
|
|
finalDiscount = discount.Discount
|
|
newUserOnly = discount.NewUserOnly
|
|
}
|
|
}
|
|
|
|
return newUserOnly
|
|
}
|
|
|