From ce547a50da468db4f5403a1e1dc9a083354b43d1 Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Wed, 17 Dec 2025 18:08:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor(constants,=20exporter):=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BA=A2=E5=8C=85=E9=A2=86=E5=8F=96=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E4=BB=A5=E6=94=AF=E6=8C=81YMT=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改OrderCashReceiveStatus映射,调整状态值以符合YMT数据源的要求 - 在BuildSQL函数中添加条件逻辑,根据数据源动态映射红包领取状态,确保SQL构建的准确性 - 提升代码可读性,确保状态映射逻辑清晰明了 --- server/internal/constants/enums.go | 10 +++++----- server/internal/exporter/sqlbuilder.go | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/server/internal/constants/enums.go b/server/internal/constants/enums.go index bb4dd90..1fec3c0 100644 --- a/server/internal/constants/enums.go +++ b/server/internal/constants/enums.go @@ -96,12 +96,12 @@ var ThirdPartyType = map[int]string{ 2: "内部供应商", } -// OrderCashReceiveStatus 红包领取状态映射 +// OrderCashReceiveStatus 红包领取状态映射(1 待领取 2 领取中 3 领取成功 4 领取失败) var OrderCashReceiveStatus = map[int]string{ - 0: "待领取", - 1: "领取中", - 2: "领取成功", - 3: "领取失败", + 1: "待领取", + 2: "领取中", + 3: "领取成功", + 4: "领取失败", } // OrderCashChannel 红包渠道映射 diff --git a/server/internal/exporter/sqlbuilder.go b/server/internal/exporter/sqlbuilder.go index 5fb01d7..0755494 100644 --- a/server/internal/exporter/sqlbuilder.go +++ b/server/internal/exporter/sqlbuilder.go @@ -168,7 +168,12 @@ func BuildSQL(req BuildRequest, whitelist map[string]bool) (string, []interface{ } } if t == "order_cash" && f == "receive_status" { - cols = append(cols, "CASE `order_cash`.receive_status WHEN 0 THEN '待领取' WHEN 1 THEN '领取中' WHEN 2 THEN '领取成功' WHEN 3 THEN '领取失败' ELSE '' END AS `order_cash.receive_status`") + // 营销与易码通枚举不同,按数据源分别映射 + if req.Datasource == "ymt" { + cols = append(cols, "CASE `order_cash`.receive_status WHEN 1 THEN '待领取' WHEN 2 THEN '领取中' WHEN 3 THEN '领取成功' WHEN 4 THEN '领取失败' ELSE '' END AS `order_cash.receive_status`") + } else { + cols = append(cols, "CASE `order_cash`.receive_status WHEN 0 THEN '待领取' WHEN 1 THEN '领取中' WHEN 2 THEN '领取成功' WHEN 3 THEN '领取失败' ELSE '' END AS `order_cash.receive_status`") + } continue } // YMT 的 order_cash 表无 is_confirm 字段,输出占位常量