package controllers import ( "cc-officialweb/models" "cc-officialweb/unity" "encoding/json" beego "github.com/beego/beego/v2/server/web" "github.com/go-playground/validator/v10" "strconv" ) type LinksController struct { beego.Controller } // AddLinks 添加友情链接 func (l *LinksController) AddLinks() { var linksDto models.LinkDto var link models.Link err := json.Unmarshal(l.Ctx.Input.RequestBody, &linksDto) if err != nil { l.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"} l.ServeJSON() return } link.Title = linksDto.Title link.Url = linksDto.Url link.Sort = linksDto.Sort _, err = unity.Add(&link) if err != nil { l.Data["json"] = &JSON{Code: 101, Msg: "添加失败"} l.ServeJSON() return } else { l.Data["json"] = &JSON{Code: 200, Msg: "添加成功", Data: nil} l.ServeJSON() } } // UpdateLinks 更新友情链接 func (l *LinksController) UpdateLinks() { var linksDto models.LinkDto var link models.Link err := json.Unmarshal(l.Ctx.Input.RequestBody, &linksDto) if err != nil { l.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"} l.ServeJSON() return } link.Title = linksDto.Title link.Url = linksDto.Url link.Sort = linksDto.Sort _, err = unity.UpdateById(linksDto.ID, &link) if err != nil { l.Data["json"] = &JSON{Code: 102, Msg: err.Error()} l.ServeJSON() return } else { l.Data["json"] = &JSON{Code: 200, Msg: "修改成功"} l.ServeJSON() } } // DeleteLinksById 根据id删除产品 func (l *LinksController) DeleteLinksById() { id := l.GetString("id") atoi, _ := strconv.Atoi(id) validate := validator.New() err2 := validate.Var(atoi, "required") if err2 != nil { l.Data["json"] = &JSON{Code: 103, Msg: "id不能为空"} l.ServeJSON() return } _, err := unity.DeleteById(atoi, models.Link{}) if err != nil { l.Data["json"] = map[string]interface{}{"code": 101, "msg": "删除失败"} l.ServeJSON() return } else { l.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"} l.ServeJSON() } } // GetAllLinks 获取所有产品信息 func (l *LinksController) GetAllLinks() { var page unity.PageParams err := json.Unmarshal(l.Ctx.Input.RequestBody, &page) if err != nil { l.Data["json"] = &JSON{Code: 101, Msg: "参数错误"} l.ServeJSON() return } result, total, current, err := unity.Paginate(page, models.Link{}) if err != nil { l.Data["json"] = &JSON{Code: 101, Msg: "查询失败"} l.ServeJSON() return } else { l.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{ Current: current, Size: total, Data: result, }} l.ServeJSON() return } }