package order import "github.com/perfect-panel/server/internal/types" // getDiscount 计算最终价格倍数 // 参数:discounts 折扣规则列表(数量阈值 + 折扣倍数);inputMonths 购买时长 // 返回:最终价格倍数(如 0.95 表示按 95% 计价) func getDiscount(discounts []types.SubscribeDiscount, inputMonths int64) float64 { var finalDiscount float64 = 1.0 for _, d := range discounts { val := d.Discount if val > 1 && val <= 100 { val = val / 100.0 } if val < 0 { val = 0 } if inputMonths >= d.Quantity && val < finalDiscount { finalDiscount = val } } return finalDiscount }