pdd.ddk.goods.detail.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package pdd
  2. import (
  3. "duoduo/conf"
  4. "duoduo/models/pdd"
  5. "duoduo/tools"
  6. "duoduo/tools/app"
  7. "fmt"
  8. "github.com/gin-gonic/gin"
  9. "time"
  10. )
  11. //商品详情
  12. func PddDdkGoodsDetail(c *gin.Context) {
  13. var inData pdd.PddDdkGoodsDetailRequest
  14. var outData pdd.PddDdkGoodsDetailResponse
  15. var pddErr pdd.ErrorPddResponse
  16. confIni, err := conf.ConnIni()
  17. if err != nil {
  18. app.Error(c, 400, err, err.Error())
  19. return
  20. }
  21. err = c.ShouldBindJSON(&inData)
  22. if err != nil {
  23. app.Error(c, 400, err, err.Error())
  24. return
  25. }
  26. inData.ClientId = confIni.MustValue("pdd", "client_id")
  27. inData.Type = "pdd.ddk.goods.detail"
  28. inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix())
  29. inData.DataType = "JSON"
  30. inData.Sign = ""
  31. sign, err := DDKSign(inData)
  32. if err != nil {
  33. app.Error(c, 400, err, err.Error())
  34. return
  35. }
  36. inData.Sign = sign
  37. val, err := PostDDk(inData, nil)
  38. if err != nil {
  39. app.Error(c, 400, err, err.Error())
  40. return
  41. }
  42. err = tools.JsonUnmarshal(val, &pddErr)
  43. if err != nil {
  44. app.Error(c, 500, err, err.Error())
  45. return
  46. }
  47. if pddErr.ErrorResponse.ErrorCode != 0 {
  48. app.Error(c, 500, err, pddErr.ErrorResponse.ErrorMsg)
  49. return
  50. }
  51. err = tools.JsonUnmarshal(val, &outData)
  52. if err != nil {
  53. app.Error(c, 500, err, err.Error())
  54. return
  55. }
  56. app.OK(c, outData, app.Success)
  57. }