package model import ( "model-gateway/consts/public" "github.com/gogf/gf/v2/util/gconv" ) // 供应商编码常量 const ( SupplierAliyun = 1 // 阿里云百炼 SupplierVolcengine = 2 // 火山引擎 SupplierTencent = 3 // 腾讯云 SupplierHuawei = 4 // 华为云 SupplierBaidu = 5 // 百度智能云 SupplierOpenAI = 6 // OpenAI SupplierAzure = 7 // 微软 Azure SupplierAWS = 8 // 亚马逊 AWS SupplierGoogle = 9 // Google SupplierDeepSeek = 10 // DeepSeek SupplierMoonshot = 11 // Moonshot(月之暗面) SupplierZhipu = 12 // 智谱AI SupplierBaichuan = 13 // 百川智能 SupplierMinimax = 14 // MiniMax SupplierXunfei = 15 // 科大讯飞 SupplierOthers = 16 // 其他 ) // SupplierType 供应商编码类型 type SupplierType *int8 // SupplierItem 供应商项 type SupplierItem struct { Code SupplierType `json:"code"` Desc string `json:"desc"` } // 名称映射【唯一文案维护】 var supplierNameMap = map[int]string{ SupplierAliyun: "阿里云百炼", SupplierVolcengine: "火山引擎", SupplierTencent: "腾讯云", SupplierHuawei: "华为云", SupplierBaidu: "百度智能云", SupplierOpenAI: "OpenAI", SupplierAzure: "微软 Azure", SupplierAWS: "亚马逊 AWS", SupplierGoogle: "Google", SupplierDeepSeek: "DeepSeek", SupplierMoonshot: "Moonshot(月之暗面)", SupplierZhipu: "智谱AI", SupplierBaichuan: "百川智能", SupplierMinimax: "MiniMax", SupplierXunfei: "科大讯飞", SupplierOthers: "其他", } // 供应商展示顺序 var supplierOrder = []int{ // 国内云厂商 SupplierAliyun, SupplierVolcengine, SupplierTencent, SupplierHuawei, SupplierBaidu, // 海外头部 SupplierOpenAI, SupplierGoogle, SupplierAWS, SupplierAzure, // 国内AI厂商 SupplierDeepSeek, SupplierMoonshot, SupplierZhipu, SupplierBaichuan, SupplierMinimax, SupplierXunfei, // 兜底 SupplierOthers, } // 全局供应商实例 var ( SupplierItemAliyun = newSupplierItem(gconv.PtrInt8(SupplierAliyun)) SupplierItemVolcengine = newSupplierItem(gconv.PtrInt8(SupplierVolcengine)) SupplierItemTencent = newSupplierItem(gconv.PtrInt8(SupplierTencent)) SupplierItemHuawei = newSupplierItem(gconv.PtrInt8(SupplierHuawei)) SupplierItemBaidu = newSupplierItem(gconv.PtrInt8(SupplierBaidu)) SupplierItemOpenAI = newSupplierItem(gconv.PtrInt8(SupplierOpenAI)) SupplierItemAzure = newSupplierItem(gconv.PtrInt8(SupplierAzure)) SupplierItemAWS = newSupplierItem(gconv.PtrInt8(SupplierAWS)) SupplierItemGoogle = newSupplierItem(gconv.PtrInt8(SupplierGoogle)) SupplierItemDeepSeek = newSupplierItem(gconv.PtrInt8(SupplierDeepSeek)) SupplierItemMoonshot = newSupplierItem(gconv.PtrInt8(SupplierMoonshot)) SupplierItemZhipu = newSupplierItem(gconv.PtrInt8(SupplierZhipu)) SupplierItemBaichuan = newSupplierItem(gconv.PtrInt8(SupplierBaichuan)) SupplierItemMinimax = newSupplierItem(gconv.PtrInt8(SupplierMinimax)) SupplierItemXunfei = newSupplierItem(gconv.PtrInt8(SupplierXunfei)) SupplierItemOthers = newSupplierItem(gconv.PtrInt8(SupplierOthers)) ) func newSupplierItem(code SupplierType) SupplierItem { val := int(*code) return SupplierItem{ Code: code, Desc: supplierNameMap[val], } } // GetSupplierDescByCode 根据编码获取供应商名称 func GetSupplierDescByCode(code int) string { return supplierNameMap[code] } // GetSupplierOptionList 获取供应商下拉列表 func GetSupplierOptionList() []*public.Option { var list []*public.Option for _, code := range supplierOrder { list = append(list, &public.Option{ Value: code, Label: supplierNameMap[code], }) } return list }