新增 TakeBusinessFields、WriteBusinessFields、SetByPath 与 GetByPath 等工具,支持按映射路径写入请求体与解析响应,并更新相关依赖。
114 lines
3.7 KiB
Go
114 lines
3.7 KiB
Go
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
|
|
}
|