diff --git a/apis/types.api b/apis/types.api index cf39322..5f174be 100644 --- a/apis/types.api +++ b/apis/types.api @@ -204,8 +204,8 @@ type ( CurrencySymbol string `json:"currency_symbol"` } SubscribeDiscount { - Quantity int64 `json:"quantity"` - Discount int64 `json:"discount"` + Quantity int64 `json:"quantity"` + Discount float64 `json:"discount"` } Subscribe { Id int64 `json:"id"` diff --git a/internal/logic/public/order/getDiscount.go b/internal/logic/public/order/getDiscount.go index 34c16a9..01f1035 100644 --- a/internal/logic/public/order/getDiscount.go +++ b/internal/logic/public/order/getDiscount.go @@ -3,7 +3,7 @@ package order import "github.com/perfect-panel/server/internal/types" func getDiscount(discounts []types.SubscribeDiscount, inputMonths int64) float64 { - var finalDiscount int64 = 100 + var finalDiscount float64 = 100 for _, discount := range discounts { if inputMonths >= discount.Quantity && discount.Discount < finalDiscount { @@ -11,5 +11,5 @@ func getDiscount(discounts []types.SubscribeDiscount, inputMonths int64) float64 } } - return float64(finalDiscount) / float64(100) + return finalDiscount / float64(100) } diff --git a/internal/logic/public/portal/tool.go b/internal/logic/public/portal/tool.go index c2d2bbd..f687e2a 100644 --- a/internal/logic/public/portal/tool.go +++ b/internal/logic/public/portal/tool.go @@ -7,14 +7,14 @@ import ( ) func getDiscount(discounts []types.SubscribeDiscount, inputMonths int64) float64 { - var finalDiscount int64 = 100 + var finalDiscount float64 = 100 for _, discount := range discounts { if inputMonths >= discount.Quantity && discount.Discount < finalDiscount { finalDiscount = discount.Discount } } - return float64(finalDiscount) / float64(100) + return finalDiscount / float64(100) } func calculateCoupon(amount int64, couponInfo *coupon.Coupon) int64 { diff --git a/internal/types/types.go b/internal/types/types.go index cf15d7d..6717c18 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -2117,8 +2117,8 @@ type SubscribeConfig struct { } type SubscribeDiscount struct { - Quantity int64 `json:"quantity"` - Discount int64 `json:"discount"` + Quantity int64 `json:"quantity"` + Discount float64 `json:"discount"` } type SubscribeGroup struct {