peer.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package admin
  2. import (
  3. "Gwen/global"
  4. "Gwen/http/request/admin"
  5. "Gwen/http/response"
  6. "Gwen/service"
  7. "github.com/gin-gonic/gin"
  8. "strconv"
  9. )
  10. type Peer struct {
  11. }
  12. // Detail 机器
  13. // @Tags 机器
  14. // @Summary 机器详情
  15. // @Description 机器详情
  16. // @Accept json
  17. // @Produce json
  18. // @Param id path int true "ID"
  19. // @Success 200 {object} response.Response{data=model.Peer}
  20. // @Failure 500 {object} response.Response
  21. // @Router /admin/peer/detail/{id} [get]
  22. // @Security token
  23. func (ct *Peer) Detail(c *gin.Context) {
  24. id := c.Param("id")
  25. iid, _ := strconv.Atoi(id)
  26. u := service.AllService.PeerService.InfoByRowId(uint(iid))
  27. if u.RowId > 0 {
  28. response.Success(c, u)
  29. return
  30. }
  31. response.Fail(c, 101, "信息不存在")
  32. return
  33. }
  34. // Create 创建机器
  35. // @Tags 机器
  36. // @Summary 创建机器
  37. // @Description 创建机器
  38. // @Accept json
  39. // @Produce json
  40. // @Param body body admin.PeerForm true "机器信息"
  41. // @Success 200 {object} response.Response{data=model.Peer}
  42. // @Failure 500 {object} response.Response
  43. // @Router /admin/peer/create [post]
  44. // @Security token
  45. func (ct *Peer) Create(c *gin.Context) {
  46. f := &admin.PeerForm{}
  47. if err := c.ShouldBindJSON(f); err != nil {
  48. response.Fail(c, 101, "参数错误")
  49. return
  50. }
  51. errList := global.Validator.ValidStruct(f)
  52. if len(errList) > 0 {
  53. response.Fail(c, 101, errList[0])
  54. return
  55. }
  56. u := f.ToPeer()
  57. err := service.AllService.PeerService.Create(u)
  58. if err != nil {
  59. response.Fail(c, 101, "创建失败")
  60. return
  61. }
  62. response.Success(c, u)
  63. }
  64. // List 列表
  65. // @Tags 机器
  66. // @Summary 机器列表
  67. // @Description 机器列表
  68. // @Accept json
  69. // @Produce json
  70. // @Param page query int false "页码"
  71. // @Param page_size query int false "页大小"
  72. // @Success 200 {object} response.Response{data=model.PeerList}
  73. // @Failure 500 {object} response.Response
  74. // @Router /admin/peer/list [get]
  75. // @Security token
  76. func (ct *Peer) List(c *gin.Context) {
  77. query := &admin.PageQuery{}
  78. if err := c.ShouldBindQuery(query); err != nil {
  79. response.Fail(c, 101, "参数错误")
  80. return
  81. }
  82. res := service.AllService.PeerService.List(query.Page, query.PageSize, nil)
  83. response.Success(c, res)
  84. }
  85. // Update 编辑
  86. // @Tags 机器
  87. // @Summary 机器编辑
  88. // @Description 机器编辑
  89. // @Accept json
  90. // @Produce json
  91. // @Param body body admin.PeerForm true "机器信息"
  92. // @Success 200 {object} response.Response{data=model.Peer}
  93. // @Failure 500 {object} response.Response
  94. // @Router /admin/peer/update [post]
  95. // @Security token
  96. func (ct *Peer) Update(c *gin.Context) {
  97. f := &admin.PeerForm{}
  98. if err := c.ShouldBindJSON(f); err != nil {
  99. response.Fail(c, 101, "参数错误")
  100. return
  101. }
  102. if f.RowId == 0 {
  103. response.Fail(c, 101, "参数错误")
  104. return
  105. }
  106. errList := global.Validator.ValidStruct(f)
  107. if len(errList) > 0 {
  108. response.Fail(c, 101, errList[0])
  109. return
  110. }
  111. u := f.ToPeer()
  112. err := service.AllService.PeerService.Update(u)
  113. if err != nil {
  114. response.Fail(c, 101, "更新失败")
  115. return
  116. }
  117. response.Success(c, nil)
  118. }
  119. // Delete 删除
  120. // @Tags 机器
  121. // @Summary 机器删除
  122. // @Description 机器删除
  123. // @Accept json
  124. // @Produce json
  125. // @Param body body admin.PeerForm true "机器信息"
  126. // @Success 200 {object} response.Response
  127. // @Failure 500 {object} response.Response
  128. // @Router /admin/peer/delete [post]
  129. // @Security token
  130. func (ct *Peer) Delete(c *gin.Context) {
  131. f := &admin.PeerForm{}
  132. if err := c.ShouldBindJSON(f); err != nil {
  133. response.Fail(c, 101, "系统错误")
  134. return
  135. }
  136. id := f.RowId
  137. errList := global.Validator.ValidVar(id, "required,gt=0")
  138. if len(errList) > 0 {
  139. response.Fail(c, 101, errList[0])
  140. return
  141. }
  142. u := service.AllService.PeerService.InfoByRowId(f.RowId)
  143. if u.RowId > 0 {
  144. err := service.AllService.PeerService.Delete(u)
  145. if err == nil {
  146. response.Success(c, nil)
  147. return
  148. }
  149. response.Fail(c, 101, err.Error())
  150. return
  151. }
  152. response.Fail(c, 101, "信息不存在")
  153. }