productHandler.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package controller
  2. import (
  3. . "app.yhyue.com/moapp/jybase/api"
  4. "encoding/json"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "github.com/gogf/gf/v2/net/ghttp"
  7. "github.com/pkg/errors"
  8. "jyOrderManager/internal/logic/product"
  9. "jyOrderManager/internal/service"
  10. )
  11. // GetProductListHandler 获取商品列表
  12. func GetProductListHandler(r *ghttp.Request) {
  13. rData, err := func() (interface{}, error) {
  14. productList := service.Product().GetList()
  15. var rDataJson []g.Map
  16. bytesArr, err := json.Marshal(productList)
  17. if err != nil {
  18. return nil, errors.Wrap(err, "获取数据异常")
  19. }
  20. if err := json.Unmarshal(bytesArr, &rDataJson); err != nil {
  21. return nil, errors.Wrap(err, "数据结构异常")
  22. }
  23. return nil, nil
  24. }()
  25. if err != nil {
  26. g.Log().Errorf(r.Context(), "获取商品列表出错 %v", err)
  27. }
  28. r.Response.WriteJson(NewResult(rData, err))
  29. }
  30. // GetProductPriceHandler 获取商品价格
  31. func GetProductPriceHandler(r *ghttp.Request) {
  32. rData, err := func() (interface{}, error) {
  33. rj, err := r.GetJson()
  34. pCode := rj.Get("code").String()
  35. pFunc, err := product.JyProFunc.GetProductInitFuncByCode(pCode)
  36. if err != nil {
  37. return "", err
  38. }
  39. product, err := pFunc(rj.Map(), -1)
  40. if err != nil {
  41. return nil, errors.Wrap(err, "获取产品配置异常")
  42. }
  43. price, err := product.GetPrice()
  44. if err != nil {
  45. return nil, errors.Wrap(err, "获取价格异常")
  46. }
  47. return price, nil
  48. }()
  49. if err != nil {
  50. g.Log().Errorf(r.Context(), "获取商品列表出错 %v", err)
  51. }
  52. r.Response.WriteJson(NewResult(rData, err))
  53. }