pdd.ddk.goods.search.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. func PddDdkGoodsSearch(c *gin.Context) {
  12. var inData pdd.PddDdkGoodsSearchRequest
  13. var outData pdd.PddDdkGoodsSearchResponse
  14. var pddErr pdd.ErrorPddResponse
  15. confIni, err := conf.ConnIni()
  16. if err != nil {
  17. app.Error(c, 400, err, err.Error())
  18. return
  19. }
  20. inData.ClientId = confIni.MustValue("pdd", "client_id")
  21. inData.Type = "pdd.ddk.goods.search"
  22. inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix())
  23. inData.DataType = "JSON"
  24. inData.Sign = ""
  25. sign, err := DDKSign(inData)
  26. if err != nil {
  27. app.Error(c, 400, err, err.Error())
  28. return
  29. }
  30. inData.Sign = sign
  31. val, err := PostDDk(inData, nil)
  32. if err != nil {
  33. app.Error(c, 400, err, err.Error())
  34. return
  35. }
  36. err = tools.JsonUnmarshal(val, &outData)
  37. if err != nil {
  38. err = tools.JsonUnmarshal(val, &pddErr)
  39. if err != nil {
  40. app.Error(c, 500, err, err.Error())
  41. return
  42. }
  43. app.Error(c, 500, nil, pddErr.ErrorResponse.ErrorMsg)
  44. return
  45. }
  46. app.OK(c, outData, app.Success)
  47. }