From 4f32d6711369607a8ebf7735e3be5a5e3f0cfcf2 Mon Sep 17 00:00:00 2001 From: Chang lue Tsen Date: Wed, 20 Aug 2025 08:22:48 -0400 Subject: [PATCH] fix(email): convert RegisterStartTime and RegisterEndTime to time.Time for accurate query filtering --- .../admin/marketing/createBatchSendEmailTaskLogic.go | 4 ++-- .../logic/admin/marketing/getPreSendEmailCountLogic.go | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/logic/admin/marketing/createBatchSendEmailTaskLogic.go b/internal/logic/admin/marketing/createBatchSendEmailTaskLogic.go index 2542970..b45ad0d 100644 --- a/internal/logic/admin/marketing/createBatchSendEmailTaskLogic.go +++ b/internal/logic/admin/marketing/createBatchSendEmailTaskLogic.go @@ -45,10 +45,10 @@ func (l *CreateBatchSendEmailTaskLogic) CreateBatchSendEmailTask(req *types.Crea Where("auth_type = ?", "email") if req.RegisterStartTime != 0 { - query = query.Where("user.created_at >= ?", req.RegisterStartTime) + query = query.Where("user.created_at >= ?", time.UnixMilli(req.RegisterStartTime)) } if req.RegisterEndTime != 0 { - query = query.Where("user.created_at <= ?", req.RegisterEndTime) + query = query.Where("user.created_at <= ?", time.UnixMilli(req.RegisterEndTime)) } return query } diff --git a/internal/logic/admin/marketing/getPreSendEmailCountLogic.go b/internal/logic/admin/marketing/getPreSendEmailCountLogic.go index 32d73dc..6928098 100644 --- a/internal/logic/admin/marketing/getPreSendEmailCountLogic.go +++ b/internal/logic/admin/marketing/getPreSendEmailCountLogic.go @@ -2,6 +2,7 @@ package marketing import ( "context" + "time" "github.com/perfect-panel/server/internal/model/user" "github.com/perfect-panel/server/internal/svc" @@ -37,10 +38,14 @@ func (l *GetPreSendEmailCountLogic) GetPreSendEmailCount(req *types.GetPreSendEm Where("auth_type = ?", "email") if req.RegisterStartTime != 0 { - query = query.Where("user.created_at >= ?", req.RegisterStartTime) + + registerStartTime := time.UnixMilli(req.RegisterStartTime) + + query = query.Where("user.created_at >= ?", registerStartTime) } if req.RegisterEndTime != 0 { - query = query.Where("user.created_at <= ?", req.RegisterEndTime) + registerEndTime := time.UnixMilli(req.RegisterEndTime) + query = query.Where("user.created_at <= ?", registerEndTime) } return query }