product.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package controllers
  2. import (
  3. "cc-officialweb/models"
  4. "cc-officialweb/service"
  5. "cc-officialweb/unity"
  6. "cc-officialweb/utils"
  7. "encoding/json"
  8. beego "github.com/beego/beego/v2/server/web"
  9. "strconv"
  10. )
  11. type ProductController struct {
  12. beego.Controller
  13. }
  14. // Get 产品详情页
  15. func (s *ProductController) Get() {
  16. var success []string
  17. ptype := s.GetString("ptype")
  18. product := service.GetProduct(ptype)
  19. //获取成功案例轮播图
  20. exams := service.GetResource("example")
  21. for _, v := range exams {
  22. success = append(success, v.Url)
  23. }
  24. s.Data["Products"] = product
  25. s.Data["example"] = success
  26. s.TplName = "product.html"
  27. }
  28. // AddProduct 添加产品
  29. func (s *ProductController) AddProduct() {
  30. var product models.ProductDto
  31. err := json.Unmarshal(s.Ctx.Input.RequestBody, &product)
  32. if err != nil {
  33. s.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"}
  34. s.ServeJSON()
  35. return
  36. }
  37. if service.AddProduct(product) {
  38. s.Data["json"] = &JSON{Code: 200, Msg: "添加成功"}
  39. s.ServeJSON()
  40. } else {
  41. s.Data["json"] = &JSON{Code: 102, Msg: "添加失败"}
  42. s.ServeJSON()
  43. return
  44. }
  45. }
  46. // DeleteProductById 根据id删除产品
  47. func (s *ProductController) DeleteProductById() {
  48. id := s.GetString("id")
  49. atoi, _ := strconv.Atoi(id)
  50. _, err := unity.DeleteById(atoi, models.Products{})
  51. if err != nil {
  52. s.Data["json"] = map[string]interface{}{"code": 101, "msg": "删除失败"}
  53. s.ServeJSON()
  54. return
  55. } else {
  56. s.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"}
  57. s.ServeJSON()
  58. }
  59. }
  60. // GetAllProduct 获取所有产品信息
  61. func (s *ProductController) GetAllProduct() {
  62. var page unity.PageParams
  63. err := json.Unmarshal(s.Ctx.Input.RequestBody, &page)
  64. if err != nil {
  65. s.Data["json"] = &JSON{Code: 101, Msg: "参数错误"}
  66. s.ServeJSON()
  67. return
  68. }
  69. result, total, err := unity.Paginate(page, models.Products{})
  70. if err != nil {
  71. s.Data["json"] = &JSON{Code: 101, Msg: "查询失败"}
  72. s.ServeJSON()
  73. return
  74. } else {
  75. s.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{
  76. Total: total,
  77. Data: result,
  78. }}
  79. s.ServeJSON()
  80. return
  81. }
  82. }
  83. // UpdateProductById 根据id进行修改产品
  84. func (s *ProductController) UpdateProductById() {
  85. var productDto models.ProductDto
  86. var product models.Products
  87. //id := s.GetString("id")
  88. //atoi, _ := strconv.Atoi(id)
  89. err := json.Unmarshal(s.Ctx.Input.RequestBody, &product)
  90. if err != nil {
  91. s.Data["json"] = &JSON{Code: 101, Msg: "json解析失败"}
  92. s.ServeJSON()
  93. return
  94. }
  95. utils.CopyWithReflection(&productDto, &product)
  96. _, err = unity.UpdateById(productDto.ID, product)
  97. if err != nil {
  98. s.Data["json"] = &JSON{Code: 200, Msg: "修改成功"}
  99. s.ServeJSON()
  100. return
  101. }
  102. }