1 Star 0 Fork 0

dabolau/lakaigo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
feedback.go 4.22 KB
一键复制 编辑 原始数据 按行查看 历史
dabolau 提交于 2020-10-09 15:41 . 添加反馈
package controller
import (
"fmt"
"net/http"
"strconv"
"gitee.com/dabolau/lakaigo/database"
"gitee.com/dabolau/lakaigo/model"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
// FeedbackHandler 资源信息
// https://gorm.io/zh_CN/docs/query.html
func FeedbackHandler(c *gin.Context) {
var feedbacks []model.Feedback
var text = ""
var obj *gorm.DB
var page = 1
var pageSize = 3
var totalSize int64 = 0
// 获取参数
text = c.Query("text")
pageSize, _ = strconv.Atoi(c.Query("size"))
page, _ = strconv.Atoi(c.Query("page"))
// 查询数据
obj = database.DB.Model(&feedbacks).Where("name LIKE ?", fmt.Sprintf("%%%v%%", text)).Order("ID DESC")
// 数据总量
obj.Count(&totalSize)
// 分页查询
obj.Offset((page - 1) * pageSize).Limit(pageSize).Find(&feedbacks)
// 查询成功
if len(feedbacks) > 0 {
c.JSON(http.StatusOK, gin.H{
"Datas": feedbacks,
"StatusCode": http.StatusOK,
"Message": "查询成功",
})
return
}
// 查询失败
c.JSON(http.StatusOK, gin.H{
"StatusCode": http.StatusNotFound,
"Message": "查询失败",
})
}
// FeedbackDetailHandler 资源详情
// https://gorm.io/zh_CN/docs/query.html
func FeedbackDetailHandler(c *gin.Context) {
var feedback model.Feedback
var id = ""
// 获取参数
id = c.Query("id")
// 参数错误
if id == "" {
c.JSON(http.StatusForbidden, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "参数错误",
})
return
}
// 查询数据
database.DB.First(&feedback, id)
// 查询成功
if feedback.ID > 0 {
c.JSON(http.StatusOK, gin.H{
"Data": feedback,
"StatusCode": http.StatusOK,
"Message": "查询成功",
})
return
}
// 查询失败
c.JSON(http.StatusOK, gin.H{
"StatusCode": http.StatusNotFound,
"Message": "查询失败",
})
}
// FeedbackAddHandler 资源添加
// https://gorm.io/zh_CN/docs/create.html
func FeedbackAddHandler(c *gin.Context) {
var requestFeedback model.Feedback
// 绑定前端数据
c.Bind(&requestFeedback)
// 参数错误
if requestFeedback.Name == "" {
c.JSON(http.StatusForbidden, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "参数错误",
})
return
}
// 添加数据
database.DB.Create(&requestFeedback)
// 添加成功
if requestFeedback.ID > 0 {
c.JSON(http.StatusOK, gin.H{
"ID": requestFeedback.ID,
"StatusCode": http.StatusOK,
"Message": "添加成功",
})
return
}
// 添加失败
c.JSON(http.StatusOK, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "添加失败",
})
}
// FeedbackChangeHandler 资源编辑
// https://gorm.io/zh_CN/docs/update.html
func FeedbackChangeHandler(c *gin.Context) {
var feedback model.Feedback
var requestFeedback model.Feedback
var id = ""
// 获取参数
id = c.Query("id")
// 绑定前端数据
c.Bind(&requestFeedback)
// 参数错误
if id == "" || requestFeedback.Name == "" {
c.JSON(http.StatusForbidden, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "参数错误",
})
return
}
// 查询数据
database.DB.First(&feedback, id)
// 编辑成功
if feedback.ID > 0 {
feedback.Name = requestFeedback.Name
feedback.Description = requestFeedback.Description
feedback.Email = requestFeedback.Email
// 保存数据
database.DB.Save(&feedback)
c.JSON(http.StatusOK, gin.H{
"ID": feedback.ID,
"StatusCode": http.StatusOK,
"Message": "编辑成功",
})
return
}
// 编辑失败
c.JSON(http.StatusOK, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "编辑失败",
})
}
// FeedbackDeleteHandler 资源删除
// https://gorm.io/zh_CN/docs/delete.html
func FeedbackDeleteHandler(c *gin.Context) {
var feedback model.Feedback
// 获取参数
id := c.Query("id")
// 参数错误
if id == "" {
c.JSON(http.StatusForbidden, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "参数错误",
})
return
}
// 数据查询
database.DB.First(&feedback, id)
// 删除成功
if feedback.ID > 0 {
database.DB.Delete(&feedback, id)
c.JSON(http.StatusOK, gin.H{
"ID": feedback.ID,
"StatusCode": http.StatusOK,
"Message": "删除成功",
})
return
}
// 删除失败
c.JSON(http.StatusOK, gin.H{
"StatusCode": http.StatusForbidden,
"Message": "删除失败",
})
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dabolau/lakaigo.git
git@gitee.com:dabolau/lakaigo.git
dabolau
lakaigo
lakaigo
4b3cbd6f3e69

搜索帮助