pdd.ddk.goods.pid.query.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 PddDdkGoodsPidQuery(c *gin.Context) {
  12. var inData pdd.PddDdkGoodsPidQueryRequest
  13. var outData pdd.PddDdkGoodsPidQueryResponse
  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. err = c.ShouldBindJSON(&inData)
  21. if err != nil {
  22. app.Error(c, 400, err, err.Error())
  23. return
  24. }
  25. inData.ClientId = confIni.MustValue("pdd", "client_id")
  26. inData.Type = "pdd.ddk.goods.pid.query"
  27. inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix())
  28. inData.DataType = "JSON"
  29. inData.Sign = "sign"
  30. sign, err := DDKSign(inData)
  31. if err != nil {
  32. app.Error(c, 400, err, err.Error())
  33. return
  34. }
  35. inData.Sign = sign
  36. val, err := PostDDk(inData, nil)
  37. if err != nil {
  38. app.Error(c, 400, err, err.Error())
  39. return
  40. }
  41. err = tools.JsonUnmarshal(val, &pddErr)
  42. if err != nil {
  43. app.Error(c, 500, err, err.Error())
  44. return
  45. }
  46. if pddErr.ErrorResponse.ErrorCode != 0 {
  47. app.Error(c, 500, err, pddErr.ErrorResponse.ErrorMsg)
  48. return
  49. }
  50. err = tools.JsonUnmarshal(val, &outData)
  51. if err != nil {
  52. app.Error(c, 500, err, err.Error())
  53. return
  54. }
  55. app.OK(c, outData, app.Success)
  56. }