From bca7892799497a57ddd9ac59dd0b8e0952565de9 Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Fri, 19 Dec 2025 01:14:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(sqlbuilder):=20=E5=A4=84=E7=90=86=20reselle?= =?UTF-8?q?r=5Fid=5Feq=20=E5=92=8C=20plan=5Fid=5Feq=20=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加逻辑判断当存在 plan_id_eq 过滤条件时 - 删除与 creator 相关的过滤条件 creator_in 和 creator_ids - 优化过滤条件组合,避免冲突和冗余 - 保持现有 merchant_id_in 条件处理逻辑不变 --- server/internal/exporter/sqlbuilder.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/internal/exporter/sqlbuilder.go b/server/internal/exporter/sqlbuilder.go index 6fd16fc..5ae5a56 100644 --- a/server/internal/exporter/sqlbuilder.go +++ b/server/internal/exporter/sqlbuilder.go @@ -397,6 +397,12 @@ func BuildSQLWithFields(req BuildRequest, whitelist map[string]bool) (string, [] } } if v, ok := req.Filters["reseller_id_eq"]; ok { + // 如果提供了 reseller_id_eq 或 activity_id_eq,则不保留 creator 相关的过滤条件 + if _, hasPlan := req.Filters["plan_id_eq"]; hasPlan { + // 删除 creator 相关条件 + delete(req.Filters, "creator_in") + delete(req.Filters, "creator_ids") + } // If merchant_id_in is present, it handles the merchant_id logic (via OR condition), if _, hasIn := req.Filters["merchant_id_in"]; !hasIn { s := utils.ToString(v)