From 0de381e5be01aef0369bff1ba6f52636fe56dbc3 Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Thu, 18 Dec 2025 17:28:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(marketing):=20=E4=BF=AE=E5=A4=8D=20voucher?= =?UTF-8?q?=5Fbatch=20=E8=81=94=E8=A1=A8=E6=9D=A1=E4=BB=B6=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 voucher_batch 联表条件由 voucher_id 改为 channel_activity_id - 修正子查询筛选逻辑以确保正确关联 channel_activity_id - 防止因错误关联导致的数据重复问题 --- server/internal/schema/marketing.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/internal/schema/marketing.go b/server/internal/schema/marketing.go index 60121a1..75c1067 100644 --- a/server/internal/schema/marketing.go +++ b/server/internal/schema/marketing.go @@ -35,7 +35,7 @@ func (marketingSchema) BuildJoins(need map[string]bool, main string) []string { out = append(out, " LEFT JOIN `voucher` ON `voucher`.id = (SELECT MAX(v2.id) FROM `voucher` v2 WHERE v2.channel_activity_id = `order_voucher`.channel_activity_id)") } if need["voucher_batch"] { - out = append(out, " LEFT JOIN `voucher_batch` ON `voucher_batch`.id = (SELECT MAX(vb2.id) FROM `voucher_batch` vb2 WHERE vb2.voucher_id = `voucher`.id)") + out = append(out, " LEFT JOIN `voucher_batch` ON `voucher_batch`.id = (SELECT MAX(vb2.id) FROM `voucher_batch` vb2 WHERE vb2.channel_activity_id = `order_voucher`.channel_activity_id)") } if need["merchant_key_send"] { // MAX ID 子查询去重