123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- package controllers
- import (
- "cc-officialweb/models"
- "cc-officialweb/service"
- "cc-officialweb/unity"
- "cc-officialweb/utils"
- "encoding/json"
- beego "github.com/beego/beego/v2/server/web"
- "github.com/go-playground/validator/v10"
- "strconv"
- )
- type NewController struct {
- beego.Controller
- }
- func (n *NewController) Get() {
- types := n.GetString("types")
- news := service.GetNews(types)
- n.Data["News"] = news
- n.TplName = "news.html"
- }
- // NewDetail 根据id获取对应新闻详情
- func (n *NewController) NewDetail() {
- var success []string
- param := n.Ctx.Input.Param(":id")
- atoi, _ := strconv.Atoi(param)
- id, err := unity.GetById(atoi, &models.News{})
- if err == nil {
- n.Data["detail"] = id
- }
- exams := service.GetResource("example")
- for _, v := range exams {
- success = append(success, v.Url)
- }
- n.Data["example"] = success
- n.TplName = "news-detail.html"
- }
- // GetAllNew 获得所有新闻消息
- func (n *NewController) GetAllNew() {
- var page unity.PageParams
- err := json.Unmarshal(n.Ctx.Input.RequestBody, &page)
- if err != nil {
- n.Data["json"] = &JSON{Code: 101, Msg: "参数错误"}
- n.ServeJSON()
- return
- }
- result, total, current, err := unity.Paginate(page, models.News{})
- if err != nil {
- n.Data["json"] = &JSON{Code: 101, Msg: "查询失败"}
- n.ServeJSON()
- return
- } else {
- n.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{
- Current: current,
- Size: total,
- Data: result,
- }}
- n.ServeJSON()
- return
- }
- }
- // GetNewDetail 获得详细新闻
- func (n *NewController) GetNewDetail() {
- getString := n.GetString("id")
- id, _ := strconv.Atoi(getString)
- validate := validator.New()
- err2 := validate.Var(id, "required")
- if err2 != nil {
- n.Data["json"] = &JSON{Code: 103, Msg: "id不能为空"}
- n.ServeJSON()
- return
- }
- result, err := unity.GetById(id, &models.News{})
- if err != nil {
- n.Data["json"] = &JSON{Code: 101, Msg: "获取失败"}
- n.ServeJSON()
- return
- } else {
- n.Data["json"] = &JSON{Code: 200, Msg: "获取成功", Data: result}
- n.ServeJSON()
- return
- }
- }
- // GetNewsType 获取新闻类型
- func (n *NewController) GetNewsType() {
- var news []models.News
- tx := utils.DB.Find(&news)
- if tx.RowsAffected > 0 {
- n.Data["json"] = &JSON{Code: 200, Msg: "获取成功", Data: news}
- n.ServeJSON()
- return
- } else {
- n.Data["json"] = &JSON{Code: 101, Msg: "获取失败"}
- n.ServeJSON()
- return
- }
- }
- // UpdateNews 修改新闻
- func (n *NewController) UpdateNews() {
- var newsdto models.NewsDto
- var news models.News
- err := json.Unmarshal(n.Ctx.Input.RequestBody, &newsdto)
- if err != nil {
- n.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"}
- n.ServeJSON()
- return
- }
- news.Title = newsdto.Title
- news.Detail = newsdto.Detail
- news.Image = newsdto.Image
- news.Synopsis = newsdto.Synopsis
- news.IsActive = newsdto.IsActive
- news.Types = newsdto.Types
- _, err = unity.UpdateById(newsdto.ID, &news)
- if err != nil {
- n.Data["json"] = &JSON{Code: 102, Msg: err.Error()}
- n.ServeJSON()
- return
- } else {
- n.Data["json"] = &JSON{Code: 200, Msg: "修改成功"}
- n.ServeJSON()
- }
- }
- // DeleteNewsById 根据id删除新闻
- func (n *NewController) DeleteNewsById() {
- id := n.GetString("id")
- atoi, _ := strconv.Atoi(id)
- validate := validator.New()
- err2 := validate.Var(atoi, "required")
- if err2 != nil {
- n.Data["json"] = &JSON{Code: 103, Msg: "id不能为空"}
- n.ServeJSON()
- return
- }
- _, err := unity.DeleteById(atoi, models.News{})
- if err != nil {
- n.Data["json"] = map[string]interface{}{"code": 101, "msg": "删除失败"}
- n.ServeJSON()
- return
- } else {
- n.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"}
- n.ServeJSON()
- }
- }
- // AddNews 添加新闻
- func (n *NewController) AddNews() {
- var newsDto models.NewsDto
- err := json.Unmarshal(n.Ctx.Input.RequestBody, &newsDto)
- if err != nil {
- n.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"}
- n.ServeJSON()
- return
- }
- if service.AddNews(newsDto) {
- n.Data["json"] = &JSON{Code: 200, Msg: "添加成功"}
- n.ServeJSON()
- } else {
- n.Data["json"] = &JSON{Code: 102, Msg: "添加失败"}
- n.ServeJSON()
- return
- }
- }
|