fix(marketing): 修复 voucher_batch 联表条件错误

- 将 voucher_batch 联表条件由 voucher_id 改为 channel_activity_id
- 修正子查询筛选逻辑以确保正确关联 channel_activity_id
- 防止因错误关联导致的数据重复问题
This commit is contained in:
zhouyonggao 2025-12-18 17:28:42 +08:00
parent 2d1698ae60
commit 0de381e5be
1 changed files with 1 additions and 1 deletions

View File

@ -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)") 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"] { 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"] { if need["merchant_key_send"] {
// MAX ID 子查询去重 // MAX ID 子查询去重