relationcontroller.go 3.4 KB

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