| 
					
				 | 
			
			
				@@ -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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |