version.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package serializer
  2. import (
  3. "dsbqj-admin/model/mongo/version"
  4. "strings"
  5. )
  6. type Version struct {
  7. Platform string `json:"platform"`
  8. Version string `json:"version"`
  9. EnvVersion string `json:"envVersion"`
  10. Name string `json:"name"`
  11. CDN string `json:"cdn"`
  12. Url string `json:"url"`
  13. AbVer string `json:"abVer"`
  14. AbVerVersion string `json:"abVerVersion"`
  15. MD5 string `json:"md5"`
  16. MD5Version string `json:"md5Version"`
  17. }
  18. func BuildVersion(version *version.Version) *Version {
  19. var res *Version
  20. if version != nil {
  21. res = &Version{
  22. Platform: version.Platform,
  23. Version: version.Version,
  24. EnvVersion: normalizeEnvVersion(version.EnvVersion),
  25. Name: version.Name,
  26. CDN: version.CDN,
  27. Url: version.Url,
  28. AbVer: version.AbVer,
  29. AbVerVersion: version.AbVerVersion,
  30. MD5: version.MD5,
  31. MD5Version: version.MD5Version,
  32. }
  33. }
  34. return res
  35. }
  36. func normalizeEnvVersion(envVersion string) string {
  37. if strings.EqualFold(strings.TrimSpace(envVersion), "trial") {
  38. return "trial"
  39. }
  40. return "release"
  41. }
  42. type Versions map[string]interface{}
  43. func BuildVersions(versions []*version.Version) map[string]interface{} {
  44. var res Versions = make(map[string]interface{})
  45. var servers = make([]*Version, 0)
  46. for _, v := range versions {
  47. if v.Default {
  48. res[v.Version] = BuildVersion(v)
  49. }
  50. servers = append(servers, BuildVersion(v))
  51. }
  52. res["servers"] = servers
  53. return res
  54. }