refactor: 1.修正api auth 2.帖子话题业务

This commit is contained in:
Blizzard
2026-02-07 15:52:54 +08:00
parent e4de80eecc
commit 9adad90490
17 changed files with 314 additions and 35 deletions
+152
View File
@@ -0,0 +1,152 @@
package plant
import (
"sundynix-go/global"
"sundynix-go/model/commom/request"
"sundynix-go/model/commom/response"
plantReq "sundynix-go/model/plant/request"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
type TopicApi struct{}
// AddTopic 发布话题
// @Tags 帖子话题
// @Summary 发布话题
// @Security BearerAuth
// @accept json
// @Produce application/json
// @Param data body plantReq.CreateTopic true "发布话题"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"发布成功"}"
// @Router /topic/add [post]
func (a *TopicApi) AddTopic(c *gin.Context) {
var req plantReq.CreateTopic
if err := c.ShouldBindJSON(&req); err != nil {
response.FailWithMsg("请求参数错误", c)
return
}
err := topicService.AddTopic(req)
if err != nil {
global.Logger.Error("添加话题失败", zap.Error(err))
response.FailWithMsg("添加话题失败", c)
return
}
response.OkWithMsg("添加话题成功", c)
}
// UpdateTopic
// @Tags 帖子话题
// @Summary 修改话题
// @Security BearerAuth
// @accept json
// @Produce application/json
// @Param data body plantReq.UpdateTopic true "修改话题"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"发布成功"}"
// @Router /topic/add [post]
func (a *TopicApi) UpdateTopic(c *gin.Context) {
var req plantReq.UpdateTopic
if err := c.ShouldBindJSON(&req); err != nil {
response.FailWithMsg("请求参数错误", c)
return
}
err := topicService.UpdateTopic(req)
if err != nil {
global.Logger.Error("修改话题失败", zap.Error(err))
response.FailWithMsg("修改话题失败", c)
return
}
response.OkWithMsg("修改话题成功", c)
}
// TopicPage 话题列表
// @Tags 帖子话题
// @Summary 话题分页
// @Security BearerAuth
// @accept json
// @Produce application/json
// @Param data body request.PageInfo true "分页获取话题列表"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /topic/page [post]
func (a *TopicApi) TopicPage(c *gin.Context) {
var req request.PageInfo
if err := c.ShouldBindQuery(&req); err != nil {
response.FailWithMsg("请求参数错误", c)
return
}
list, total, err := topicService.TopicPage(req)
if err != nil {
global.Logger.Error("修改话题失败", zap.Error(err))
response.FailWithMsg("修改话题失败", c)
return
}
response.OkWithData(response.PageResult{
List: list,
Total: total,
Page: req.Current,
PageSize: req.PageSize,
}, c)
}
// TopicList 话题列表
// @Tags 帖子话题
// @Summary 话题列表
// @Security BearerAuth
// @Produce application/json
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /topic/list [get]
func (a *TopicApi) TopicList(c *gin.Context) {
list, err := topicService.TopicList()
if err != nil {
global.Logger.Error("获取话题列表失败", zap.Error(err))
response.FailWithMsg("获取话题列表失败", c)
return
}
response.OkWithData(response.ListResult{
List: list,
}, c)
}
// TopicDetail 话题详情
// @Tags 帖子话题
// @Summary 话题详情
// @Security BearerAuth
// @Produce application/json
// @Param id query string true "id"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /topic/detail [get]
func (a *TopicApi) TopicDetail(c *gin.Context) {
id := c.Query("id")
topic, err := topicService.Detail(id)
if err != nil {
response.FailWithMsg("获取失败", c)
return
}
response.OkWithData(topic, c)
}
// DeleteTopic 删除植物
// @Tags 帖子话题
// @Summary 删除任务
// @Security BearerAuth
// @accept json
// @Produce application/json
// @Param data body request.IdsReq true "删除话题"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /topic/delete [post]
func (a *TopicApi) DeleteTopic(c *gin.Context) {
var req request.IdsReq
err := c.ShouldBindJSON(&req)
if err != nil {
response.FailWithMsg("请求参数错误", c)
return
}
err = topicService.DeleteTopics(req)
if err != nil {
global.Logger.Error("删除话题失败", zap.Error(err))
response.FailWithMsg("删除话题失败", c)
}
response.OkWithMsg("删除话题成功", c)
}