feat: post api
This commit is contained in:
@@ -4,8 +4,10 @@ import "sundynix-go/service"
|
||||
|
||||
type ApiGroup struct {
|
||||
MyPlantApi
|
||||
PostApi
|
||||
}
|
||||
|
||||
var (
|
||||
plantService = service.GroupApp.PlantServiceGroup.MyPlantService
|
||||
postService = service.GroupApp.PlantServiceGroup.PostService
|
||||
)
|
||||
|
||||
@@ -27,6 +27,7 @@ func (a *MyPlantApi) AddPlant(c *gin.Context) {
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("请求参数错误", c)
|
||||
return
|
||||
}
|
||||
userId := auth.GetUserId(c)
|
||||
err = plantService.AddPlant(req, userId)
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
package plant
|
||||
|
||||
import (
|
||||
"sundynix-go/global"
|
||||
"sundynix-go/model/commom/response"
|
||||
plantReq "sundynix-go/model/plant/request"
|
||||
"sundynix-go/utils/auth"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type PostApi struct{}
|
||||
|
||||
// PublishPost 发布帖子
|
||||
// @Tags 帖子
|
||||
// @Summary 发布帖子
|
||||
// @Security ApiKeyAuth
|
||||
// @accept json
|
||||
// @Produce application/json
|
||||
// @Param data body plantReq.CreatePost true "发布帖子"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"发布成功"}"
|
||||
// @Router /post/publish [post]
|
||||
func (a *PostApi) PublishPost(c *gin.Context) {
|
||||
var req plantReq.CreatePost
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("请求参数错误", c)
|
||||
return
|
||||
}
|
||||
userId := auth.GetUserId(c)
|
||||
err = postService.PublishPost(req, userId)
|
||||
if err != nil {
|
||||
global.Logger.Error("发布帖子失败", zap.Error(err))
|
||||
response.FailWithMsg("发布失败", c)
|
||||
return
|
||||
}
|
||||
response.OkWithMsg("发布成功", c)
|
||||
|
||||
}
|
||||
|
||||
// PostPage 帖子列表
|
||||
// @Tags 帖子
|
||||
// @Summary 帖子列表
|
||||
// @Security ApiKeyAuth
|
||||
// @accept json
|
||||
// @Produce application/json
|
||||
// @Param data body plantReq.PostPage true "分页获取帖子列表"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
||||
// @Router /post/page [post]
|
||||
func (a *PostApi) PostPage(c *gin.Context) {
|
||||
var req plantReq.PostPage
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("请求参数错误", c)
|
||||
return
|
||||
}
|
||||
userId := auth.GetUserId(c)
|
||||
posts, total, err := postService.PostPage(req, userId)
|
||||
if err != nil {
|
||||
global.Logger.Error("获取帖子列表失败", zap.Error(err))
|
||||
response.FailWithMsg("获取帖子列表失败", c)
|
||||
return
|
||||
}
|
||||
response.OkWithData(response.PageResult{
|
||||
List: posts,
|
||||
Total: total,
|
||||
Page: req.Current,
|
||||
PageSize: req.PageSize,
|
||||
}, c)
|
||||
}
|
||||
|
||||
// LikePost 点赞帖子
|
||||
// @Tags 帖子
|
||||
// @Summary 点赞帖子
|
||||
// @Security ApiKeyAuth
|
||||
// @Produce application/json
|
||||
// @Param id query string true "帖子id"
|
||||
// @Param type query string true "点赞类型 1 点赞 2 取消点赞"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"点赞成功"}"
|
||||
// @Router /post/like [get]
|
||||
func (a *PostApi) LikePost(c *gin.Context) {
|
||||
postId := c.Query("id")
|
||||
class := c.Query("type")
|
||||
userId := auth.GetUserId(c)
|
||||
err := postService.LikePost(userId, postId, class)
|
||||
if err != nil {
|
||||
global.Logger.Error("操作失败", zap.Error(err))
|
||||
response.FailWithMsg("操作失败", c)
|
||||
return
|
||||
}
|
||||
response.OkWithMsg("操作成功", c)
|
||||
}
|
||||
|
||||
// CommentPost 评论帖子
|
||||
// @Tags 帖子
|
||||
// @Summary 评论帖子
|
||||
// @Security ApiKeyAuth
|
||||
// @accept json
|
||||
// @Produce application/json
|
||||
// @Param data body plantReq.CreateComment true "评论帖子"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"评论成功"}"
|
||||
// @Router /post/comment [post]
|
||||
func (a *PostApi) CommentPost(c *gin.Context) {
|
||||
var req plantReq.CreateComment
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("请求参数错误", c)
|
||||
return
|
||||
}
|
||||
userId := auth.GetUserId(c)
|
||||
err = postService.CommentPost(req, userId)
|
||||
if err != nil {
|
||||
global.Logger.Error("评论失败", zap.Error(err))
|
||||
response.FailWithMsg("评论失败", c)
|
||||
return
|
||||
}
|
||||
response.OkWithMsg("评论成功", c)
|
||||
}
|
||||
Reference in New Issue
Block a user