kefu/controller/cms.go

193 lines
4.0 KiB
Go
Raw Permalink Normal View History

2024-12-10 02:50:12 +00:00
package controller
import (
"github.com/gin-gonic/gin"
"kefu/models"
"kefu/types"
"strconv"
)
type CmsCateForm struct {
Id uint `form:"id" json:"id" uri:"id" xml:"id"`
CateName string `form:"cate_name" json:"cate_name" uri:"cate_name" xml:"cate_name" binding:"required"`
}
//分类列表(暂不分页)
func GetCmsCate(c *gin.Context) {
list := models.FindCmsCate(1, 1000, "")
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
"result": list,
})
}
//编辑CMS分类
func PostCmsCate(c *gin.Context) {
var form CmsCateForm
err := c.Bind(&form)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": types.ApiCode.GetMessage(types.ApiCode.INVALID),
"result": err.Error(),
})
return
}
modelCms := &models.CmsCate{
Id: form.Id,
CatName: form.CateName,
}
//添加分类
if form.Id == 0 {
err := modelCms.AddCmsCate()
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
} else {
//修改分类
err := modelCms.SaveCmsCate("id = ?", form.Id)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
}
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
})
}
type CmsNewsForm struct {
Id uint `form:"id" json:"id" uri:"id" xml:"id"`
CatId string `form:"cat_id" json:"cat_id" uri:"cat_id" xml:"cat_id" binding:"required"`
Content string `form:"content" json:"content" uri:"content" xml:"content" binding:"required"`
Title string `form:"title" json:"title" uri:"title" xml:"title" binding:"required"`
}
//CMS内容列表
func GetCmsNews(c *gin.Context) {
//分页处理
page, _ := strconv.Atoi(c.Query("page"))
if page <= 0 {
page = 1
}
pagesize, _ := strconv.Atoi(c.Query("pagesize"))
if pagesize <= 0 || pagesize > 50 {
pagesize = 10
}
//判断分类ID条件
catId := c.Query("cat_id")
query := "1=1 "
args := make([]interface{}, 0)
if catId != "" {
query += "and cat_id = ? "
args = append(args, catId)
}
//分页查询
count := models.CountCmsNews(query, args...)
list := models.FindCmsNews(page, pagesize, query, args...)
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
"result": gin.H{
"list": list,
"count": count,
"pagesize": pagesize,
"page": page,
},
})
}
//编辑CMS内容
func PostCmsNews(c *gin.Context) {
var form CmsNewsForm
err := c.Bind(&form)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": types.ApiCode.GetMessage(types.ApiCode.INVALID),
"result": err.Error(),
})
return
}
modelCms := &models.CmsNews{
Id: form.Id,
CatId: form.CatId,
Title: form.Title,
Content: form.Content,
}
//添加
if form.Id == 0 {
err := modelCms.AddCmsNews()
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
} else {
//修改
err := modelCms.SaveCmsNews("id = ?", form.Id)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
}
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
})
}
//删除分类
func DelCmsCate(c *gin.Context) {
id := c.Query("id")
err := models.DelCmsCate("id = ?", id)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
})
}
//删除内容
func DelCmsNews(c *gin.Context) {
id := c.Query("id")
err := models.DelCmsNews("id = ?", id)
if err != nil {
c.JSON(200, gin.H{
"code": types.ApiCode.FAILED,
"msg": err.Error(),
})
return
}
c.JSON(200, gin.H{
"code": types.ApiCode.SUCCESS,
"msg": types.ApiCode.GetMessage(types.ApiCode.SUCCESS),
})
}