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" "strconv" ) type ProductController struct { beego.Controller } // Get 产品详情页 func (s *ProductController) Get() { var success []string ptype := s.GetString("ptype") product := service.GetProduct(ptype) //获取成功案例轮播图 exams := service.GetResource("example") for _, v := range exams { success = append(success, v.Url) } s.Data["Products"] = product s.Data["example"] = success s.TplName = "product.html" } // AddProduct 添加产品 func (s *ProductController) AddProduct() { var product models.ProductDto err := json.Unmarshal(s.Ctx.Input.RequestBody, &product) if err != nil { s.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"} s.ServeJSON() return } if service.AddProduct(product) { s.Data["json"] = &JSON{Code: 200, Msg: "添加成功"} s.ServeJSON() } else { s.Data["json"] = &JSON{Code: 102, Msg: "添加失败"} s.ServeJSON() return } } // DeleteProductById 根据id删除产品 func (s *ProductController) DeleteProductById() { id := s.GetString("id") atoi, _ := strconv.Atoi(id) _, err := unity.DeleteById(atoi, models.Products{}) if err != nil { s.Data["json"] = map[string]interface{}{"code": 101, "msg": "删除失败"} s.ServeJSON() return } else { s.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"} s.ServeJSON() } } // GetAllProduct 获取所有产品信息 func (s *ProductController) GetAllProduct() { var page unity.PageParams err := json.Unmarshal(s.Ctx.Input.RequestBody, &page) if err != nil { s.Data["json"] = &JSON{Code: 101, Msg: "参数错误"} s.ServeJSON() return } result, total, err := unity.Paginate(page, models.Products{}) if err != nil { s.Data["json"] = &JSON{Code: 101, Msg: "查询失败"} s.ServeJSON() return } else { s.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{ Total: total, Data: result, }} s.ServeJSON() return } } // UpdateProductById 根据id进行修改产品 func (s *ProductController) UpdateProductById() { var productDto models.ProductDto var product models.Products //id := s.GetString("id") //atoi, _ := strconv.Atoi(id) err := json.Unmarshal(s.Ctx.Input.RequestBody, &product) if err != nil { s.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"} s.ServeJSON() return } utils.CopyWithReflection(&productDto, &product) _, err = unity.UpdateById(productDto.ID, product) if err != nil { s.Data["json"] = &JSON{Code: 200, Msg: "修改成功"} s.ServeJSON() return } }