package constant type BusinessType struct { BusinessNumber int // 业务场景编号 BusinessName string // 场景名称 ContextName string // 上下文名 ContextValue string // 上下文值 Desc string // 备注信息 } func BsById(i int) *BusinessType { if v, ok := bsMap()[i]; ok { return &BusinessType{ BusinessNumber: i, BusinessName: v, } } return &BusinessType{ BusinessNumber: unknownBsNumber, BusinessName: bsMap()[unknownBsNumber], } } const unknownBsNumber = iota // 需要注入各类场景map func bsMap() map[int]string { return mergeMaps(map[int]string{ unknownBsNumber: "未知", }, AssetBsMap, OrderBsMap, ProfitBsMap) } // 合并场景码 func mergeMaps(maps ...map[int]string) map[int]string { merged := make(map[int]string) for _, m := range maps { for k, v := range m { merged[k] = v } } return merged }