添加反馈接口

This commit is contained in:
JACKYMYPERSON
2025-09-29 11:36:17 +08:00
parent 5d9717da44
commit df642deb05
2 changed files with 51 additions and 6 deletions

View File

@@ -0,0 +1,43 @@
package feedback
import (
"github.com/gin-gonic/gin"
"time"
"toutoukan/init/databaseInit"
)
type Feedback struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
UserID string `json:"user_id"`
FeedBackType int8 `json:"feed_back_type"`
FeedbackContent string `json:"feedback_content"`
FeedbackStatus int8 `gorm:"default:0" json:"feedback_status,omitempty"` // 默认为 0待处理前端无需传入
HandlerID string `gorm:"default:''" json:"handler_id,omitempty"` // 默认为空,前端无需传入
CreateTime time.Time `gorm:"autoCreateTime" json:"create_time,omitempty"` // 自动生成创建时间,前端无需传入
HandleTime time.Time `gorm:"default:null" json:"handle_time,omitempty"` // 默认为空,处理时赋值,前端无需传入
HandleRemark string `gorm:"default:''" json:"handle_remark,omitempty"` // 默认为空,处理时赋值,前端无需传入
IsDelete int8 `gorm:"default:0" json:"is_delete,omitempty"` // 默认为 0未删除前端无需传入
}
// UpFeedback 新增用户反馈
func UpFeedback(c *gin.Context) {
var feedback Feedback
// 绑定请求体中的 JSON 数据到 feedback 结构体
if err := c.ShouldBindJSON(&feedback); err != nil {
c.JSON(400, gin.H{"error": err.Error()})
return
}
// 使用 GORM 连接池进行数据库操作
result := databaseInit.UserDB.Create(&feedback)
if result.Error != nil {
c.JSON(500, gin.H{"error": result.Error.Error()})
return
}
// 返回成功响应,包含新增反馈的 ID
c.JSON(200, gin.H{
"message": "反馈提交成功",
"data": feedback,
})
}

View File

@@ -5,6 +5,7 @@ import (
"toutoukan/controllers/article/getArticleNum" "toutoukan/controllers/article/getArticleNum"
"toutoukan/controllers/comments/getcomments" "toutoukan/controllers/comments/getcomments"
"toutoukan/controllers/comments/publishComments" "toutoukan/controllers/comments/publishComments"
"toutoukan/controllers/feedback"
"toutoukan/controllers/file" "toutoukan/controllers/file"
"toutoukan/controllers/goods" "toutoukan/controllers/goods"
"toutoukan/controllers/kills" "toutoukan/controllers/kills"
@@ -20,14 +21,15 @@ import (
func SetupRouter() *gin.Engine { func SetupRouter() *gin.Engine {
r := gin.Default() r := gin.Default()
apiGroup := r.Group("/user") userGroup := r.Group("/user")
//apiGroup.Use(hystrix.CircuitBreakerMiddleware("user_api")) //apiGroup.Use(hystrix.CircuitBreakerMiddleware("user_api"))
{ {
apiGroup.POST("/login", user.UserLogin) userGroup.POST("/login", user.UserLogin)
apiGroup.POST("/kill", ratelimit.RateLimitMiddleware(), kills.Userkill) userGroup.POST("/kill", ratelimit.RateLimitMiddleware(), kills.Userkill)
apiGroup.POST("/getscore", user.GetScore) userGroup.POST("/getscore", user.GetScore)
apiGroup.POST("/getInfo", user.GetUserInfo) userGroup.POST("/getInfo", user.GetUserInfo)
apiGroup.POST("/change", setting.ChangeUserSetting) userGroup.POST("/change", setting.ChangeUserSetting)
userGroup.POST("/feedback", feedback.UpFeedback)
} }
//r.GET("/socket", jwt.JWTAuthMiddleware(), func(c *gin.Context) { //r.GET("/socket", jwt.JWTAuthMiddleware(), func(c *gin.Context) {