From 8381244d86125e0932f6ab6cdfe08f20e794d9e4 Mon Sep 17 00:00:00 2001 From: lzh <1625167628@qq.com> Date: Tue, 21 Oct 2025 13:40:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=99=E9=87=8F=E8=AE=A1=E7=AE=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/dao/bundleExtend.go | 4 ++-- internal/logic/bundleExtendLogic.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/dao/bundleExtend.go b/internal/dao/bundleExtend.go index 8880e60..11eba85 100644 --- a/internal/dao/bundleExtend.go +++ b/internal/dao/bundleExtend.go @@ -540,7 +540,7 @@ inner join ( var released int // 已释放的次数 if v.StartAt.Month() == now.Month() && v.StartAt.Year() == now.Year() { } else if v.StartAt.Day() >= 16 { //第一个月释放的 - released += limit/2 + 1 + released += (limit + 1) / 2 } else { released += limit } @@ -549,7 +549,7 @@ inner join ( remaining := max(total-released, 0) // 还剩余多少次没有发放 if v.StartAt.Month() == now.Month() && v.StartAt.Year() == now.Year() && v.StartAt.Day() >= 16 { // 本月为第一个月并且16号后购买只给一半(向上取整) - return min(limit/2+1, remaining) + return min((limit+1)/2, remaining) } if v.ExpiredAt.Month() == now.Month() && v.ExpiredAt.Year() == now.Year() && v.ExpiredAt.Day() < 16 { // 本月为最后一个月并且16号前到期只给一半(向下取整) return min(limit/2, remaining) diff --git a/internal/logic/bundleExtendLogic.go b/internal/logic/bundleExtendLogic.go index 91e994a..c1d26a4 100644 --- a/internal/logic/bundleExtendLogic.go +++ b/internal/logic/bundleExtendLogic.go @@ -207,7 +207,7 @@ func cal(data model.BundleBalance, total, limit int, date time.Time) int { if data.StartAt.Month() == date.Month() && data.StartAt.Year() == date.Year() { //第一个月释放的 } else if data.StartAt.Day() >= 16 { - released += limit/2 + 1 + released += (limit + 1) / 2 } else { released += limit } @@ -217,7 +217,7 @@ func cal(data model.BundleBalance, total, limit int, date time.Time) int { remaining := max(total-released, 0) // 还剩余多少次没有发放 if data.StartAt.Month() == date.Month() && data.StartAt.Year() == date.Year() && data.StartAt.Day() >= 16 { // 本月为第一个月并且16号后购买只给一半(向上取整) - return min(limit/2+1, remaining) + return min((limit+1)/2, remaining) } if data.ExpiredAt.Month() == date.Month() && data.ExpiredAt.Year() == date.Year() && data.ExpiredAt.Day() < 16 { // 本月为最后一个月并且16号前到期只给一半(向下取整) return min(limit/2, remaining)