package controller import ( "fmt" "github.com/gin-gonic/gin" "strconv" "trading-go/model" "trading-go/response" ) // RCreat // @Tags 用户关系模块 // @Summary 添加用户间的关系,关系类型有1:好友关系,2:黑名单关系 // @Accept application/json // @Produce application/json // @Param json body model.RelationJson true "关系数据" // @Success 200 {object} response.Response // @Router /relation/create [post] func RCreat(c *gin.Context) { var relationJson model.RelationJson err := c.ShouldBindJSON(&relationJson) fmt.Println(relationJson) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } relation := relationJson.Change() fmt.Println(relation) err = relation.Creat() if err != nil { response.Fail(c.Writer, err.Error(), 500) return } response.Success(c.Writer, "success", nil) } // GetFriend // @Tags 用户关系模块 // @Summary 传入用户id获取用户好友列表 // @Produce application/json // @Param uid query uint true "用户id" // @Success 200 {object} response.Response // @Router /relation/friend [get] func GetFriend(c *gin.Context) { var relation model.Relation ids := c.Query("uid") id, err := strconv.Atoi(ids) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } friends, err := relation.Friend(id) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } response.Success(c.Writer, "success", gin.H{"fUid": friends}) } // GetBadRelation // @Tags 用户关系模块 // @Summary 传入用户id获取用户黑名单列表 // @Produce application/json // @Param uid query uint true "用户id" // @Success 200 {object} response.Response // @Router /relation/bad [get] func GetBadRelation(c *gin.Context) { var relation model.Relation ids := c.Query("uid") id, err := strconv.Atoi(ids) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } relations, err := relation.BadRelation(id) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } response.Success(c.Writer, "success", relations) } // DRelation // @Tags 用户关系模块 // @Summary 根据关系id删除关系 // @Produce application/json // @Param id path uint true "关系id" // @Success 200 {object} response.Response // @Router /relation/delete/{id} [delete] func DRelation(c *gin.Context) { var relation model.Relation ids := c.Param("id") id, err := strconv.Atoi(ids) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } relation.Id = uint(id) err = relation.DRelation() if err != nil { response.Fail(c.Writer, err.Error(), 500) return } response.Success(c.Writer, "success", nil) } // GetRePaged // @Tags 用户关系模块 // @Summary 分页用户关系 // @Produce application/json // @Param page path int true "页数" // @Param pageSize path int true "一页的大小" // @Success 200 {object} response.Response // @Router /relation/{page}/{pageSize} [get] func GetRePaged(c *gin.Context) { var relation model.Relation p := c.Param("page") pS := c.Param("pageSize") page, err := strconv.Atoi(p) pageSize, err := strconv.Atoi(pS) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } rsp, err := relation.GetPaged(page, pageSize) if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } cnt, err := relation.GetCnt() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } if cnt > page*pageSize { rsp.HNext = true } response.Success(c.Writer, "success", rsp) }