version.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package v1
  2. import (
  3. "dsbqj-admin/app/service"
  4. "dsbqj-admin/pkg/app"
  5. "dsbqj-admin/pkg/e"
  6. "dsbqj-admin/pkg/serializer"
  7. "net/http"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func isOldVersion(v string) bool {
  11. // 比如 < 1.2.0 都算老版本
  12. return v <= "1.0.67"
  13. }
  14. func CheckVersion(c *gin.Context) {
  15. var appG = app.Gin{C: c}
  16. service := service.VersionCheckService{}
  17. err := c.ShouldBind(&service)
  18. if err != nil {
  19. if isOldVersion(service.Version) {
  20. service.Channel = "wx"
  21. } else {
  22. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  23. return
  24. }
  25. }
  26. if res, err := service.Check(); err != nil {
  27. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  28. } else {
  29. appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersion(res))
  30. }
  31. }
  32. func ServerVersion(c *gin.Context) {
  33. var appG = app.Gin{C: c}
  34. service := service.VersionServerService{}
  35. if err := c.ShouldBind(&service); err == nil {
  36. if res, err := service.Servers(); err != nil {
  37. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  38. } else {
  39. appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersions(res))
  40. }
  41. } else {
  42. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  43. }
  44. }
  45. func ReloadVersion(c *gin.Context) {
  46. var appG = app.Gin{C: c}
  47. service := service.VersionReloadService{}
  48. if err := c.ShouldBind(&service); err == nil {
  49. if err := service.Reload(); err != nil {
  50. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  51. } else {
  52. appG.Response(http.StatusOK, e.SUCCESS, nil)
  53. }
  54. } else {
  55. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  56. }
  57. }
  58. func ShowVersions(c *gin.Context) {
  59. var appG = app.Gin{C: c}
  60. service := service.VersionShowService{}
  61. if err := c.ShouldBind(&service); err == nil {
  62. if res, err := service.List(); err != nil {
  63. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  64. } else {
  65. appG.Response(http.StatusOK, e.SUCCESS, res)
  66. }
  67. } else {
  68. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  69. }
  70. }
  71. func VersionCreate(c *gin.Context) {
  72. var appG = app.Gin{C: c}
  73. service := service.VersionCreateService{}
  74. if err := c.ShouldBind(&service); err == nil {
  75. res := service.Create()
  76. appG.Response(http.StatusOK, e.SUCCESS, res)
  77. } else {
  78. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  79. }
  80. }
  81. func VersionEdit(c *gin.Context) {
  82. var appG = app.Gin{C: c}
  83. service := service.VersionEditService{}
  84. if err := c.ShouldBind(&service); err == nil {
  85. res := service.Edit()
  86. appG.Response(http.StatusOK, e.SUCCESS, res)
  87. } else {
  88. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  89. }
  90. }
  91. func VersionDelete(c *gin.Context) {
  92. var appG = app.Gin{C: c}
  93. service := service.VersionDeleteService{}
  94. key := appG.ValidKey()
  95. service.Id = key
  96. if err := service.Delete(); err == nil {
  97. appG.Response(http.StatusOK, e.SUCCESS, nil)
  98. } else {
  99. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  100. }
  101. }