From d962481289e5e3384a2c52378587f174bbdc34cf Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Thu, 18 Dec 2025 13:52:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(api):=20=E4=BF=AE=E5=A4=8D=E8=90=A5?= =?UTF-8?q?=E9=94=80=E7=B3=BB=E7=BB=9F=E9=9D=9E=E7=9B=B4=E5=85=85=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=AD=97=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在导出字段时,非直充类型(type!=1)移除充值时间和卡密字段 - 添加日志记录被移除字段及原因 - 在元数据接口中过滤营销系统非直充类型下的充值时间和卡密字段 - 保证字段显示和导出的一致性 --- server/internal/api/exports.go | 18 +++++++++++++++++- server/internal/api/metadata.go | 11 +++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/server/internal/api/exports.go b/server/internal/api/exports.go index c725f45..0b17f6c 100644 --- a/server/internal/api/exports.go +++ b/server/internal/api/exports.go @@ -232,7 +232,7 @@ func (a *ExportsAPI) create(w http.ResponseWriter, r *http.Request) { } // 不再使用白名单过滤,直接使用所有字段 filtered = normalized - // 易码通立减金:保留 order_voucher.grant_time,移除红包领取时间列,避免"领取时间"为空 + // 易码通立减金:保留 order_voucher.grant_time,移除红包领取时间列,避免“领取时间”为空 if ds == "ymt" && tv == 3 { deduped := make([]string, 0, len(filtered)) removed := []string{} @@ -248,6 +248,22 @@ func (a *ExportsAPI) create(w http.ResponseWriter, r *http.Request) { } filtered = deduped } + // 营销系统:非直充类型(type!=1)时移除recharge_time和card_code字段 + if ds == "marketing" && tv != 1 { + deduped := make([]string, 0, len(filtered)) + removed := []string{} + for _, tf := range filtered { + if tf == "order.recharge_time" || tf == "order.card_code" { + removed = append(removed, tf) + continue + } + deduped = append(deduped, tf) + } + if len(removed) > 0 { + logging.JSON("INFO", map[string]interface{}{"event": "fields_filtered_non_direct_charge", "removed": removed, "reason": "非直充类型不导出充值时间和卡密"}) + } + filtered = deduped + } labels := FieldLabels() // 字段匹配校验(数量与顺序) if len(filtered) != len(fs) { diff --git a/server/internal/api/metadata.go b/server/internal/api/metadata.go index 85cf78e..b065685 100644 --- a/server/internal/api/metadata.go +++ b/server/internal/api/metadata.go @@ -22,9 +22,16 @@ func MetadataHandler(meta, marketing, ymt *sql.DB) http.Handler { for i := range tables { var visible []fieldInfo for _, f := range tables[i].Fields { - if !f.Hidden { - visible = append(visible, f) + if f.Hidden { + continue } + // 营销系统:recharge_time和card_code字段只在直充类型(type=1)时才显示 + if ds == "marketing" && ot != "1" { + if f.Key == "order.recharge_time" || f.Key == "order.card_code" { + continue + } + } + visible = append(visible, f) } tables[i].Fields = visible }