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), }) }