diff --git a/apis/types.api b/apis/types.api index c55a5df..0bfa68c 100644 --- a/apis/types.api +++ b/apis/types.api @@ -207,7 +207,7 @@ type ( } SubscribeDiscount { Quantity int64 `json:"quantity"` - Discount int64 `json:"discount"` + Discount float64 `json:"discount"` } Subscribe { Id int64 `json:"id"` 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 0e56390..5505276 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -2076,8 +2076,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 {