relationcontroller.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "strconv"
  6. "trading-go/model"
  7. "trading-go/response"
  8. )
  9. // RCreat
  10. // @Tags 用户关系模块
  11. // @Summary 添加用户间的关系,关系类型有1:好友关系,2:黑名单关系
  12. // @Accept application/json
  13. // @Produce application/json
  14. // @Param json body model.RelationJson true "关系数据"
  15. // @Success 200 {object} response.Response
  16. // @Router /relation/create [post]
  17. func RCreat(c *gin.Context) {
  18. var relationJson model.RelationJson
  19. err := c.ShouldBindJSON(&relationJson)
  20. if err != nil {
  21. response.Fail(c.Writer, err.Error(), 500)
  22. return
  23. }
  24. relation := relationJson.Change()
  25. fmt.Println(relation)
  26. err = relation.Creat()
  27. if err != nil {
  28. response.Fail(c.Writer, err.Error(), 500)
  29. return
  30. }
  31. response.Success(c.Writer, "success", nil)
  32. }
  33. // GetFriend
  34. // @Tags 用户关系模块
  35. // @Summary 传入用户id获取用户好友列表
  36. // @Produce application/json
  37. // @Param uid query uint true "用户id"
  38. // @Success 200 {object} response.Response
  39. // @Router /relation/friend [get]
  40. func GetFriend(c *gin.Context) {
  41. var relation model.Relation
  42. ids := c.Query("uid")
  43. id, err := strconv.Atoi(ids)
  44. if err != nil {
  45. response.Fail(c.Writer, err.Error(), 500)
  46. return
  47. }
  48. friends, err := relation.Friend(id)
  49. if err != nil {
  50. response.Fail(c.Writer, err.Error(), 500)
  51. return
  52. }
  53. response.Success(c.Writer, "success", friends)
  54. }
  55. // GetBadRelation
  56. // @Tags 用户关系模块
  57. // @Summary 传入用户id获取用户黑名单列表
  58. // @Produce application/json
  59. // @Param uid query uint true "用户id"
  60. // @Success 200 {object} response.Response
  61. // @Router /relation/bad [get]
  62. func GetBadRelation(c *gin.Context) {
  63. var relation model.Relation
  64. ids := c.Query("uid")
  65. id, err := strconv.Atoi(ids)
  66. if err != nil {
  67. response.Fail(c.Writer, err.Error(), 500)
  68. return
  69. }
  70. relations, err := relation.BadRelation(id)
  71. if err != nil {
  72. response.Fail(c.Writer, err.Error(), 500)
  73. return
  74. }
  75. response.Success(c.Writer, "success", relations)
  76. }
  77. // DRelation
  78. // @Tags 用户关系模块
  79. // @Summary 根据关系id删除关系
  80. // @Produce application/json
  81. // @Param id path uint true "关系id"
  82. // @Success 200 {object} response.Response
  83. // @Router /relation/delete/{id} [delete]
  84. func DRelation(c *gin.Context) {
  85. var relation model.Relation
  86. ids := c.Param("id")
  87. id, err := strconv.Atoi(ids)
  88. if err != nil {
  89. response.Fail(c.Writer, err.Error(), 500)
  90. return
  91. }
  92. relation.Id = uint(id)
  93. err = relation.DRelation()
  94. if err != nil {
  95. response.Fail(c.Writer, err.Error(), 500)
  96. return
  97. }
  98. response.Success(c.Writer, "success", nil)
  99. }
  100. // GetRePaged
  101. // @Tags 用户关系模块
  102. // @Summary 分页用户关系
  103. // @Produce application/json
  104. // @Param page path int true "页数"
  105. // @Param pageSize path int true "一页的大小"
  106. // @Success 200 {object} response.Response
  107. // @Router /relation/{page}/{pageSize} [get]
  108. func GetRePaged(c *gin.Context) {
  109. var relation model.Relation
  110. p := c.Param("page")
  111. pS := c.Param("pageSize")
  112. page, err := strconv.Atoi(p)
  113. pageSize, err := strconv.Atoi(pS)
  114. if err != nil {
  115. response.Fail(c.Writer, err.Error(), 500)
  116. return
  117. }
  118. rsp, err := relation.GetPaged(page, pageSize)
  119. if err != nil {
  120. msg := err.Error()
  121. response.Fail(c.Writer, msg, 500)
  122. return
  123. }
  124. cnt, err := relation.GetCnt()
  125. if err != nil {
  126. msg := err.Error()
  127. response.Fail(c.Writer, msg, 500)
  128. return
  129. }
  130. if cnt > page*pageSize {
  131. rsp.HNext = true
  132. }
  133. response.Success(c.Writer, "success", rsp)
  134. }