bs.go 895 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package constant
  2. type BusinessType struct {
  3. BusinessNumber int // 业务场景编号
  4. BusinessName string // 场景名称
  5. ContextName string // 上下文名
  6. ContextValue string // 上下文值
  7. Desc string // 备注信息
  8. }
  9. func BsById(i int) *BusinessType {
  10. if v, ok := bsMap()[i]; ok {
  11. return &BusinessType{
  12. BusinessNumber: i,
  13. BusinessName: v,
  14. }
  15. }
  16. return &BusinessType{
  17. BusinessNumber: unknownBsNumber,
  18. BusinessName: bsMap()[unknownBsNumber],
  19. }
  20. }
  21. const unknownBsNumber = iota
  22. // 需要注入各类场景map
  23. func bsMap() map[int]string {
  24. return mergeMaps(map[int]string{
  25. unknownBsNumber: "未知",
  26. }, AssetBsMap, OrderBsMap, ProfitBsMap)
  27. }
  28. // 合并场景码
  29. func mergeMaps(maps ...map[int]string) map[int]string {
  30. merged := make(map[int]string)
  31. for _, m := range maps {
  32. for k, v := range m {
  33. merged[k] = v
  34. }
  35. }
  36. return merged
  37. }