diff --git a/server/internal/api/metadata.go b/server/internal/api/metadata.go index 1e8e2ee..2d55bef 100644 --- a/server/internal/api/metadata.go +++ b/server/internal/api/metadata.go @@ -4,89 +4,537 @@ import ( "database/sql" "net/http" "sort" - "strings" - - "server/internal/schema" ) func MetadataHandler(meta, marketing, ymt *sql.DB) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { ds := r.URL.Query().Get("datasource") ot := r.URL.Query().Get("order_type") - db := marketing - if ds == "ymt" { - db = ymt - } - // 从代码中获取隐藏字段列表 - hiddenFields := getHiddenFieldsFromCode(ds) - - tables := []string{} + var tables []tableInfo if ds == "ymt" { - tables = []string{"order_info", "order_cash", "order_voucher", "order_digit", "goods_voucher_batch", "goods_voucher_subject_config", "merchant", "activity"} + tables = ymtMetadataTables() } else { - tables = []string{"order", "order_detail", "order_cash", "order_voucher", "plan", "key_batch", "code_batch", "voucher", "voucher_batch", "merchant_key_send"} + tables = marketingMetadataTables() } - out := []map[string]interface{}{} - for _, tbl := range tables { - cols := getColumns(db, tbl) - fields := []map[string]string{} - for _, c := range cols { - tCanonical, fCanonical := canonicalField(ds, tbl, c.Name) - if tCanonical == "" || fCanonical == "" { - continue - } - // 检查字段是否在隐藏列表中 - if isFieldHidden(hiddenFields, tCanonical, fCanonical) { - continue - } - - lab := c.Comment - if lab == "" { - lab = fCanonical - } - fields = append(fields, map[string]string{"key": tCanonical + "." + fCanonical, "field": fCanonical, "label": lab}) - } - tDisplay := displayTable(ds, tbl) - out = append(out, map[string]interface{}{"table": tDisplay, "label": tableLabel(tDisplay), "fields": fields}) - } - sort.Slice(out, func(i, j int) bool { return out[i]["table"].(string) < out[j]["table"].(string) }) + sort.Slice(tables, func(i, j int) bool { return tables[i].Table < tables[j].Table }) rec := recommendedDefaults(ds, ot) - ok(w, r, map[string]interface{}{"datasource": ds, "tables": out, "recommended": rec}) + ok(w, r, map[string]interface{}{"datasource": ds, "tables": tables, "recommended": rec}) }) } -// getHiddenFieldsFromCode 从代码中获取指定数据源的隐藏字段映射 -func getHiddenFieldsFromCode(ds string) map[string]map[string]bool { - // 从字段白名单构建隐藏字段映射,所有字段默认 true(隐藏) - return buildHiddenFieldsFromWhitelist() +type tableInfo struct { + Table string `json:"table"` + Label string `json:"label"` + Fields []fieldInfo `json:"fields"` } -// buildHiddenFieldsFromWhitelist 读取 schema.AllWhitelist 中的所有字段,按表分组,全部标记为 true -func buildHiddenFieldsFromWhitelist() map[string]map[string]bool { - out := make(map[string]map[string]bool) - for k := range schema.AllWhitelist() { - parts := strings.SplitN(k, ".", 2) - if len(parts) != 2 { - continue - } - tbl, field := parts[0], parts[1] - if _, ok := out[tbl]; !ok { - out[tbl] = make(map[string]bool) - } - out[tbl][field] = true - } - return out +type fieldInfo struct { + Key string `json:"key"` + Field string `json:"field"` + Label string `json:"label"` + Hidden bool `json:"hidden"` } -// isFieldHidden 检查字段是否在隐藏列表中 -func isFieldHidden(hiddenFields map[string]map[string]bool, table, field string) bool { - tableFields, ok := hiddenFields[table] - if !ok { - return false +// marketingMetadataTables 静态列出 Marketing 库的所有表字段(hidden 默认 true) +func marketingMetadataTables() []tableInfo { + return []tableInfo{ + { + Table: "code_batch", Label: tableLabel("code_batch"), + Fields: []fieldInfo{ + {Key: "code_batch.id", Field: "id", Label: "兑换码-批次ID", Hidden: true}, + {Key: "code_batch.creator", Field: "creator", Label: "创建者", Hidden: true}, + {Key: "code_batch.key_batch_id", Field: "key_batch_id", Label: "KEY批次编号,外键", Hidden: true}, + {Key: "code_batch.status", Field: "status", Label: "状态", Hidden: true}, + {Key: "code_batch.title", Field: "title", Label: "兑换批次标题,名称", Hidden: true}, + {Key: "code_batch.plan_title", Field: "plan_title", Label: "计划名称(冗余)", Hidden: true}, + {Key: "code_batch.describe", Field: "describe", Label: "兑换说明", Hidden: true}, + {Key: "code_batch.range", Field: "range", Label: "使用范围描述", Hidden: true}, + {Key: "code_batch.begin_time", Field: "begin_time", Label: "开始时间", Hidden: true}, + {Key: "code_batch.end_time", Field: "end_time", Label: "结束时间", Hidden: true}, + {Key: "code_batch.quantity", Field: "quantity", Label: "兑换码数量", Hidden: true}, + {Key: "code_batch.restrict", Field: "restrict", Label: "绑定限额数量(能给同一KEY绑定的次数)", Hidden: true}, + {Key: "code_batch.usage", Field: "usage", Label: "已使用数量", Hidden: true}, + {Key: "code_batch.stock", Field: "stock", Label: "剩余库存信息", Hidden: true}, + {Key: "code_batch.invalid", Field: "invalid", Label: "作废数量", Hidden: true}, + {Key: "code_batch.product", Field: "product", Label: "产品信息(冗余)", Hidden: true}, + {Key: "code_batch.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "code_batch.update_time", Field: "update_time", Label: "修改时间", Hidden: true}, + {Key: "code_batch.delete_time", Field: "delete_time", Label: "删除时间", Hidden: true}, + {Key: "code_batch.approval_status", Field: "approval_status", Label: "审批状态,0:未提交审核;1:审核中;", Hidden: true}, + {Key: "code_batch.approval_id", Field: "approval_id", Label: "审批ID", Hidden: true}, + {Key: "code_batch.copy_count", Field: "copy_count", Label: "复制次数", Hidden: true}, + {Key: "code_batch.discard_time", Field: "discard_time", Label: "作废时间", Hidden: true}, + {Key: "code_batch.type", Field: "type", Label: "数据类型 0:兑换码 1:优惠券", Hidden: true}, + {Key: "code_batch.full", Field: "full", Label: "满额", Hidden: true}, + {Key: "code_batch.reduce", Field: "reduce", Label: "减额", Hidden: true}, + {Key: "code_batch.recharge_type", Field: "recharge_type", Label: "充值类型 1单个充值 2组合充值", Hidden: true}, + {Key: "code_batch.group_info", Field: "group_info", Label: "组合商品基础信息", Hidden: true}, + {Key: "code_batch.period_type", Field: "period_type", Label: "1不设置 2自动 3手动", Hidden: true}, + {Key: "code_batch.period_num", Field: "period_num", Label: "周期次数", Hidden: true}, + {Key: "code_batch.period_day", Field: "period_day", Label: "周期间隔天数", Hidden: true}, + {Key: "code_batch.period_fixed_receive_time", Field: "period_fixed_receive_time", Label: "周期自动固定发放时间", Hidden: true}, + }, + }, + { + Table: "key_batch", Label: tableLabel("key_batch"), + Fields: []fieldInfo{ + {Key: "key_batch.id", Field: "id", Label: "key批次编号", Hidden: true}, + {Key: "key_batch.plan_id", Field: "plan_id", Label: "计划编号", Hidden: true}, + {Key: "key_batch.style", Field: "style", Label: "KEY样式", Hidden: true}, + {Key: "key_batch.batch_name", Field: "batch_name", Label: "KEY批次名称", Hidden: true}, + {Key: "key_batch.bind_object", Field: "bind_object", Label: "绑定类型:1兑换码,2优惠码,4立减金", Hidden: true}, + {Key: "key_batch.quantity", Field: "quantity", Label: "发放KEY数量", Hidden: true}, + {Key: "key_batch.stock", Field: "stock", Label: "剩余库存信息", Hidden: true}, + {Key: "key_batch.allow_repetition", Field: "allow_repetition", Label: "允许商品重复选择:1允许,0不允许", Hidden: true}, + {Key: "key_batch.merge_stock", Field: "merge_stock", Label: "是否合并库存:1允许,0不允许", Hidden: true}, + {Key: "key_batch.allow_loss", Field: "allow_loss", Label: "允许亏损:0不允许,1允许", Hidden: true}, + {Key: "key_batch.begin_time", Field: "begin_time", Label: "开始时间", Hidden: true}, + {Key: "key_batch.end_time", Field: "end_time", Label: "结束时间", Hidden: true}, + {Key: "key_batch.status", Field: "status", Label: "状态", Hidden: true}, + {Key: "key_batch.code_batch", Field: "code_batch", Label: "关联的兑换码批次信息(冗余数据)", Hidden: true}, + {Key: "key_batch.zip_file", Field: "zip_file", Label: "压缩包路径", Hidden: true}, + {Key: "key_batch.zip_file_md5", Field: "zip_file_md5", Label: "压缩包防篡改md5签名", Hidden: true}, + {Key: "key_batch.zip_pwd", Field: "zip_pwd", Label: "解压密码", Hidden: true}, + {Key: "key_batch.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "key_batch.creator", Field: "creator", Label: "创建人- 用户ID", Hidden: true}, + {Key: "key_batch.restrict", Field: "restrict", Label: "该批次最大可以绑定数量", Hidden: true}, + {Key: "key_batch.creator_name", Field: "creator_name", Label: "创建人-真实名称 一个活动下单key批次存在多个操作人", Hidden: true}, + {Key: "key_batch.approval_status", Field: "approval_status", Label: "审批状态,0:未提交审核;1:审核中;", Hidden: true}, + {Key: "key_batch.approval_id", Field: "approval_id", Label: "审批ID", Hidden: true}, + {Key: "key_batch.mobile_excel", Field: "mobile_excel", Label: "白名单Excel", Hidden: true}, + {Key: "key_batch.mobile_repeat", Field: "mobile_repeat", Label: "白名单允许重复的号码", Hidden: true}, + {Key: "key_batch.copy_count", Field: "copy_count", Label: "复制次数", Hidden: true}, + {Key: "key_batch.update_time", Field: "update_time", Label: "编辑时间", Hidden: true}, + {Key: "key_batch.delete_time", Field: "delete_time", Label: "delete_time", Hidden: true}, + {Key: "key_batch.discard_time", Field: "discard_time", Label: "作废时间", Hidden: true}, + {Key: "key_batch.key_official_price", Field: "key_official_price", Label: "key码官方价", Hidden: true}, + {Key: "key_batch.key_cost_price", Field: "key_cost_price", Label: "key码成本价", Hidden: true}, + {Key: "key_batch.expiration_conf", Field: "expiration_conf", Label: "key码有效期配置", Hidden: true}, + {Key: "key_batch.warning_conf", Field: "warning_conf", Label: "key码预警配置", Hidden: true}, + {Key: "key_batch.generate_id", Field: "generate_id", Label: "生成记录Id", Hidden: true}, + }, + }, + { + Table: "merchant_key_send", Label: tableLabel("merchant_key_send"), + Fields: []fieldInfo{ + {Key: "merchant_key_send.id", Field: "id", Label: "id", Hidden: true}, + {Key: "merchant_key_send.reseller_id", Field: "reseller_id", Label: "分销商id", Hidden: true}, + {Key: "merchant_key_send.merchant_id", Field: "merchant_id", Label: "分销商开放商户号", Hidden: true}, + {Key: "merchant_key_send.out_biz_no", Field: "out_biz_no", Label: "商户侧业务号 需保持唯一", Hidden: true}, + {Key: "merchant_key_send.out_timestamp", Field: "out_timestamp", Label: "外部请求时间", Hidden: true}, + {Key: "merchant_key_send.key_batch_id", Field: "key_batch_id", Label: "key批次id ", Hidden: true}, + {Key: "merchant_key_send.stock_id", Field: "stock_id", Label: "批次编号(计划编号)", Hidden: true}, + {Key: "merchant_key_send.plan_id", Field: "plan_id", Label: "计划id", Hidden: true}, + {Key: "merchant_key_send.store_id", Field: "store_id", Label: "门店id", Hidden: true}, + {Key: "merchant_key_send.key", Field: "key", Label: "发放的key码", Hidden: true}, + {Key: "merchant_key_send.status", Field: "status", Label: "券码状态 1待发放。2已核销。3已作废 4 充值中", Hidden: true}, + {Key: "merchant_key_send.num", Field: "num", Label: "发放的数量", Hidden: true}, + {Key: "merchant_key_send.attach", Field: "attach", Label: "客户端请求的参数", Hidden: true}, + {Key: "merchant_key_send.usage_time", Field: "usage_time", Label: "key码核销时间", Hidden: true}, + {Key: "merchant_key_send.discard_time", Field: "discard_time", Label: "key码作废时间", Hidden: true}, + {Key: "merchant_key_send.account_type", Field: "account_type", Label: "用户账号类型 1手机号 ", Hidden: true}, + {Key: "merchant_key_send.account", Field: "account", Label: "用户账号", Hidden: true}, + {Key: "merchant_key_send.send_msg", Field: "send_msg", Label: "是否发送短信。1不发送。2发送", Hidden: true}, + {Key: "merchant_key_send.status_update_time", Field: "status_update_time", Label: "状态变更时间", Hidden: true}, + {Key: "merchant_key_send.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + {Key: "merchant_key_send.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + }, + }, + { + Table: "order", Label: tableLabel("order"), + Fields: []fieldInfo{ + {Key: "order.key", Field: "key", Label: "KEY", Hidden: true}, + {Key: "order.order_number", Field: "order_number", Label: "订单编号", Hidden: true}, + {Key: "order.out_trade_no", Field: "out_trade_no", Label: "支付流水号", Hidden: true}, + {Key: "order.type", Field: "type", Label: "类型", Hidden: true}, + {Key: "order.status", Field: "status", Label: "状态", Hidden: true}, + {Key: "order.account", Field: "account", Label: "账号", Hidden: true}, + {Key: "order.product_id", Field: "product_id", Label: "商品id", Hidden: true}, + {Key: "order.reseller_id", Field: "reseller_id", Label: "所属分销商ID(冗余)", Hidden: true}, + {Key: "order.plan_id", Field: "plan_id", Label: "所属营销计划ID(冗余)", Hidden: false}, + {Key: "order.key_batch_id", Field: "key_batch_id", Label: "所属KEY批次ID(冗余)", Hidden: false}, + {Key: "order.code_batch_id", Field: "code_batch_id", Label: "Code批次ID(冗余)", Hidden: false}, + {Key: "order.contract_price", Field: "contract_price", Label: "合同单价(冗余)", Hidden: true}, + {Key: "order.total", Field: "total", Label: "总价", Hidden: true}, + {Key: "order.num", Field: "num", Label: "购买数量", Hidden: true}, + {Key: "order.pay_amount", Field: "pay_amount", Label: "支付金额", Hidden: true}, + {Key: "order.pay_type", Field: "pay_type", Label: "支付方式", Hidden: true}, + {Key: "order.pay_status", Field: "pay_status", Label: "支付状态", Hidden: true}, + {Key: "order.use_coupon", Field: "use_coupon", Label: "是否使用优惠券", Hidden: true}, + {Key: "order.deliver_status", Field: "deliver_status", Label: "向上游投递状态", Hidden: true}, + {Key: "order.expire_time", Field: "expire_time", Label: "过期处理时间", Hidden: true}, + {Key: "order.recharge_time", Field: "recharge_time", Label: "向上游发起充值的时间", Hidden: true}, + {Key: "order.card_code", Field: "card_code", Label: "卡号卡密", Hidden: true}, + {Key: "order.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + {Key: "order.creator", Field: "creator", Label: "创建者id", Hidden: true}, + }, + }, + { + Table: "order_cash", Label: tableLabel("order_cash"), + Fields: []fieldInfo{ + {Key: "order_cash.order_number", Field: "order_number", Label: "order_number", Hidden: true}, + {Key: "order_cash.channel", Field: "channel", Label: "渠道,1:支付宝;2:微信", Hidden: true}, + {Key: "order_cash.cash_activity_id", Field: "cash_activity_id", Label: "红包批次号", Hidden: true}, + {Key: "order_cash.receive_status", Field: "receive_status", Label: "红包领取状态", Hidden: true}, + {Key: "order_cash.receive_time", Field: "receive_time", Label: "领取时间,拆红包的时间", Hidden: true}, + {Key: "order_cash.channel_order_id", Field: "channel_order_id", Label: "支付宝转账订单号/微信批次单号", Hidden: true}, + {Key: "order_cash.pay_fund_order_id", Field: "pay_fund_order_id", Label: "支付宝支付资金流水号", Hidden: true}, + {Key: "order_cash.receive_user_id", Field: "receive_user_id", Label: "红包领取者唯一标识 微信open_id/支付宝alipay_user_id", Hidden: true}, + {Key: "order_cash.cash_packet_id", Field: "cash_packet_id", Label: "红包ID", Hidden: true}, + {Key: "order_cash.cash_id", Field: "cash_id", Label: "所属红包模版(规则)ID", Hidden: true}, + {Key: "order_cash.amount", Field: "amount", Label: "红包额度", Hidden: true}, + {Key: "order_cash.wechat_detail_id", Field: "wechat_detail_id", Label: "微信转账商家明细单号", Hidden: true}, + {Key: "order_cash.update_time", Field: "update_time", Label: "update_time", Hidden: true}, + {Key: "order_cash.status", Field: "status", Label: "状态 1正常 2过期", Hidden: true}, + {Key: "order_cash.expire_time", Field: "expire_time", Label: "过期时间", Hidden: true}, + {Key: "order_cash.receive_name", Field: "receive_name", Label: "领取方真实姓名", Hidden: true}, + }, + }, + { + Table: "order_detail", Label: tableLabel("order_detail"), + Fields: []fieldInfo{ + {Key: "order_detail.order_number", Field: "order_number", Label: "订单编号", Hidden: true}, + {Key: "order_detail.plan_title", Field: "plan_title", Label: "营销计划名称(冗余)", Hidden: true}, + {Key: "order_detail.reseller_name", Field: "reseller_name", Label: "分销商名称(冗余)", Hidden: true}, + {Key: "order_detail.product_name", Field: "product_name", Label: "商品名称(冗余)", Hidden: true}, + {Key: "order_detail.show_url", Field: "show_url", Label: "商品图片(冗余)", Hidden: true}, + {Key: "order_detail.official_price", Field: "official_price", Label: "商品官方价(冗余)", Hidden: true}, + {Key: "order_detail.cost_price", Field: "cost_price", Label: "成本价", Hidden: true}, + {Key: "order_detail.product", Field: "product", Label: "冗余商品信息", Hidden: true}, + {Key: "order_detail.refund_account", Field: "refund_account", Label: "退款打款账号", Hidden: true}, + {Key: "order_detail.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order_detail.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + }, + }, + { + Table: "order_voucher", Label: tableLabel("order_voucher"), + Fields: []fieldInfo{ + {Key: "order_voucher.id", Field: "id", Label: "id", Hidden: true}, + {Key: "order_voucher.trade_no", Field: "trade_no", Label: "交易号", Hidden: true}, + {Key: "order_voucher.order_number", Field: "order_number", Label: "order_number", Hidden: true}, + {Key: "order_voucher.channel", Field: "channel", Label: "渠道,1:支付宝;2:微信", Hidden: true}, + {Key: "order_voucher.channel_activity_id", Field: "channel_activity_id", Label: "渠道立减金批次号", Hidden: true}, + {Key: "order_voucher.channel_user_id", Field: "channel_user_id", Label: "渠道用户ID", Hidden: true}, + {Key: "order_voucher.channel_voucher_id", Field: "channel_voucher_id", Label: "渠道立减金ID", Hidden: true}, + {Key: "order_voucher.rule", Field: "rule", Label: "立减金规则", Hidden: true}, + {Key: "order_voucher.grant_time", Field: "grant_time", Label: "立减金领取时间", Hidden: true}, + {Key: "order_voucher.status", Field: "status", Label: "状态 1可用 2已实扣 3已过期 4已退款", Hidden: true}, + {Key: "order_voucher.usage_time", Field: "usage_time", Label: "核销时间", Hidden: true}, + {Key: "order_voucher.refund_time", Field: "refund_time", Label: "退款时间", Hidden: true}, + {Key: "order_voucher.status_modify_time", Field: "status_modify_time", Label: "立减金状态更新时间", Hidden: true}, + {Key: "order_voucher.overdue_time", Field: "overdue_time", Label: "过期时间", Hidden: true}, + {Key: "order_voucher.refund_amount", Field: "refund_amount", Label: "退回金额", Hidden: true}, + {Key: "order_voucher.official_price", Field: "official_price", Label: "商品官方价", Hidden: true}, + {Key: "order_voucher.receive_mode", Field: "receive_mode", Label: "发券方式 1渠道授权用户id 2手机号或邮箱", Hidden: true}, + {Key: "order_voucher.receive_error", Field: "receive_error", Label: "领取失败原因", Hidden: true}, + {Key: "order_voucher.app_id", Field: "app_id", Label: "领取应用id", Hidden: true}, + {Key: "order_voucher.out_biz_no", Field: "out_biz_no", Label: "外部业务号", Hidden: true}, + {Key: "order_voucher.fail_time", Field: "fail_time", Label: "领取失败时间", Hidden: true}, + {Key: "order_voucher.notify_url", Field: "notify_url", Label: "回调通知地址", Hidden: true}, + {Key: "order_voucher.account_no", Field: "account_no", Label: "账户编号", Hidden: true}, + }, + }, + { + Table: "plan", Label: tableLabel("plan"), + Fields: []fieldInfo{ + {Key: "plan.id", Field: "id", Label: "编号", Hidden: true}, + {Key: "plan.creator", Field: "creator", Label: "创建者ID", Hidden: true}, + {Key: "plan.creator_name", Field: "creator_name", Label: "创建者名称", Hidden: true}, + {Key: "plan.title", Field: "title", Label: "计划标题", Hidden: true}, + {Key: "plan.type", Field: "type", Label: "计划类型", Hidden: true}, + {Key: "plan.status", Field: "status", Label: "活动状态:0草稿", Hidden: true}, + {Key: "plan.reseller_id", Field: "reseller_id", Label: "所属分销商ID", Hidden: true}, + {Key: "plan.reseller_name", Field: "reseller_name", Label: "分销商名称(冗余)", Hidden: true}, + {Key: "plan.begin_time", Field: "begin_time", Label: "开始时间", Hidden: true}, + {Key: "plan.end_time", Field: "end_time", Label: "结束时间", Hidden: true}, + {Key: "plan.return_type", Field: "return_type", Label: "计划充值返回", Hidden: true}, + {Key: "plan.open", Field: "open", Label: "活动是否开启 1:开启 2关闭", Hidden: true}, + {Key: "plan.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "plan.zip_file", Field: "zip_file", Label: "压缩包路径", Hidden: true}, + {Key: "plan.zip_file_md5", Field: "zip_file_md5", Label: "压缩包防篡改md5签名", Hidden: true}, + {Key: "plan.zip_pwd", Field: "zip_pwd", Label: "解压密码", Hidden: true}, + {Key: "plan.approval_id", Field: "approval_id", Label: "审批id", Hidden: true}, + {Key: "plan.copy_count", Field: "copy_count", Label: "复制次数", Hidden: true}, + {Key: "plan.update_time", Field: "update_time", Label: "编辑时间", Hidden: true}, + {Key: "plan.delete_time", Field: "delete_time", Label: "delete_time", Hidden: true}, + {Key: "plan.stock_id", Field: "stock_id", Label: "计划编号、批次号", Hidden: true}, + {Key: "plan.settlement_type", Field: "settlement_type", Label: "结算方式", Hidden: true}, + {Key: "plan.send_method", Field: "send_method", Label: "发放方式1邮件发放 2API调用", Hidden: true}, + {Key: "plan.button_conf", Field: "button_conf", Label: "自定义按钮文案", Hidden: true}, + }, + }, + { + Table: "voucher", Label: tableLabel("voucher"), + Fields: []fieldInfo{ + {Key: "voucher.id", Field: "id", Label: "id", Hidden: true}, + {Key: "voucher.goods_id", Field: "goods_id", Label: "商品表id", Hidden: true}, + {Key: "voucher.channel", Field: "channel", Label: "渠道 1支付宝 2微信", Hidden: true}, + {Key: "voucher.channel_activity_id", Field: "channel_activity_id", Label: "渠道立减金批次号", Hidden: true}, + {Key: "voucher.batch_goods_name", Field: "batch_goods_name", Label: "批次商品名称", Hidden: true}, + {Key: "voucher.price", Field: "price", Label: "合同单价", Hidden: true}, + {Key: "voucher.recharge_amount", Field: "recharge_amount", Label: "充值批次金额", Hidden: true}, + {Key: "voucher.frozen_amount", Field: "frozen_amount", Label: "冻结额度", Hidden: true}, + {Key: "voucher.balance", Field: "balance", Label: "剩余额度", Hidden: true}, + {Key: "voucher.used_amount", Field: "used_amount", Label: "已使用额度", Hidden: true}, + {Key: "voucher.denomination", Field: "denomination", Label: "面额", Hidden: true}, + {Key: "voucher.reduce_amount", Field: "reduce_amount", Label: "立减额度", Hidden: true}, + {Key: "voucher.all_budget", Field: "all_budget", Label: "总预算", Hidden: true}, + {Key: "voucher.day_budget", Field: "day_budget", Label: "单天预算", Hidden: true}, + {Key: "voucher.receive_conf", Field: "receive_conf", Label: "领取配置", Hidden: true}, + {Key: "voucher.card_type", Field: "card_type", Label: "卡种类型", Hidden: true}, + {Key: "voucher.natural_limit", Field: "natural_limit", Label: "是否开启自然人限制", Hidden: true}, + {Key: "voucher.brush_limit", Field: "brush_limit", Label: "是否开启防刷限制", Hidden: true}, + {Key: "voucher.time_limit", Field: "time_limit", Label: "时间限制配置", Hidden: true}, + {Key: "voucher.instruction", Field: "instruction", Label: "使用说明", Hidden: true}, + {Key: "voucher.early_per", Field: "early_per", Label: "预警百分比", Hidden: true}, + {Key: "voucher.early_notifier", Field: "early_notifier", Label: "预警通知人", Hidden: true}, + {Key: "voucher.last_early_per", Field: "last_early_per", Label: "上次预警百分比", Hidden: true}, + {Key: "voucher.temp_no", Field: "temp_no", Label: "券模板编号 支付宝类型才有", Hidden: true}, + {Key: "voucher.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "voucher.delete_time", Field: "delete_time", Label: "delete_time", Hidden: true}, + {Key: "voucher.provider", Field: "provider", Label: "服务商标识, 只针对微信设置可选", Hidden: true}, + {Key: "voucher.receive_mode", Field: "receive_mode", Label: "发券方式 1渠道用户id 2手机号或邮箱", Hidden: true}, + {Key: "voucher.send_num", Field: "send_num", Label: "发放数量", Hidden: true}, + {Key: "voucher.is_webview", Field: "is_webview", Label: "是否webview方式打开 0 :否 1:是", Hidden: true}, + {Key: "voucher.notice", Field: "notice", Label: "使用须知", Hidden: true}, + {Key: "voucher.index", Field: "index", Label: "排序", Hidden: true}, + }, + }, + { + Table: "voucher_batch", Label: tableLabel("voucher_batch"), + Fields: []fieldInfo{ + {Key: "voucher_batch.id", Field: "id", Label: "id", Hidden: true}, + {Key: "voucher_batch.voucher_id", Field: "voucher_id", Label: "立减金id", Hidden: true}, + {Key: "voucher_batch.provider", Field: "provider", Label: "服务商标识 微信和支付宝可选", Hidden: true}, + {Key: "voucher_batch.channel_activity_id", Field: "channel_activity_id", Label: "渠道立减金批次号", Hidden: true}, + {Key: "voucher_batch.temp_no", Field: "temp_no", Label: "券模板编号 支付宝类型才有", Hidden: true}, + {Key: "voucher_batch.weight", Field: "weight", Label: "权重", Hidden: true}, + {Key: "voucher_batch.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "voucher_batch.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + }, + }, + } +} + +// ymtMetadataTables 静态列出 YMT 库的所有表字段(hidden 默认 true) +func ymtMetadataTables() []tableInfo { + return []tableInfo{ + { + Table: "activity", Label: tableLabel("activity"), + Fields: []fieldInfo{ + {Key: "activity.id", Field: "id", Label: "活动id", Hidden: true}, + {Key: "activity.user_id", Field: "user_id", Label: "创建者", Hidden: true}, + {Key: "activity.merchant_id", Field: "merchant_id", Label: "客户id", Hidden: true}, + {Key: "activity.user_name", Field: "user_name", Label: "创建者名称", Hidden: true}, + {Key: "activity.name", Field: "name", Label: "活动名称", Hidden: true}, + {Key: "activity.activity_no", Field: "activity_no", Label: "活动编号", Hidden: true}, + {Key: "activity.status", Field: "status", Label: "状态 1:待审核 2:已驳回 3:已生效 4:暂停中 5:已作废 6:已失效", Hidden: true}, + {Key: "activity.key_total_num", Field: "key_total_num", Label: "Key码总量", Hidden: true}, + {Key: "activity.key_generate_num", Field: "key_generate_num", Label: "Key码已生成数量", Hidden: true}, + {Key: "activity.key_usable_num", Field: "key_usable_num", Label: "key可使用次数", Hidden: true}, + {Key: "activity.domain_url", Field: "domain_url", Label: "域名", Hidden: true}, + {Key: "activity.theme_login_id", Field: "theme_login_id", Label: "登录页面模版Id", Hidden: true}, + {Key: "activity.theme_list_id", Field: "theme_list_id", Label: "列表页模版Id", Hidden: true}, + {Key: "activity.settlement_type", Field: "settlement_type", Label: "结算方式 1:发放结算 2:打开结算 3:领用结算 4:核销结算", Hidden: true}, + {Key: "activity.key_expire_type", Field: "key_expire_type", Label: "key有效期类型", Hidden: true}, + {Key: "activity.key_valid_day", Field: "key_valid_day", Label: "Api调用有效天数", Hidden: true}, + {Key: "activity.key_begin_time", Field: "key_begin_time", Label: "key码有效期开始时间-固定时间设置", Hidden: true}, + {Key: "activity.key_end_time", Field: "key_end_time", Label: "key码有效期结束时间-固定时间设置", Hidden: true}, + {Key: "activity.begin_time", Field: "begin_time", Label: "开始时间", Hidden: true}, + {Key: "activity.end_time", Field: "end_time", Label: "结束时间", Hidden: true}, + {Key: "activity.is_retry", Field: "is_retry", Label: "是否自动重试 1:是 2:否", Hidden: true}, + {Key: "activity.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "activity.update_time", Field: "update_time", Label: "修改时间", Hidden: true}, + {Key: "activity.discard_time", Field: "discard_time", Label: "作废时间", Hidden: true}, + {Key: "activity.delete_time", Field: "delete_time", Label: "删除时间", Hidden: true}, + {Key: "activity.send_rule", Field: "send_rule", Label: "发放规则", Hidden: true}, + {Key: "activity.auto_charge", Field: "auto_charge", Label: "是否充值到账 1 是 2 卡单", Hidden: true}, + {Key: "activity.stock", Field: "stock", Label: "活动库存(废弃)", Hidden: true}, + {Key: "activity.key_style", Field: "key_style", Label: "Key样式 1:串码 2:链接", Hidden: true}, + {Key: "activity.approval_trade_no", Field: "approval_trade_no", Label: "审批交易号(保留最新一次)", Hidden: true}, + {Key: "activity.key_begin", Field: "key_begin", Label: "开始几月份", Hidden: true}, + {Key: "activity.key_end", Field: "key_end", Label: "有效期截止月份", Hidden: true}, + {Key: "activity.key_unit", Field: "key_unit", Label: "0 无 1 天 2 周 3 月", Hidden: true}, + {Key: "activity.amount", Field: "amount", Label: "支付金额", Hidden: true}, + {Key: "activity.channels", Field: "channels", Label: "支付渠道", Hidden: true}, + {Key: "activity.custom_message", Field: "custom_message", Label: "custom_message", Hidden: true}, + {Key: "activity.theme_verify_id", Field: "theme_verify_id", Label: "验证模版id", Hidden: true}, + {Key: "activity.key_pay_button_text", Field: "key_pay_button_text", Label: "key码支付按钮文本", Hidden: true}, + {Key: "activity.goods_pay_button_text", Field: "goods_pay_button_text", Label: "商品支付按钮文本", Hidden: true}, + {Key: "activity.is_open_db_transaction", Field: "is_open_db_transaction", Label: "是否开启兑换接口事务", Hidden: true}, + }, + }, + { + Table: "goods_voucher_batch", Label: tableLabel("goods_voucher_batch"), + Fields: []fieldInfo{ + {Key: "goods_voucher_batch.id", Field: "id", Label: "id", Hidden: true}, + {Key: "goods_voucher_batch.goods_voucher_id", Field: "goods_voucher_id", Label: "立减金id", Hidden: true}, + {Key: "goods_voucher_batch.supplier_id", Field: "supplier_id", Label: "供应商id", Hidden: true}, + {Key: "goods_voucher_batch.voucher_subject_id", Field: "voucher_subject_id", Label: "立减金主体Id", Hidden: true}, + {Key: "goods_voucher_batch.channel_batch_no", Field: "channel_batch_no", Label: "渠道立减金批次号", Hidden: true}, + {Key: "goods_voucher_batch.temp_no", Field: "temp_no", Label: "券模板编号 支付宝类型才有", Hidden: true}, + {Key: "goods_voucher_batch.index", Field: "index", Label: "权重", Hidden: true}, + {Key: "goods_voucher_batch.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "goods_voucher_batch.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + }, + }, + { + Table: "goods_voucher_subject_config", Label: tableLabel("goods_voucher_subject_config"), + Fields: []fieldInfo{ + {Key: "goods_voucher_subject_config.id", Field: "id", Label: "id", Hidden: true}, + {Key: "goods_voucher_subject_config.name", Field: "name", Label: "主体名称", Hidden: true}, + {Key: "goods_voucher_subject_config.type", Field: "type", Label: "主体类型 1支付宝 2微信 3云闪付", Hidden: true}, + {Key: "goods_voucher_subject_config.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "goods_voucher_subject_config.config", Field: "config", Label: "配置", Hidden: true}, + }, + }, + { + Table: "merchant", Label: tableLabel("merchant"), + Fields: []fieldInfo{ + {Key: "merchant.id", Field: "id", Label: "主键", Hidden: true}, + {Key: "merchant.user_id", Field: "user_id", Label: "统一用户中心id", Hidden: true}, + {Key: "merchant.operation_user", Field: "operation_user", Label: "运营人员[{\"user_id\":1,\"name\":\"测试人员\"}]", Hidden: true}, + {Key: "merchant.merchant_no", Field: "merchant_no", Label: "商户编码", Hidden: true}, + {Key: "merchant.name", Field: "name", Label: "分销商名称", Hidden: true}, + {Key: "merchant.subject", Field: "subject", Label: "分销商主体", Hidden: true}, + {Key: "merchant.third_party", Field: "third_party", Label: "1 外部;2内部", Hidden: true}, + {Key: "merchant.status", Field: "status", Label: "状态 1:正常 2:冻结", Hidden: true}, + {Key: "merchant.balance", Field: "balance", Label: "分销商余额", Hidden: true}, + {Key: "merchant.total_consumption", Field: "total_consumption", Label: "累计消费", Hidden: true}, + {Key: "merchant.contact_name", Field: "contact_name", Label: "联系人名称", Hidden: true}, + {Key: "merchant.contact_phone", Field: "contact_phone", Label: "联系人电话", Hidden: true}, + {Key: "merchant.contact_email", Field: "contact_email", Label: "联系人Email,多个逗号(,)用逗号分开", Hidden: true}, + {Key: "merchant.merchant_key", Field: "merchant_key", Label: "客户key", Hidden: true}, + {Key: "merchant.config", Field: "config", Label: "客户配置", Hidden: true}, + {Key: "merchant.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "merchant.update_time", Field: "update_time", Label: "编辑时间", Hidden: true}, + {Key: "merchant.delete_time", Field: "delete_time", Label: "删除时间", Hidden: true}, + {Key: "merchant.is_open_db_transaction", Field: "is_open_db_transaction", Label: "是否开启兑换接口事务 1开启 2关闭", Hidden: true}, + }, + }, + { + Table: "order", Label: tableLabel("order"), + Fields: []fieldInfo{ + {Key: "order.id", Field: "id", Label: "订单id", Hidden: true}, + {Key: "order.order_number", Field: "order_number", Label: "订单号", Hidden: true}, + {Key: "order.key", Field: "key", Label: "KEY", Hidden: true}, + {Key: "order.creator", Field: "creator", Label: "创建者id", Hidden: true}, + {Key: "order.plan_id", Field: "plan_id", Label: "所属营销活动id", Hidden: true}, + {Key: "order.product_id", Field: "product_id", Label: "商品id", Hidden: true}, + {Key: "order.reseller_id", Field: "reseller_id", Label: "所属分销商ID", Hidden: true}, + {Key: "order.supplier_id", Field: "supplier_id", Label: "供应商Id", Hidden: true}, + {Key: "order.supplier_product_id", Field: "supplier_product_id", Label: "供应商产品id", Hidden: true}, + {Key: "order.type", Field: "type", Label: "类型 1 红包 2 直充/卡密 3 立减金", Hidden: true}, + {Key: "order.status", Field: "status", Label: "状态 1 待充值 2充值中 3 充值成功 4 充值失败 5 已过期 6 已作废 7 核销成功 8 核销失败 9已重置", Hidden: true}, + {Key: "order.contract_price", Field: "contract_price", Label: "合同单价", Hidden: true}, + {Key: "order.official_price", Field: "official_price", Label: "官方价", Hidden: true}, + {Key: "order.merchant_name", Field: "merchant_name", Label: "分销商名称", Hidden: true}, + {Key: "order.activity_name", Field: "activity_name", Label: "活动名称", Hidden: true}, + {Key: "order.goods_name", Field: "goods_name", Label: "商品名称", Hidden: true}, + {Key: "order.num", Field: "num", Label: "购买数量", Hidden: true}, + {Key: "order.pay_status", Field: "pay_status", Label: "支付状态", Hidden: true}, + {Key: "order.supplier_product_name", Field: "supplier_product_name", Label: "供应商产品名称", Hidden: true}, + {Key: "order.key_batch_id", Field: "key_batch_id", Label: "key批次", Hidden: true}, + {Key: "order.is_inner", Field: "is_inner", Label: "是否内部供应商订单", Hidden: true}, + {Key: "order.icon", Field: "icon", Label: "订单图片", Hidden: true}, + {Key: "order.cost_price", Field: "cost_price", Label: "cost_price", Hidden: true}, + {Key: "order.success_num", Field: "success_num", Label: "到账数量", Hidden: true}, + {Key: "order.is_reset", Field: "is_reset", Label: "是否重置 1:是", Hidden: true}, + {Key: "order.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + {Key: "order.is_retry", Field: "is_retry", Label: "是否重试", Hidden: true}, + {Key: "order.channel", Field: "channel", Label: "1 支付宝 2 微信 3 其他", Hidden: true}, + {Key: "order.is_store", Field: "is_store", Label: "是否退还库存", Hidden: true}, + {Key: "order.trace_id", Field: "trace_id", Label: "追踪id", Hidden: true}, + {Key: "order.supplier_name", Field: "supplier_name", Label: "supplier_name", Hidden: true}, + {Key: "order.pay_amount", Field: "pay_amount", Label: "支付金额", Hidden: true}, + {Key: "order.pay_time", Field: "pay_time", Label: "支付时间", Hidden: true}, + {Key: "order.coupon_id", Field: "coupon_id", Label: "优惠券Id", Hidden: true}, + {Key: "order.discount_amount", Field: "discount_amount", Label: "优惠金额", Hidden: true}, + {Key: "order.out_trade_no", Field: "out_trade_no", Label: "out_trade_no", Hidden: true}, + {Key: "order.next_retry_time", Field: "next_retry_time", Label: "下次重试时间", Hidden: true}, + {Key: "order.recharge_suc_time", Field: "recharge_suc_time", Label: "充值提单成功时间", Hidden: true}, + }, + }, + { + Table: "order_cash", Label: tableLabel("order_cash"), + Fields: []fieldInfo{ + {Key: "order_cash.id", Field: "id", Label: "id", Hidden: true}, + {Key: "order_cash.order_no", Field: "order_no", Label: "订单号", Hidden: true}, + {Key: "order_cash.trade_no", Field: "trade_no", Label: "交易号", Hidden: true}, + {Key: "order_cash.wechat_detail_id", Field: "wechat_detail_id", Label: "微信转账商家明细单号", Hidden: true}, + {Key: "order_cash.channel", Field: "channel", Label: "渠道 1 支付宝 2 微信 3 云闪付", Hidden: true}, + {Key: "order_cash.denomination", Field: "denomination", Label: "红包面额", Hidden: true}, + {Key: "order_cash.account", Field: "account", Label: "领取账号", Hidden: true}, + {Key: "order_cash.receive_name", Field: "receive_name", Label: "用户真实姓名", Hidden: true}, + {Key: "order_cash.app_id", Field: "app_id", Label: "转账app_id", Hidden: true}, + {Key: "order_cash.receive_status", Field: "receive_status", Label: "1:待领取 2:领取中 3:已领取 4:领取失败", Hidden: true}, + {Key: "order_cash.merchant_id", Field: "merchant_id", Label: "分销商id", Hidden: true}, + {Key: "order_cash.supplier_id", Field: "supplier_id", Label: "供应商Id", Hidden: true}, + {Key: "order_cash.activity_id", Field: "activity_id", Label: "活动ID", Hidden: true}, + {Key: "order_cash.goods_id", Field: "goods_id", Label: "商品Id", Hidden: true}, + {Key: "order_cash.user_id", Field: "user_id", Label: "创建人", Hidden: true}, + {Key: "order_cash.receive_time", Field: "receive_time", Label: "领取时间", Hidden: true}, + {Key: "order_cash.success_time", Field: "success_time", Label: "成功时间", Hidden: true}, + {Key: "order_cash.expire_time", Field: "expire_time", Label: "过期时间", Hidden: true}, + {Key: "order_cash.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order_cash.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + }, + }, + { + Table: "order_digit", Label: tableLabel("order_digit"), + Fields: []fieldInfo{ + {Key: "order_digit.id", Field: "id", Label: "id", Hidden: true}, + {Key: "order_digit.order_no", Field: "order_no", Label: "订单号", Hidden: true}, + {Key: "order_digit.card_no", Field: "card_no", Label: "卡号", Hidden: true}, + {Key: "order_digit.card_pass", Field: "card_pass", Label: "卡密", Hidden: true}, + {Key: "order_digit.account", Field: "account", Label: "充值账号", Hidden: true}, + {Key: "order_digit.goods_id", Field: "goods_id", Label: "商品id", Hidden: true}, + {Key: "order_digit.merchant_id", Field: "merchant_id", Label: "分销商id", Hidden: true}, + {Key: "order_digit.supplier_id", Field: "supplier_id", Label: "供应商Id", Hidden: true}, + {Key: "order_digit.activity_id", Field: "activity_id", Label: "活动id", Hidden: true}, + {Key: "order_digit.user_id", Field: "user_id", Label: "创建人", Hidden: true}, + {Key: "order_digit.success_time", Field: "success_time", Label: "到账时间", Hidden: true}, + {Key: "order_digit.supplier_product_no", Field: "supplier_product_no", Label: "供应商产品编码", Hidden: true}, + {Key: "order_digit.order_type", Field: "order_type", Label: "1 直充 2 卡密", Hidden: true}, + {Key: "order_digit.end_time", Field: "end_time", Label: "卡密有效期", Hidden: true}, + {Key: "order_digit.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order_digit.update_time", Field: "update_time", Label: "更新时间", Hidden: true}, + {Key: "order_digit.code", Field: "code", Label: "验证码", Hidden: true}, + {Key: "order_digit.sms_channel", Field: "sms_channel", Label: "短信渠道", Hidden: true}, + }, + }, + { + Table: "order_voucher", Label: tableLabel("order_voucher"), + Fields: []fieldInfo{ + {Key: "order_voucher.id", Field: "id", Label: "id", Hidden: true}, + {Key: "order_voucher.order_no", Field: "order_no", Label: "order_no", Hidden: true}, + {Key: "order_voucher.trade_no", Field: "trade_no", Label: "发券交易号", Hidden: true}, + {Key: "order_voucher.channel", Field: "channel", Label: "渠道 1 支付宝 2 微信 3 云闪付", Hidden: true}, + {Key: "order_voucher.channel_batch_no", Field: "channel_batch_no", Label: "渠道立减金批次号", Hidden: true}, + {Key: "order_voucher.account", Field: "account", Label: "发券账号", Hidden: true}, + {Key: "order_voucher.channel_voucher_id", Field: "channel_voucher_id", Label: "渠道立减金ID", Hidden: true}, + {Key: "order_voucher.app_id", Field: "app_id", Label: "领取应用id", Hidden: true}, + {Key: "order_voucher.status", Field: "status", Label: "状态 1 待充值 2充值中 3 充值成功 4 充值失败", Hidden: true}, + {Key: "order_voucher.receive_error", Field: "receive_error", Label: "发券失败原因", Hidden: true}, + {Key: "order_voucher.refund_amount", Field: "refund_amount", Label: "退回金额", Hidden: true}, + {Key: "order_voucher.merchant_id", Field: "merchant_id", Label: "分销商id", Hidden: true}, + {Key: "order_voucher.supplier_id", Field: "supplier_id", Label: "供应商id", Hidden: true}, + {Key: "order_voucher.activity_id", Field: "activity_id", Label: "活动ID", Hidden: true}, + {Key: "order_voucher.goods_id", Field: "goods_id", Label: "商品Id", Hidden: true}, + {Key: "order_voucher.user_id", Field: "user_id", Label: "创建人", Hidden: true}, + {Key: "order_voucher.grant_time", Field: "grant_time", Label: "立减金领取时间", Hidden: true}, + {Key: "order_voucher.usage_time", Field: "usage_time", Label: "核销时间", Hidden: true}, + {Key: "order_voucher.refund_time", Field: "refund_time", Label: "退款时间", Hidden: true}, + {Key: "order_voucher.expire_time", Field: "expire_time", Label: "未核销过期时间", Hidden: true}, + {Key: "order_voucher.create_time", Field: "create_time", Label: "创建时间", Hidden: true}, + {Key: "order_voucher.receive_mode", Field: "receive_mode", Label: "领取类型", Hidden: true}, + }, + }, } - return tableFields[field] } func tableLabel(t string) string { diff --git a/server/server b/server/server index 548018a..6e0a2d4 100755 Binary files a/server/server and b/server/server differ