109 lines
3.4 KiB
Go
109 lines
3.4 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
|
|
SupplierAzure = 7
|
|
SupplierAWS = 8
|
|
SupplierGoogle = 9
|
|
SupplierDeepSeek = 10
|
|
SupplierMoonshot = 11
|
|
SupplierZhipu = 12
|
|
SupplierBaichuan = 13
|
|
SupplierMinimax = 14
|
|
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 OpenAI",
|
|
SupplierAWS: "AWS Bedrock",
|
|
SupplierGoogle: "Google Cloud",
|
|
SupplierDeepSeek: "DeepSeek",
|
|
SupplierMoonshot: "Moonshot",
|
|
SupplierZhipu: "智谱AI",
|
|
SupplierBaichuan: "百川智能",
|
|
SupplierMinimax: "MiniMax",
|
|
SupplierXunfei: "科大讯飞",
|
|
SupplierOthers: "其他",
|
|
}
|
|
|
|
// 供应商展示顺序
|
|
var supplierOrder = []int{
|
|
SupplierAliyun, SupplierVolcengine, SupplierTencent, SupplierHuawei, SupplierBaidu,
|
|
SupplierOpenAI, SupplierAzure, SupplierAWS, SupplierGoogle, 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
|
|
}
|