package controllers import ( "cc-officialweb/models" "cc-officialweb/service" "cc-officialweb/unity" "encoding/json" beego "github.com/beego/beego/v2/server/web" "github.com/go-playground/validator/v10" "strconv" ) type ContactController struct { beego.Controller } func (c *ContactController) Get() { c.Data["IsContact"] = true productType := service.GetProductType() if len(productType) == 0 { c.Data["productFirst"] = "暂无产品分类" } else { c.Data["productFirst"] = productType[0].Name } c.Data["productType"] = productType c.TplName = "contact.html" } // AddContact 提交联系我们信息 func (c *ContactController) AddContact() { var contact models.Contact name := c.GetString("name") phone := c.GetString("phone") message := c.GetString("message") validate := validator.New() err2 := validate.Var(name, "required") err2 = validate.Var(phone, "required") err2 = validate.Var(message, "required") if err2 != nil { c.Data["json"] = &JSON{Code: 102, Msg: "添加失败"} c.ServeJSON() return } contact.Name = name contact.Phone = phone contact.Message = message add, err := unity.Add(&contact) if err != nil { c.Data["json"] = &JSON{Code: 102, Msg: "添加失败"} c.ServeJSON() return } else { c.Data["json"] = &JSON{Code: 200, Msg: "添加成功", Data: add} c.ServeJSON() } } // DeleteContactById 根据id删除联系消息 func (c *ContactController) DeleteContactById() { id := c.GetString("id") atoi, _ := strconv.Atoi(id) validate := validator.New() err2 := validate.Var(atoi, "required") if err2 != nil { c.Data["json"] = &JSON{Code: 103, Msg: "id不能为空"} c.ServeJSON() return } _, err := unity.DeleteById(atoi, models.Contact{}) if err != nil { c.Data["json"] = map[string]interface{}{"code": 101, "msg": "删除失败"} c.ServeJSON() return } else { c.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"} c.ServeJSON() } } // GetAllContact 获取所有联系方式 func (c *ContactController) GetAllContact() { var page unity.PageParams err := json.Unmarshal(c.Ctx.Input.RequestBody, &page) if err != nil { c.Data["json"] = &JSON{Code: 101, Msg: "参数错误"} c.ServeJSON() return } result, total, current, err := unity.Paginate(page, models.Contact{}) if err != nil { c.Data["json"] = &JSON{Code: 101, Msg: "查询失败"} c.ServeJSON() return } else { c.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{ Current: current, Size: total, Data: result, }} c.ServeJSON() return } }