package controller import ( "fmt" "github.com/gin-gonic/gin" "strconv" "trading-go/model" "trading-go/response" ) // CreateAppraise // @Tags 评论模块 // @Summary 创建评论 // @Produce application/json // @Param json body model.AppraiseJson true "评价信息" // @Success 200 {object} response.Response // @Router /appraise/create [post] func CreateAppraise(c *gin.Context) { var appraiseJson model.AppraiseJson err := c.ShouldBindJSON(&appraiseJson) if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } appraise := appraiseJson.Change() fmt.Println(appraise) err = appraise.Create() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } response.Success(c.Writer, "success", nil) } // DAppraise // @Tags 评论模块 // @Summary 删除评论 // @Produce application/json // @Param id path uint true "评论id" // @Success 200 {object} response.Response // @Router /appraise/delete/{id} [delete] func DAppraise(c *gin.Context) { var appraise model.Appraise ids := c.Param("id") id, err := strconv.Atoi(ids) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } appraise.Id = uint(id) err = appraise.Delete() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } response.Success(c.Writer, "success", nil) } // RAppraise // @Tags 评论模块 // @Summary 修改评论 // @Produce application/json // @Param json body model.Appraise true "评价信息" // @Success 200 {object} response.Response // @Router /appraise/revise [post] func RAppraise(c *gin.Context) { var appraise model.Appraise err := c.ShouldBindJSON(&appraise) if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } err = appraise.Revise() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } response.Success(c.Writer, "success", nil) } // GetUserAppraise // @Tags 评论模块 // @Summary 获取用户评价 // @Produce application/json // @Param id query uint true "用户id" // @Success 200 {object} response.Response // @Router /appraise/user [get] func GetUserAppraise(c *gin.Context) { var appraise model.Appraise ids := c.Query("id") id, err := strconv.Atoi(ids) if err != nil { response.Fail(c.Writer, err.Error(), 500) return } appraise.BuyerId = uint(id) appraises, err := appraise.GetOwn() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } response.Success(c.Writer, "success", appraises) } // GetAppraisePaged // @Tags 评论模块 // @Summary 分页获取评论信息 // @Produce application/json // @Param page path int true "页数" // @Param pageSize path int true "一页的大小" // @Success 200 {object} response.Response // @Router /appraise/{page}/{pageSize} [get] func GetAppraisePaged(c *gin.Context) { var appraise model.Appraise 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 := appraise.GetPaged(page, pageSize) if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } cnt, err := appraise.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) }