feat(exporter): 增强SQL构建逻辑以支持供应商信息

在sqlbuilder.go中更新SQL构建逻辑,确保在导出数据时正确关联供应商名称。同时,在fields.go中更新字段标签以反映供应商名称的变化,提升导出数据的准确性和可读性。
This commit is contained in:
zhouyonggao 2025-12-15 15:57:21 +08:00
parent 84ab45da8c
commit 3a354a3d93
3 changed files with 12 additions and 8 deletions

View File

@ -109,7 +109,8 @@ func BuildSQL(req BuildRequest, whitelist map[string]bool) (string, []interface{
continue continue
} }
if f == "supplier_name" { if f == "supplier_name" {
cols = append(cols, "'' AS `order.supplier_name`") need["supplier"] = true
cols = append(cols, "`supplier`.name AS `order.supplier_name`")
continue continue
} }
if f == "is_inner" { if f == "is_inner" {

View File

@ -34,8 +34,8 @@ func AllWhitelist() map[string]bool {
"order.pay_time": true, "order.pay_time": true,
"order.coupon_id": true, "order.coupon_id": true,
"order.discount_amount": true, "order.discount_amount": true,
"order.supplier_product_name": true, "order.supplier_product_name": true,
"order.supplier_name": true, "order.supplier_name": true,
"order.is_inner": true, "order.is_inner": true,
"order.icon": true, "order.icon": true,
"order.cost_price": true, "order.cost_price": true,
@ -252,16 +252,16 @@ func AllLabels() map[string]string {
"order.create_time": "创建时间", "order.create_time": "创建时间",
"order.update_time": "更新时间", "order.update_time": "更新时间",
"order.official_price": "官方价", "order.official_price": "官方价",
"order.merchant_name": "分销商名称", "order.merchant_name": "客户名称",
"order.activity_name": "活动名称", "order.activity_name": "活动名称",
"order.goods_name": "商品名称", "order.goods_name": "商品名称",
"order.pay_time": "支付时间", "order.pay_time": "支付时间",
"order.coupon_id": "优惠券ID", "order.coupon_id": "优惠券ID",
"order.discount_amount": "优惠金额", "order.discount_amount": "优惠金额",
"order.card_code": "卡密(脱敏)", "order.card_code": "卡密(脱敏)",
"order.supplier_product_name": "供应商产品名称", "order.supplier_product_name": "供应商产品名称",
"order.supplier_name": "供应商名称", "order.supplier_name": "供应商名称",
"order.is_inner": "供应商类型", "order.is_inner": "供应商类型",
"order.icon": "订单图片", "order.icon": "订单图片",
"order.cost_price": "成本价", "order.cost_price": "成本价",
"order.is_reset": "是否重置", "order.is_reset": "是否重置",
@ -446,7 +446,7 @@ func AllLabels() map[string]string {
"activity.key_pay_button_text": "Key支付按钮文本", "activity.key_pay_button_text": "Key支付按钮文本",
"activity.goods_pay_button_text": "商品支付按钮文本", "activity.goods_pay_button_text": "商品支付按钮文本",
"activity.is_open_db_transaction": "是否开启事务", "activity.is_open_db_transaction": "是否开启事务",
// removed bank_tag: not present in current YMT activity schema // removed bank_tag: not present in current YMT activity schema
} }
} }

View File

@ -69,6 +69,9 @@ func (s ymtSchema) BuildJoins(need map[string]bool, main string) []string {
if need["merchant"] { if need["merchant"] {
out = append(out, " LEFT JOIN `merchant` ON `merchant`.id = `order_info`.merchant_id") out = append(out, " LEFT JOIN `merchant` ON `merchant`.id = `order_info`.merchant_id")
} }
if need["supplier"] {
out = append(out, " LEFT JOIN `supplier` ON `supplier`.id = `order_info`.supplier_id")
}
if need["activity"] { if need["activity"] {
out = append(out, " LEFT JOIN `activity` ON `activity`.id = `order_info`.activity_id") out = append(out, " LEFT JOIN `activity` ON `activity`.id = `order_info`.activity_id")
} }