package model // VendorIDJD, VendorIDMTWM与VendorIDELM的定义和老系统是兼容的 const ( VendorTypeUnknown = 0 // 未知 VendorTypePurchase = 1 // 购物平台 VendorTypeDelivery = 2 // 快递平台 VendorTypePrinter = 3 // 网络打印机 VendorTypeOthers = 9 // 其它 VendorIDUnknown = -1 VendorIDPurchaseBegin = 0 VendorIDJD = 0 VendorIDMTWM = 1 VendorIDELM = 2 VendorIDEBAI = 3 VendorIDWSC = 11 // 微盟微商城 VendorIDPurchaseEnd = 11 VendorIDJX = 9 // 这是一个假的京西VendorID VendorIDDeliveryBegin = 101 VendorIDDada = 101 VendorIDMTPS = 102 VendorIDFengNiao = 103 VendorIDDeliveryEnd = 200 VendorIDPrinterBegin = 201 VendorIDFeiE = 201 // 飞鹅打印机 VendorIDXiaoWM = 202 // 外卖管家打印机 VendorIDYiLianYun = 203 // 易联云 VendorIDZhongWu = 204 // 中午云打印 VendorIDPrinterEnd = 300 VendorIDOthersBegin = 301 VendorIDWXMP = 301 // 微信公众号 VendorIDWXQRCode = 302 // 微信扫码 VendorIDWXMini = 303 // 微信小程序 VendorIDDDH5MicroApp = 311 // 钉钉H5微应用 VendorIDDDMobileQRCode = 312 // 钉钉移动接入应用(登录) VendorIDAutonavi = 321 // 高德导航 VendorIDQiNiuCloud = 323 // 七牛云 VendorIDShowAPI = 325 // 万维易源 ) type VendorInfo struct { Name string `json:"name"` OrgCodeName string `json:"orgCodeName"` Value1Name string `json:"value1Name,omitempty"` Value2Name string `json:"value2Name,omitempty"` Value3Name string `json:"value3Name,omitempty"` Value4Name string `json:"value4Name,omitempty"` Value5Name string `json:"value5Name,omitempty"` } var ( VendorNames = map[int]string{ VendorIDJD: "Jd", VendorIDMTWM: "Mtwm", VendorIDELM: "Elm", VendorIDEBAI: "Ebai", VendorIDWSC: "Wsc", VendorIDDada: "Dada", VendorIDMTPS: "Mtps", VendorIDFeiE: "Feie", VendorIDXiaoWM: "XiaoWM", VendorIDYiLianYun: "Yilianyun", VendorIDZhongWu: "ZhongWu", } VendorTypeName = map[int]string{ VendorTypeUnknown: "未知", VendorTypePurchase: "购物平台", VendorTypeDelivery: "快递平台", VendorTypeOthers: "其它", } VendorChineseNames = map[int]string{ VendorIDJD: "京东到家", VendorIDMTWM: "美团外卖", VendorIDELM: "饿了么", VendorIDEBAI: "饿百新零售", VendorIDWSC: "微盟微商城", VendorIDDada: "达达众包", VendorIDMTPS: "美团配送", VendorIDFeiE: "飞鹅", VendorIDXiaoWM: "外卖管家", VendorIDYiLianYun: "易联云", VendorIDZhongWu: "中午云", VendorIDWXMP: "微信公众号", VendorIDWXQRCode: "微信扫码", VendorIDWXMini: "微信小程序", VendorIDDDH5MicroApp: "钉钉H5微应用", VendorIDDDMobileQRCode: "钉钉移动接入应用(登录)", VendorIDAutonavi: "高德导航", VendorIDQiNiuCloud: "七牛云", VendorIDShowAPI: "万维易源", } VendorInfoMap = map[int]*VendorInfo{ VendorIDJD: &VendorInfo{ Name: "京东到家", OrgCodeName: "商户代码", Value1Name: "AppKey", Value2Name: "AppSecret", Value3Name: "Token", Value4Name: "管理后台Cookie", }, VendorIDMTWM: &VendorInfo{ Name: "美团外卖", OrgCodeName: "AppID", Value1Name: "Secret", Value2Name: "回调URL", }, VendorIDEBAI: &VendorInfo{ Name: "饿百联盟", OrgCodeName: "商户代码", Value1Name: "Source", Value2Name: "Secret", Value3Name: "管理后台Cookie", }, // VendorIDDada: &VendorInfo{ // Name: "达达快递", // OrgCodeName: "商户ID", // Value1Name: "app_key", // Value2Name: "app_secret", // }, // VendorIDMTPS: &VendorInfo{ // Name: "美团配送", // OrgCodeName: "自编码", // Value1Name: "Appkey", // Value2Name: "Secret", // }, // VendorIDFeiE: &VendorInfo{ // Name: "飞鹅", // OrgCodeName: "User", // Value1Name: "Key", // }, // VendorIDXiaoWM: &VendorInfo{ // Name: "外卖管家", // OrgCodeName: "AppID", // Value1Name: "AppKey", // }, // VendorIDYiLianYun: &VendorInfo{ // Name: "易联云", // OrgCodeName: "ClientID", // Value1Name: "ClientSecret", // }, } ) func GetVendorMask(vendorIDs ...int) (vendorMask int) { for _, vendorID := range vendorIDs { vendorMask |= 1 << uint(vendorID) } return vendorMask } func GetVendorType(vendorID int) (vendorType int) { if vendorID >= VendorIDPurchaseBegin && VendorIDPurchaseBegin <= VendorIDPurchaseEnd { return VendorTypePurchase } else if vendorID >= VendorIDPurchaseBegin && VendorIDPurchaseBegin <= VendorIDPurchaseEnd { return VendorTypeDelivery } else if vendorID >= VendorIDOthersBegin { return VendorTypeOthers } return VendorTypeUnknown } type AppKeyConfig struct { ModelIDCULD VendorID int `json:"vendorID"` OrgCode string `orm:"size(32)" json:"orgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空 Name string `orm:"size(32)" json:"name"` Value1 string `orm:"size(1024)" json:"value1"` Value2 string `orm:"size(1024)" json:"value2"` Value3 string `orm:"size(1024)" json:"value3"` Value4 string `orm:"size(1024)" json:"value4"` Value5 string `orm:"size(1024)" json:"value5"` } func (a *AppKeyConfig) TableUnique() [][]string { return [][]string{ []string{"VendorID", "OrgCode", "DeletedAt"}, } }