|
@@ -1,8 +1,16 @@
|
|
|
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"
|
|
|
+ "html/template"
|
|
|
+ "strconv"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
type NewController struct {
|
|
@@ -10,8 +18,156 @@ type NewController struct {
|
|
|
}
|
|
|
|
|
|
func (n *NewController) Get() {
|
|
|
- news := service.GetNews()
|
|
|
-
|
|
|
+ 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
|
|
|
+ }
|
|
|
+}
|